gst/gstelement.c: Small tweak, element in ASYNC remains ASYNC.
authorWim Taymans <wim.taymans@gmail.com>
Fri, 30 Sep 2005 08:29:02 +0000 (08:29 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 30 Sep 2005 08:29:02 +0000 (08:29 +0000)
Original commit message from CVS:
* gst/gstelement.c: (gst_element_set_state),
(gst_element_change_state):
Small tweak, element in ASYNC remains ASYNC.

ChangeLog
gst/gstelement.c

index b44de28..f98c3a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2005-09-30  Wim Taymans  <wim@fluendo.com>
 
+       * gst/gstelement.c: (gst_element_set_state),
+       (gst_element_change_state):
+       Small tweak, element in ASYNC remains ASYNC.
+
+2005-09-30  Wim Taymans  <wim@fluendo.com>
+
        * gst/base/gstbasesink.c: (gst_base_sink_change_state):
        Only error is an error.
 
index 6a368dd..aeeb6eb 100644 (file)
@@ -1854,6 +1854,10 @@ gst_element_set_state (GstElement * element, GstState state)
      * the STATE_LOCK */
     gst_element_commit_state (element);
     gst_element_lost_state (element);
+    if (state == GST_STATE_PENDING (element)) {
+      GST_STATE_UNLOCK (element);
+      return GST_STATE_CHANGE_ASYNC;
+    }
   }
 
   /* start with the current state */
@@ -2094,7 +2098,6 @@ was_ok:
     else
       return GST_STATE_CHANGE_SUCCESS;
   }
-
 }
 
 /**