After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 792522 - playbin3: Do not deactivated current group when it is earlier deactivated than pad-removed signal
playbin3: Do not deactivated current group when it is earlier deactivated tha...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.12.0
Other Linux
: Normal minor
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-01-15 01:54 UTC by HoonHee Lee
Modified: 2018-02-10 13:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
playbin3: Do not deactivated current group when it is earlier released than pad-removed signal (2.46 KB, patch)
2018-01-15 01:55 UTC, HoonHee Lee
none Details | Review
GST log with level 6 (1.33 MB, application/gzip)
2018-01-15 01:58 UTC, HoonHee Lee
  Details

Description HoonHee Lee 2018-01-15 01:54:10 UTC
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.
Comment 1 HoonHee Lee 2018-01-15 01:55:56 UTC
Created attachment 366809 [details] [review]
playbin3: Do not deactivated current group when it is earlier  released than pad-removed signal

Dear All.
Please check attached GST log and review my patch.
 
Thanks.
Comment 2 HoonHee Lee 2018-01-15 01:58:42 UTC
Created attachment 366810 [details]
GST log with level 6
Comment 3 Edward Hervey 2018-02-10 13:24:15 UTC
Thanks for the patch. This is no longer needed with the playbin3 refactoring that was just pushed to master.