[Bug 792522] New: Do not deactivated current group when it is earlier deactivated than pad-removed signal

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jan 15 01:54:10 UTC 2018


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

            Bug ID: 792522
           Summary: Do not deactivated current group when it is earlier
                    deactivated than pad-removed signal
    Classification: Platform
           Product: GStreamer
           Version: 1.12.0
                OS: Linux
            Status: NEW
          Severity: minor
          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: ---

Dear All.

I've got abort crash problem when changing state to ready to pause in twice in
playbin3.

Actually, we have 3 appsrc and video, audio and text are feed separately.
However, one of qtdemux can not recognize invalid text (e.g. This file contains
no playable streams) with application/x-3gp.
Then, the last state return for parsebin1 (qtdemux1) has FAILURE.

After that, our player tried to set_state (paused) again in order to 3s
buffering (prerolling).
However, gstelement could not filter same changing state out by FAILURE (old
return) and Playbin3 tried to setup_next_source () and it got
GST_STATE_CHANGE_FAILURE with no_next_group and deactivated current group
immediately.

And g_assert was happened when pad-removed cb (e.g. when playbin3 is unloaded).
g_assert (combine->srcpad == pad);
But, combine->srcpad is already deactivated and unreffed.

So, I wanted to add prevent code in order to solve abort crash problem.

Please refer GST log with level 6.

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