[Bug 780588] New: flvdemux plugin tampers with the timestamps

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Mar 27 11:56:16 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=780588

            Bug ID: 780588
           Summary: flvdemux plugin tampers with the timestamps
    Classification: Platform
           Product: GStreamer
           Version: 1.x
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: joris.guisson at esaturnus.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 348793
  --> https://bugzilla.gnome.org/attachment.cgi?id=348793&action=edit
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.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list