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 491722 - [playbin] regression: crash with external subtitles
[playbin] regression: crash with external subtitles
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal blocker
: 0.10.15
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-10-30 14:03 UTC by Tim-Philipp Müller
Modified: 2007-11-06 11:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
hack around the problem (1.41 KB, patch)
2007-11-05 15:39 UTC, Tim-Philipp Müller
committed Details | Review

Description Tim-Philipp Müller 2007-10-30 14:03:01 UTC
Trying to use playbin with external subtitles crashes for me with CVS:

 gst-launch-0.10 playbin uri=file:///path/foo.avi  suburi=file:///path/foo.srt

in queue_threshold_reached() because get_active_group() returns NULL.

Everything works fine if I add a simple if(!group)return , but that doesn't look like the right solution.

I wonder if queue_threshold_reached() should have been called at all given that group_commit() has already been called via no_more_pads_full() from new_decoded_pad_full().

I also wonder if queue_threshold_reached() shouldn't take the group lock before calling _get_active_group()?
Comment 1 Tim-Philipp Müller 2007-11-02 12:30:49 UTC
This seems to have been caused by the patch in bug #465015.

Comment 2 Tim-Philipp Müller 2007-11-05 15:39:49 UTC
Created attachment 98568 [details] [review]
hack around the problem
Comment 3 Jan Schmidt 2007-11-05 22:50:15 UTC
I believe you. Patch looks good to me
Comment 4 Tim-Philipp Müller 2007-11-06 11:10:19 UTC
Committed:

 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>

        * gst/playback/gstplaybasebin.c: (queue_threshold_reached),
          (finish_source):
          Avoid crash when there are external subtitles (fixes #491722).