[Bug 777729] New: decodebin3: Add input_lock whenever add and remove DecodebinInputStream

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jan 25 03:40:56 UTC 2017


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

            Bug ID: 777729
           Summary: decodebin3: Add input_lock whenever add and remove
                    DecodebinInputStream
    Classification: Platform
           Product: GStreamer
           Version: 1.11.1
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: hoonh83.lee at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Hello All.
When decodebin3 has multiple parsebins, segmentation fault is observed
sometimes when playbin3 pipeline goes to PLAYING to NULL.

---------------------------------------------------
Test Stream: 
http://hls-streamer2-dev.minutv.ee/2d6870d65cd1b616ec04c107288081a9_1467970545web/vod/indur_test_lg/index.m3u8
---------------------------------------------------

Above HLS stream contains 1-video and 2-audio and number of parsebin is 3.

When create_input_stream () function is called at the same time by each pending
pads, one DecodebinInputStream can not be inserted 'dbin->input_streams' list
and other DecodebinInputStream is added to 'dbin->input_streams' list.
So, length of 'dbin->input_streams' it not 3.

Thus, when playbin3 goes to PLAYING to NULL, parsebin_pad_removed_cb ()
function is called but, remove_input_stream () function is not called.
Because, we could not find corresponded DecodebinInputStream from
'dbin->input_streams'.

And then, segmentation fault is happened trying to "gst_pad_unlink
(slot->input->srcpad, slot->sink_pad);" in free_multiqueue_slot () function.

Thanks.

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