add parent to pad functions

This commit is contained in:
Wim Taymans 2011-11-17 12:48:25 +01:00 committed by Tim-Philipp Müller
parent 89af03a2b9
commit f751de2850
2 changed files with 25 additions and 24 deletions

View file

@ -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 */

View file

@ -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;
}