[Bug 668097] New: [subtitleoverlay] fix state change stall on PAUSED->READY->PAUSED (patch)
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Jan 17 06:42:47 PST 2012
https://bugzilla.gnome.org/show_bug.cgi?id=668097
GStreamer | gst-plugins-base | 0.10.x
Summary: [subtitleoverlay] fix state change stall on
PAUSED->READY->PAUSED (patch)
Classification: Platform
Product: GStreamer
Version: 0.10.x
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: anssi at mageia.org
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=205448)
--> (https://bugzilla.gnome.org/attachment.cgi?id=205448)
Test program for subtitleoverlay state change stall
After a PAUSED->READY change the sink pads are currently not set to
blocking state. When the element is set back to PAUSED, the change will
be done asynchronously, but as the _pad_blocked_cb() callback is now not
called, the state change never completes.
Fix that by setting the sink pads to blocking state on a PAUSED->READY
change, which ensures that the _pad_blocked_cb() is called when needed
on any future READY->PAUSED change. The sink pads are already put to
blocking state on NULL->READY change, so this behavior is consistent.
Git-formatted patch attached, and a simple quickly-hacked-up test program I
used which does NULL->READY->PAUSED->READY->PAUSED, useful with
GST_DEBUG="*:2,GST_STATES:4,subtitleoverlay:5".
I tested the patch with 0.10.32 gst+plugins-base, and it seems to fix the
issue.
This is the first time I've looked at GST, so be sure to double-check I
understood everything correctly :)
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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