From b5c4ad28c1385ee2cdde66f79b1286661ef2ab19 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Thu, 19 Jan 2006 18:06:18 +0000 Subject: [PATCH] gst/gstelement.c: When activating, do src pads first, then sink pads. 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 | 6 ++++++ gst/gstelement.c | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index e43cb172bd..fd513dee00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-01-19 Edward Hervey + + * 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 * docs/gst/gstreamer-sections.txt: diff --git a/gst/gstelement.c b/gst/gstelement.c index c2ca06e119..95000c5f03 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -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);