[Bug 757575] New: gstbaseparse buf DISCONT issue

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Nov 4 02:10:46 PST 2015


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

            Bug ID: 757575
           Summary: gstbaseparse buf DISCONT issue
    Classification: Platform
           Product: GStreamer
           Version: 1.6.0
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: lyon.wang at freescale.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

When we are update gstreamer from 1.4.5 to 1.6, we found some clips with mp3
audio cannot be played.
So we have a check and found that in gstbaseparse, there may be some
modification can be made.

In gstbaseparse, The chain in buffer is pushed into adapter, and then send to
subclass by tmpbuf (gstbuffer) frame by frame.
There is a commit which use new API to get buffer from adapter.
commit c3bcbadd5452d5b3450f70e49dad3e64f14de00a
Author: Sebastian Dr枚ge <sebastian at centricular.com>
Date:   Tue Jun 30 11:18:24 2015 +0200
    baseparse: Use new gst_adapter_get_buffer() API instead of
gst_adapter_map()  
    This preserves GstMeta properly unless the subclass does special things

and The gst_adapter_get_buffer() will preserve all meta in adapter including
GST_BUFFER_FLAG_DISCONT flag. So if the first chain in buffer contains several
frames, these several frames will be sent to downstream with DISCONT flag. 

However, the DISCONT flag is only needed for the first frame push to
downstream, if the 2nd frame (and after 2nd frame) includes DISCONT flag, then
audiodecoder may do flush operation, and which can make audio decoder subclass
can not get enough data.

-- 
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