add parent to pad functions
[platform/upstream/gstreamer.git] / gst / gdp / gstgdpdepay.c
index d5cc81d..6d17ab3 100644 (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 */