After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 780588 - flvdemux plugin tampers with the timestamps
flvdemux plugin tampers with the timestamps
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-03-27 11:56 UTC by Joris Guisson
Modified: 2018-11-03 15:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
temporary workaround (953 bytes, patch)
2017-03-27 11:56 UTC, Joris Guisson
none Details | Review

Description Joris Guisson 2017-03-27 11:56:16 UTC
Created attachment 348793 [details] [review]
temporary workaround

The flvdemux plugin messes with the timestamps, when it sees a large enough gap between two frames, it adjusts the timestamps of all the following packages, to make it appear that the gap never happened.

This is extremely problematic for the audiobasesink, because that one uses the timestamps to determine where to write the audio data in the ring buffer. And if the audio data is before the current read pointer, it just silently drops the data. 

So if you have a situation where something is publishing an audio stream on a media server, and you listen to it. If the publisher has a network hickup, which causes a large enough gap in the timestamps, suddenly the flvdemuxer, will pretend that nothing happened, and the audio output stops.

I have applied the attached patch to work around this problem.

So the question is, why is this behavior needed in the flvdemux plugin ? Because it is clearly not compatible with audiobasesink.
Comment 1 GStreamer system administrator 2018-11-03 15:17:39 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/358.