gst/gstbin.c: Correctly set the next state if all of our async children commited...
authorWim Taymans <wim.taymans@gmail.com>
Sun, 14 Oct 2007 15:54:02 +0000 (15:54 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Sun, 14 Oct 2007 15:54:02 +0000 (15:54 +0000)
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_done):
Correctly set the next state if all of our async children commited their
state. This makes sure we can actually cancel the state change in
progress. Fixes a regression in Rhythmbox when seeking.

ChangeLog
gst/gstbin.c

index 682a173..cd0b398 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
+
+       * gst/gstbin.c: (bin_handle_async_done):
+       Correctly set the next state if all of our async children commited their
+       state. This makes sure we can actually cancel the state change in
+       progress. Fixes a regression in Rhythmbox when seeking.
+
 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst/gstbin.c:
index 469e80b..ec94eb7 100644 (file)
@@ -2583,6 +2583,7 @@ bin_handle_async_done (GstBin * bin, GstStateChangeReturn ret)
     cont->pending = pending;
     /* mark busy */
     GST_STATE_RETURN (bin) = GST_STATE_CHANGE_ASYNC;
+    GST_STATE_NEXT (bin) = pending;
   }
 
   if (old_next != GST_STATE_PLAYING) {