mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-05 02:02:26 +00:00
add parent to pad functions
This commit is contained in:
parent
89af03a2b9
commit
f751de2850
2 changed files with 25 additions and 24 deletions
|
@ -69,10 +69,13 @@ GST_DEBUG_CATEGORY_STATIC (gst_gdp_depay_debug);
|
||||||
G_DEFINE_TYPE_WITH_CODE (GstGDPDepay, gst_gdp_depay,
|
G_DEFINE_TYPE_WITH_CODE (GstGDPDepay, gst_gdp_depay,
|
||||||
GST_TYPE_ELEMENT, _do_init);
|
GST_TYPE_ELEMENT, _do_init);
|
||||||
|
|
||||||
static gboolean gst_gdp_depay_sink_event (GstPad * pad, GstEvent * event);
|
static gboolean gst_gdp_depay_sink_event (GstPad * pad, GstObject * parent,
|
||||||
static gboolean gst_gdp_depay_src_event (GstPad * pad, GstEvent * event);
|
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 *
|
static GstStateChangeReturn gst_gdp_depay_change_state (GstElement *
|
||||||
element, GstStateChange transition);
|
element, GstStateChange transition);
|
||||||
|
@ -141,12 +144,12 @@ gst_gdp_depay_finalize (GObject * gobject)
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_gdp_depay_sink_event (GstPad * pad, GstEvent * event)
|
gst_gdp_depay_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
||||||
{
|
{
|
||||||
GstGDPDepay *this;
|
GstGDPDepay *this;
|
||||||
gboolean res = TRUE;
|
gboolean res = TRUE;
|
||||||
|
|
||||||
this = GST_GDP_DEPAY (gst_pad_get_parent (pad));
|
this = GST_GDP_DEPAY (parent);
|
||||||
|
|
||||||
switch (GST_EVENT_TYPE (event)) {
|
switch (GST_EVENT_TYPE (event)) {
|
||||||
case GST_EVENT_FLUSH_START:
|
case GST_EVENT_FLUSH_START:
|
||||||
|
@ -171,18 +174,17 @@ gst_gdp_depay_sink_event (GstPad * pad, GstEvent * event)
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gst_object_unref (this);
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_gdp_depay_src_event (GstPad * pad, GstEvent * event)
|
gst_gdp_depay_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
||||||
{
|
{
|
||||||
GstGDPDepay *this;
|
GstGDPDepay *this;
|
||||||
gboolean res = TRUE;
|
gboolean res = TRUE;
|
||||||
|
|
||||||
this = GST_GDP_DEPAY (gst_pad_get_parent (pad));
|
this = GST_GDP_DEPAY (parent);
|
||||||
|
|
||||||
switch (GST_EVENT_TYPE (event)) {
|
switch (GST_EVENT_TYPE (event)) {
|
||||||
case GST_EVENT_SEEK:
|
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);
|
res = gst_pad_push_event (this->sinkpad, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gst_object_unref (this);
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
gst_gdp_depay_chain (GstPad * pad, GstBuffer * buffer)
|
gst_gdp_depay_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
|
||||||
{
|
{
|
||||||
GstGDPDepay *this;
|
GstGDPDepay *this;
|
||||||
GstFlowReturn ret = GST_FLOW_OK;
|
GstFlowReturn ret = GST_FLOW_OK;
|
||||||
|
@ -212,7 +213,7 @@ gst_gdp_depay_chain (GstPad * pad, GstBuffer * buffer)
|
||||||
GstEvent *event;
|
GstEvent *event;
|
||||||
guint available;
|
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
|
/* 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
|
* 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:
|
done:
|
||||||
gst_object_unref (this);
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/* ERRORS */
|
/* ERRORS */
|
||||||
|
|
|
@ -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 void gst_gdp_pay_reset (GstGDPPay * this);
|
||||||
|
|
||||||
static GstFlowReturn gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer);
|
static GstFlowReturn gst_gdp_pay_chain (GstPad * pad, GstObject * parent,
|
||||||
static gboolean gst_gdp_pay_src_event (GstPad * pad, GstEvent * event);
|
GstBuffer * buffer);
|
||||||
static gboolean gst_gdp_pay_sink_event (GstPad * pad, GstEvent * event);
|
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 *
|
static GstStateChangeReturn gst_gdp_pay_change_state (GstElement *
|
||||||
element, GstStateChange transition);
|
element, GstStateChange transition);
|
||||||
|
@ -548,7 +551,7 @@ gst_gdp_queue_buffer (GstGDPPay * this, GstBuffer * buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer)
|
gst_gdp_pay_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
|
||||||
{
|
{
|
||||||
GstGDPPay *this;
|
GstGDPPay *this;
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -557,7 +560,7 @@ gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer)
|
||||||
GstBuffer *outbuffer;
|
GstBuffer *outbuffer;
|
||||||
GstFlowReturn ret;
|
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.
|
/* we should have received a new_segment before, otherwise it's a bug.
|
||||||
* fake one in that case */
|
* fake one in that case */
|
||||||
|
@ -636,7 +639,7 @@ gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer)
|
||||||
|
|
||||||
done:
|
done:
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
gst_object_unref (this);
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/* ERRORS */
|
/* ERRORS */
|
||||||
|
@ -671,10 +674,10 @@ no_buffer:
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_gdp_pay_sink_event (GstPad * pad, GstEvent * event)
|
gst_gdp_pay_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
||||||
{
|
{
|
||||||
GstBuffer *outbuffer;
|
GstBuffer *outbuffer;
|
||||||
GstGDPPay *this = GST_GDP_PAY (gst_pad_get_parent (pad));
|
GstGDPPay *this = GST_GDP_PAY (parent);
|
||||||
GstFlowReturn flowret;
|
GstFlowReturn flowret;
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
gboolean ret = TRUE;
|
gboolean ret = TRUE;
|
||||||
|
@ -751,7 +754,6 @@ gst_gdp_pay_sink_event (GstPad * pad, GstEvent * event)
|
||||||
|
|
||||||
done:
|
done:
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
gst_object_unref (this);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -780,12 +782,12 @@ push_error:
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gst_gdp_pay_src_event (GstPad * pad, GstEvent * event)
|
gst_gdp_pay_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
||||||
{
|
{
|
||||||
GstGDPPay *this;
|
GstGDPPay *this;
|
||||||
gboolean res = TRUE;
|
gboolean res = TRUE;
|
||||||
|
|
||||||
this = GST_GDP_PAY (gst_pad_get_parent (pad));
|
this = GST_GDP_PAY (parent);
|
||||||
|
|
||||||
switch (GST_EVENT_TYPE (event)) {
|
switch (GST_EVENT_TYPE (event)) {
|
||||||
case GST_EVENT_SEEK:
|
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);
|
res = gst_pad_push_event (this->sinkpad, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gst_object_unref (this);
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue