gst/gstghostpad.c: add push activation of sink ghost pads.
authorThomas Vander Stichele <thomas@apestaart.org>
Thu, 6 Oct 2005 07:13:01 +0000 (07:13 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Thu, 6 Oct 2005 07:13:01 +0000 (07:13 +0000)
Original commit message from CVS:
2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
add push activation of sink ghost pads.
Andye, please verify

ChangeLog
gst/gstghostpad.c

index 6c3c387..9405030 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
+         add push activation of sink ghost pads.
+         Andye, please verify
+
 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * gst/gstutils.c: (gst_element_link_pads):
index ee34ea8..91cbca1 100644 (file)
@@ -484,9 +484,17 @@ gst_ghost_pad_internal_do_activate_push (GstPad * pad, gboolean active)
   gboolean ret;
 
   if (GST_PAD_DIRECTION (pad) == GST_PAD_SINK) {
-    g_critical ("how did I get here?");
+    GstPad *parent = GST_PAD (gst_object_get_parent (GST_OBJECT (pad)));
+
+    if (parent) {
+      g_return_val_if_fail (GST_IS_GHOST_PAD (parent), FALSE);
+
+      ret = gst_pad_activate_push (parent, active);
 
-    ret = FALSE;
+      gst_object_unref (parent);
+    } else {
+      ret = FALSE;
+    }
   } else {
     GstPad *peer = gst_pad_get_peer (pad);