gst/gstelement.c: When activating, do src pads first, then sink pads.
authorEdward Hervey <bilboed@bilboed.com>
Thu, 19 Jan 2006 18:06:18 +0000 (18:06 +0000)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 19 Jan 2006 18:06:18 +0000 (18:06 +0000)
Original commit message from CVS:
* gst/gstelement.c: (gst_element_pads_activate):
When activating, do src pads first, then sink pads.
When de-activating, do sink pads first, then src pads.

ChangeLog
gst/gstelement.c

index e43cb172bd42e5597394a63e4f18a8dd7db67a62..fd513dee00ede1a21ea908bc4996d24406207b3d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-01-19  Edward Hervey  <edward@fluendo.com>
+
+       * gst/gstelement.c: (gst_element_pads_activate): 
+       When activating, do src pads first, then sink pads.
+       When de-activating, do sink pads first, then src pads.
+
 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
 
        * docs/gst/gstreamer-sections.txt:
index c2ca06e119b89c320001a8b60e91afd47a8597de..95000c5f031557e0b89b0c771b9e92672cfc3e00 100644 (file)
@@ -2279,7 +2279,10 @@ gst_element_pads_activate (GstElement * element, gboolean active)
   g_value_init (&ret, G_TYPE_BOOLEAN);
   g_value_set_boolean (&ret, TRUE);
 
-  iter = gst_element_iterate_src_pads (element);
+  if (active)
+    iter = gst_element_iterate_src_pads (element);
+  else
+    iter = gst_element_iterate_sink_pads (element);
   fold_ok = iterator_fold_with_resync
       (iter, (GstIteratorFoldFunction) activate_pads, &ret, &active);
   gst_iterator_free (iter);
@@ -2288,7 +2291,10 @@ gst_element_pads_activate (GstElement * element, gboolean active)
     return FALSE;
   }
 
-  iter = gst_element_iterate_sink_pads (element);
+  if (active)
+    iter = gst_element_iterate_sink_pads (element);
+  else
+    iter = gst_element_iterate_src_pads (element);
   fold_ok = iterator_fold_with_resync
       (iter, (GstIteratorFoldFunction) activate_pads, &ret, &active);
   gst_iterator_free (iter);