[Bug 778164] New: Don't switch track and use future list if active stream is not ready

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Feb 4 05:05:23 UTC 2017


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

            Bug ID: 778164
           Summary: Don't switch track and use future list if active
                    stream is not ready
    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: ---

Created attachment 344911
  --> https://bugzilla.gnome.org/attachment.cgi?id=344911&action=edit
Log for decodebin3

Hello All.
Segmentation fault is happened sometimes when audio track is changed
immediately after initial prerolling(async-done) is completed.

Collection information. 
========================================================
cat gst.log | grep "gstdecodebin3.c" | grep "handle_stream_collection"
0:00:01.978901460  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1459:handle_stream_collection:<decodebin3-0> Setting collection
0x72b12928 on input 0x178470
0:00:01.978947501  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1467:handle_stream_collection: Received Stream Collection.
Upstream_id : 700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d
0:00:01.978968251  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1468:handle_stream_collection: From input 0x178470
0:00:01.979002043  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1469:handle_stream_collection:   3 streams
0:00:01.979026126  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1475:handle_stream_collection:    Stream
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/001'
0:00:01.979048001  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1477:handle_stream_collection:      type  : video
0:00:01.979067460  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1478:handle_stream_collection:      flags : 0x0
0:00:01.979131168  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1480:handle_stream_collection:      tags  : taglist,
video-codec=(string)"H.264\ /\ AVC", track-id=(uint)1;
0:00:01.979178210  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1482:handle_stream_collection:      caps  : video/x-h264,
stream-format=(string)avc, alignment=(string)au, container=(string)"ISO\
MP4/M4A", format=(string)avc1, timestamptype=(boolean)true, level=(string)4,
profile=(string)high,
codec_data=(buffer)01640028ffe1002f67640028ac2ce5014016ec0502000007d0000186a1d180043280017d7d7bdf1a30008650002fafaf7be1f08844858001000468ffbcb0fdf8f800,
width=(int)1280, height=(int)720, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)1/1
0:00:01.979302293  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1475:handle_stream_collection:    Stream
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/002'
0:00:01.979323751  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1477:handle_stream_collection:      type  : audio
0:00:01.979342626  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1478:handle_stream_collection:      flags : 0x0
0:00:01.979362168  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1480:handle_stream_collection:      tags  : taglist,
audio-codec=(string)"EAC-3\ audio", language-code=(string)de, track-id=(uint)2;
0:00:01.979397251  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1482:handle_stream_collection:      caps  : audio/x-eac3,
framed=(boolean)true, rate=(int)48000, channels=(int)2
0:00:01.979447418  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1475:handle_stream_collection:    Stream
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/003'
0:00:01.979469918  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1477:handle_stream_collection:      type  : audio
0:00:01.979489085  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1478:handle_stream_collection:      flags : 0x0
0:00:01.979508335  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1480:handle_stream_collection:      tags  : taglist,
audio-codec=(string)"EAC-3\ audio", language-code=(string)en, track-id=(uint)3;
0:00:01.979543376  4249   0x2f9c60 DEBUG             decodebin3
gstdecodebin3.c:1482:handle_stream_collection:      caps  : audio/x-eac3,
framed=(boolean)true, rate=(int)48000, channels=(int)2
========================================================

Active stream of multiqueue0:src_2(2nd audio track) is ready after changing
audio track. Thus, Crash is happened.
========================================================
0:00:02.261227918  4249   0x241d80 DEBUG             decodebin3
gstdecodebin3.c:1754:multiqueue_src_probe:<multiqueue0:src_2> Got event
0x721aee70 stream-start
0:00:02.261315293  4249   0x241d80 DEBUG             decodebin3
gstdecodebin3.c:1768:multiqueue_src_probe:<multiqueue0:src_2> Stream Start
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/003'
0:00:02.261372293  4249   0x241d80 DEBUG             decodebin3
gstdecodebin3.c:1754:multiqueue_src_probe:<multiqueue0:src_2> Got event
0x71706188 caps
========================================================


========================================================
cat gst.log | grep "gstdecodebin3.c" | grep "handle_stream_switch"
0:00:02.228173001  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2555:handle_stream_switch:<decodebin3-0> Checking stream
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/001'
0:00:02.228201335  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2572:handle_stream_switch:<decodebin3-0> Stream
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/001' from
slot 0x721b9510 is already active on output 0x71700d40
0:00:02.228231543  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2555:handle_stream_switch:<decodebin3-0> Checking stream
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/003'
0:00:02.228256668  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2567:handle_stream_switch:<decodebin3-0> We need to activate
slot 0x721bb8c0 for stream
'700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/003')
0:00:02.228379793  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2599:handle_stream_switch:<decodebin3-0> Slot 0x721b9cd0
(700b33270de0626842783cd41367760d89e939be6afa274c89f726e21284095d/002) should
be deactivated, no longer used
0:00:02.228405710  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2606:handle_stream_switch:<decodebin3-0> Check if we can
reassign slots
0:00:02.228424543  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2618:handle_stream_switch:<decodebin3-0> Checking if slot to
deactivate (0x721b9cd0) has a candidate slot to activate
0:00:02.228446918  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2621:handle_stream_switch:<decodebin3-0> Comparing to slot
0x721bb8c0
0:00:02.228467668  4249    0x8cac0 DEBUG             decodebin3
gstdecodebin3.c:2623:handle_stream_switch:<decodebin3-0> Re-using
======================================================

Following code is crash point in handle_stream_switch ().
=====================================
to_reassign = g_list_append (to_reassign, (gchar *)
              gst_stream_get_stream_id (slot_to_activate->active_stream));
=====================================

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