[gstreamer-bugs] [Bug 318116] New: new state change patch
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Thu Oct 6 06:55:00 PDT 2005
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=318116
GStreamer | gstreamer (core) | Ver: HEAD CVS
Summary: new state change patch
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: wim at fluendo.com
QAContact: gstreamer-bugs at lists.sourceforge.net
CC: all-bugs at bugzilla.gnome.org
current state change design is rather awkward for the programmer. When doing a
state change to PLAYING, for example, the set_state() function stops performing
the state change as soon as it receives ASYNC. The programmer is then supposed
to perform the next state changes manually. GstPipeline also does a blocking
wait to reach the final state change, which might be infinite in case of errors.
Performing downward state changes might block indefinatly in a similar way and
require the application programmer to be prepared to handle ASYNC state changes.
GstBin and subclasses also don't post state change messages automatically after
completing the state change unless explicitly polled for with
gst_element_get_state() which is again blocking.
Various hacks exist to work around these problems in gstutils.c
(gst_element_set_state_async and gst_bin_watch_for_state_change which both spawn
threads).
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are the QA contact for the bug.
More information about the Gstreamer-bugs
mailing list