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 777729 - decodebin3: Add input_lock whenever add and remove DecodebinInputStream
decodebin3: Add input_lock whenever add and remove DecodebinInputStream
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.11.1
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-01-25 03:40 UTC by HoonHee Lee
Modified: 2018-11-03 11:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add input lock whenerver input streams are added and removed (2.29 KB, patch)
2017-01-25 03:45 UTC, HoonHee Lee
none Details | Review

Description HoonHee Lee 2017-01-25 03:40:56 UTC
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.
Comment 1 HoonHee Lee 2017-01-25 03:45:19 UTC
Created attachment 344197 [details] [review]
Add input lock whenerver input streams are added and removed

Dear All.
Please review my patch.
 
Thanks.
Comment 2 GStreamer system administrator 2018-11-03 11:54:15 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/333.