[Gstreamer-bugs] [Bug 120127] New - Improve handling of state change events.
bugzilla-daemon at widget.gnome.org
bugzilla-daemon at widget.gnome.org
Mon Aug 18 03:23:45 PDT 2003
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
http://bugzilla.gnome.org/show_bug.cgi?id=120127
Changed by ramon at jl1.quim.ucm.es.
--- shadow/120127 Mon Aug 18 06:23:45 2003
+++ shadow/120127.tmp.31517 Mon Aug 18 06:23:45 2003
@@ -0,0 +1,34 @@
+Bug#: 120127
+Product: GStreamer
+Version: HEAD CVS
+OS: Linux
+OS Details:
+Status: NEW
+Resolution:
+Severity: enhancement
+Priority: Normal
+Component: gstreamer (core)
+AssignedTo: gstreamer-maint at bugzilla.gnome.org
+ReportedBy: ramon at jl1.quim.ucm.es
+QAContact: gstreamer-maint at bugzilla.gnome.org
+TargetMilestone: HEAD
+URL:
+Summary: Improve handling of state change events.
+
+Currently, when a state change event cannot enter an element that is
+blocked, for example, a network source element waiting for data. This is
+the case even if the element is contained in a dedicated thread.
+
+Let us see the case when the element has a dedicated thread. The thread bin
+receives the state change event in gst_thread_change_state. This function
+calls gst_catch_thread, and therefore it is blocked until the thread is in
+the main event loop.
+
+This means that the element author should refrain from making a plugin
+blocking. This goes against the philosophy of GStreamer of putting the
+complexity in the infraestructure rather than in each element.
+
+I suggest to remove gst_catch_thread; instead insuring that the action of
+changing the state is thread safe.
+
+Ramon.
More information about the Gstreamer-bugs
mailing list