From f751de28503325dec861c78193062c98236165a2 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 17 Nov 2011 12:48:25 +0100 Subject: [PATCH] add parent to pad functions --- gst/gdp/gstgdpdepay.c | 24 ++++++++++++------------ gst/gdp/gstgdppay.c | 25 +++++++++++++------------ 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/gst/gdp/gstgdpdepay.c b/gst/gdp/gstgdpdepay.c index d5cc81d37d..6d17ab3d7b 100644 --- a/gst/gdp/gstgdpdepay.c +++ b/gst/gdp/gstgdpdepay.c @@ -69,10 +69,13 @@ GST_DEBUG_CATEGORY_STATIC (gst_gdp_depay_debug); G_DEFINE_TYPE_WITH_CODE (GstGDPDepay, gst_gdp_depay, GST_TYPE_ELEMENT, _do_init); -static gboolean gst_gdp_depay_sink_event (GstPad * pad, GstEvent * event); -static gboolean gst_gdp_depay_src_event (GstPad * pad, GstEvent * event); +static gboolean gst_gdp_depay_sink_event (GstPad * pad, GstObject * parent, + GstEvent * event); +static gboolean gst_gdp_depay_src_event (GstPad * pad, GstObject * parent, + GstEvent * event); -static GstFlowReturn gst_gdp_depay_chain (GstPad * pad, GstBuffer * buffer); +static GstFlowReturn gst_gdp_depay_chain (GstPad * pad, GstObject * parent, + GstBuffer * buffer); static GstStateChangeReturn gst_gdp_depay_change_state (GstElement * element, GstStateChange transition); @@ -141,12 +144,12 @@ gst_gdp_depay_finalize (GObject * gobject) } static gboolean -gst_gdp_depay_sink_event (GstPad * pad, GstEvent * event) +gst_gdp_depay_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) { GstGDPDepay *this; gboolean res = TRUE; - this = GST_GDP_DEPAY (gst_pad_get_parent (pad)); + this = GST_GDP_DEPAY (parent); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_FLUSH_START: @@ -171,18 +174,17 @@ gst_gdp_depay_sink_event (GstPad * pad, GstEvent * event) gst_event_unref (event); break; } - gst_object_unref (this); return res; } static gboolean -gst_gdp_depay_src_event (GstPad * pad, GstEvent * event) +gst_gdp_depay_src_event (GstPad * pad, GstObject * parent, GstEvent * event) { GstGDPDepay *this; gboolean res = TRUE; - this = GST_GDP_DEPAY (gst_pad_get_parent (pad)); + this = GST_GDP_DEPAY (parent); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_SEEK: @@ -197,13 +199,12 @@ gst_gdp_depay_src_event (GstPad * pad, GstEvent * event) res = gst_pad_push_event (this->sinkpad, event); break; } - gst_object_unref (this); return res; } static GstFlowReturn -gst_gdp_depay_chain (GstPad * pad, GstBuffer * buffer) +gst_gdp_depay_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer) { GstGDPDepay *this; GstFlowReturn ret = GST_FLOW_OK; @@ -212,7 +213,7 @@ gst_gdp_depay_chain (GstPad * pad, GstBuffer * buffer) GstEvent *event; guint available; - this = GST_GDP_DEPAY (gst_pad_get_parent (pad)); + this = GST_GDP_DEPAY (parent); /* On DISCONT, get rid of accumulated data. We assume a buffer after the * DISCONT contains (part of) a new valid header, if not we error because we @@ -386,7 +387,6 @@ gst_gdp_depay_chain (GstPad * pad, GstBuffer * buffer) } done: - gst_object_unref (this); return ret; /* ERRORS */ diff --git a/gst/gdp/gstgdppay.c b/gst/gdp/gstgdppay.c index 6c59dface5..b9c3cbc787 100644 --- a/gst/gdp/gstgdppay.c +++ b/gst/gdp/gstgdppay.c @@ -75,9 +75,12 @@ G_DEFINE_TYPE_WITH_CODE (GstGDPPay, gst_gdp_pay, GST_TYPE_ELEMENT, _do_init); static void gst_gdp_pay_reset (GstGDPPay * this); -static GstFlowReturn gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer); -static gboolean gst_gdp_pay_src_event (GstPad * pad, GstEvent * event); -static gboolean gst_gdp_pay_sink_event (GstPad * pad, GstEvent * event); +static GstFlowReturn gst_gdp_pay_chain (GstPad * pad, GstObject * parent, + GstBuffer * buffer); +static gboolean gst_gdp_pay_src_event (GstPad * pad, GstObject * parent, + GstEvent * event); +static gboolean gst_gdp_pay_sink_event (GstPad * pad, GstObject * parent, + GstEvent * event); static GstStateChangeReturn gst_gdp_pay_change_state (GstElement * element, GstStateChange transition); @@ -548,7 +551,7 @@ gst_gdp_queue_buffer (GstGDPPay * this, GstBuffer * buffer) } static GstFlowReturn -gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer) +gst_gdp_pay_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer) { GstGDPPay *this; #if 0 @@ -557,7 +560,7 @@ gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer) GstBuffer *outbuffer; GstFlowReturn ret; - this = GST_GDP_PAY (gst_pad_get_parent (pad)); + this = GST_GDP_PAY (parent); /* we should have received a new_segment before, otherwise it's a bug. * fake one in that case */ @@ -636,7 +639,7 @@ gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer) done: gst_buffer_unref (buffer); - gst_object_unref (this); + return ret; /* ERRORS */ @@ -671,10 +674,10 @@ no_buffer: } static gboolean -gst_gdp_pay_sink_event (GstPad * pad, GstEvent * event) +gst_gdp_pay_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) { GstBuffer *outbuffer; - GstGDPPay *this = GST_GDP_PAY (gst_pad_get_parent (pad)); + GstGDPPay *this = GST_GDP_PAY (parent); GstFlowReturn flowret; GstCaps *caps; gboolean ret = TRUE; @@ -751,7 +754,6 @@ gst_gdp_pay_sink_event (GstPad * pad, GstEvent * event) done: gst_event_unref (event); - gst_object_unref (this); return ret; @@ -780,12 +782,12 @@ push_error: } static gboolean -gst_gdp_pay_src_event (GstPad * pad, GstEvent * event) +gst_gdp_pay_src_event (GstPad * pad, GstObject * parent, GstEvent * event) { GstGDPPay *this; gboolean res = TRUE; - this = GST_GDP_PAY (gst_pad_get_parent (pad)); + this = GST_GDP_PAY (parent); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_SEEK: @@ -800,7 +802,6 @@ gst_gdp_pay_src_event (GstPad * pad, GstEvent * event) res = gst_pad_push_event (this->sinkpad, event); break; } - gst_object_unref (this); return res; }