gst/elements/gsttee.c: Let's not iterate pads we're not interested in, it avoids...
authorEdward Hervey <bilboed@bilboed.com>
Fri, 30 Sep 2005 15:43:03 +0000 (15:43 +0000)
committerEdward Hervey <bilboed@bilboed.com>
Fri, 30 Sep 2005 15:43:03 +0000 (15:43 +0000)
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
Let's not iterate pads we're not interested in, it avoids getting
sky-high refcounts on sinkpad.

ChangeLog
gst/elements/gsttee.c
plugins/elements/gsttee.c

index f98c3a2..fb9bff7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-09-30  Edward Hervey  <edward@fluendo.com>
+
+       * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
+       Let's not iterate pads we're not interested in, it avoids getting 
+       sky-high refcounts on sinkpad.
+
 2005-09-30  Wim Taymans  <wim@fluendo.com>
 
        * gst/gstelement.c: (gst_element_set_state),
index a0cfc60..d97337b 100644 (file)
@@ -260,9 +260,6 @@ gst_tee_do_push (GstPad * pad, GValue * ret, PushData * data)
 {
   GstFlowReturn res;
 
-  if (GST_PAD_DIRECTION (pad) != GST_PAD_SRC || !GST_PAD_IS_USABLE (pad))
-    return TRUE;
-
   if (G_UNLIKELY (!data->tee->silent)) {
     GstTee *tee = data->tee;
     GstBuffer *buf = data->buffer;
@@ -293,7 +290,7 @@ gst_tee_handle_buffer (GstTee * tee, GstBuffer * buffer)
   tee->offset += GST_BUFFER_SIZE (buffer);
 
   g_value_init (&ret, GST_TYPE_FLOW_RETURN);
-  iter = gst_element_iterate_pads (GST_ELEMENT (tee));
+  iter = gst_element_iterate_src_pads (GST_ELEMENT (tee));
   data.tee = tee;
   data.buffer = buffer;
 
index a0cfc60..d97337b 100644 (file)
@@ -260,9 +260,6 @@ gst_tee_do_push (GstPad * pad, GValue * ret, PushData * data)
 {
   GstFlowReturn res;
 
-  if (GST_PAD_DIRECTION (pad) != GST_PAD_SRC || !GST_PAD_IS_USABLE (pad))
-    return TRUE;
-
   if (G_UNLIKELY (!data->tee->silent)) {
     GstTee *tee = data->tee;
     GstBuffer *buf = data->buffer;
@@ -293,7 +290,7 @@ gst_tee_handle_buffer (GstTee * tee, GstBuffer * buffer)
   tee->offset += GST_BUFFER_SIZE (buffer);
 
   g_value_init (&ret, GST_TYPE_FLOW_RETURN);
-  iter = gst_element_iterate_pads (GST_ELEMENT (tee));
+  iter = gst_element_iterate_src_pads (GST_ELEMENT (tee));
   data.tee = tee;
   data.buffer = buffer;