From 6da6bc4530ed73e4524411fc1547fca50eb24e81 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 30 Jun 2005 11:39:34 +0000 Subject: [PATCH] gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy activate_push down to the internal pad as well. Original commit message from CVS: 2005-06-30 Andy Wingo * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy activate_push down to the internal pad as well. --- ChangeLog | 5 +++++ gst/gstghostpad.c | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/ChangeLog b/ChangeLog index ef65576215..900d034eed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-06-30 Andy Wingo + + * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy + activate_push down to the internal pad as well. + 2005-06-30 Torsten Schoenfeld Reviewed by: Ronald S. Bultje diff --git a/gst/gstghostpad.c b/gst/gstghostpad.c index ed76c3ebf2..0aa5dd1685 100644 --- a/gst/gstghostpad.c +++ b/gst/gstghostpad.c @@ -506,6 +506,26 @@ gst_ghost_proxy_pad_do_activate_pull (GstPad * pad, gboolean active) return ret; } +static gboolean +gst_ghost_pad_do_activate_push (GstPad * pad, gboolean active) +{ + GstPad *internal; + gboolean ret; + + ret = gst_proxy_pad_do_activatepush (pad, active); + + GST_LOCK (pad); + + internal = GST_GHOST_PAD (pad)->internal; + + if (internal) + ret &= gst_pad_activate_push (internal, active); + + GST_UNLOCK (pad); + + return ret; +} + static GstPadLinkReturn gst_ghost_pad_do_link (GstPad * pad, GstPad * peer) { @@ -680,6 +700,7 @@ gst_ghost_pad_new (const gchar * name, GstPad * target) "direction", GST_PAD_DIRECTION (target), "template", GST_PAD_PAD_TEMPLATE (target), "target", target, NULL); + gst_pad_set_activatepush_function (ret, gst_ghost_pad_do_activate_push); gst_pad_set_link_function (ret, gst_ghost_pad_do_link); gst_pad_set_unlink_function (ret, gst_ghost_pad_do_unlink);