static void gst_ogg_demux_loop (GstOggPad * pad);
static GstFlowReturn gst_ogg_demux_chain (GstPad * pad, GstObject * parent,
GstBuffer * buffer);
-static gboolean gst_ogg_demux_sink_activate (GstPad * sinkpad);
+static gboolean gst_ogg_demux_sink_activate (GstPad * sinkpad,
+ GstObject * parent);
static gboolean gst_ogg_demux_sink_activate_pull (GstPad * sinkpad,
- gboolean active);
+ GstObject * parent, gboolean active);
static gboolean gst_ogg_demux_sink_activate_push (GstPad * sinkpad,
- gboolean active);
+ GstObject * parent, gboolean active);
static GstStateChangeReturn gst_ogg_demux_change_state (GstElement * element,
GstStateChange transition);
* pull based.
*/
static gboolean
-gst_ogg_demux_sink_activate (GstPad * sinkpad)
+gst_ogg_demux_sink_activate (GstPad * sinkpad, GstObject * parent)
{
GstQuery *query;
gboolean pull_mode;
/* this function gets called when we activate ourselves in push mode.
* We cannot seek (ourselves) in the stream */
static gboolean
-gst_ogg_demux_sink_activate_push (GstPad * sinkpad, gboolean active)
+gst_ogg_demux_sink_activate_push (GstPad * sinkpad, GstObject * parent,
+ gboolean active)
{
GstOggDemux *ogg;
- ogg = GST_OGG_DEMUX (GST_OBJECT_PARENT (sinkpad));
+ ogg = GST_OGG_DEMUX (parent);
ogg->pullmode = FALSE;
ogg->resync = FALSE;
* We can perform random access to the resource and we start a task
* to start reading */
static gboolean
-gst_ogg_demux_sink_activate_pull (GstPad * sinkpad, gboolean active)
+gst_ogg_demux_sink_activate_pull (GstPad * sinkpad, GstObject * parent,
+ gboolean active)
{
GstOggDemux *ogg;
- ogg = GST_OGG_DEMUX (GST_OBJECT_PARENT (sinkpad));
+ ogg = GST_OGG_DEMUX (parent);
if (active) {
ogg->need_chains = TRUE;
guint prop_id, GValue * value, GParamSpec * pspec);
static gboolean gst_audio_encoder_sink_activate_push (GstPad * pad,
- gboolean active);
+ GstObject * parent, gboolean active);
static GstCaps *gst_audio_encoder_getcaps_default (GstAudioEncoder * enc,
GstCaps * filter);
static gboolean
-gst_audio_encoder_sink_activate_push (GstPad * pad, gboolean active)
+gst_audio_encoder_sink_activate_push (GstPad * pad, GstObject * parent,
+ gboolean active)
{
gboolean result = TRUE;
GstAudioEncoder *enc;
- enc = GST_AUDIO_ENCODER (gst_pad_get_parent (pad));
+ enc = GST_AUDIO_ENCODER (parent);
GST_DEBUG_OBJECT (enc, "sink activate push %d", active);
GST_DEBUG_OBJECT (enc, "sink activate push return: %d", result);
- gst_object_unref (enc);
return result;
}
static gboolean gst_tag_demux_sink_event (GstPad * pad, GstObject * parent,
GstEvent * event);
-static gboolean gst_tag_demux_src_activate_pull (GstPad * pad, gboolean active);
+static gboolean gst_tag_demux_src_activate_pull (GstPad * pad,
+ GstObject * parent, gboolean active);
static GstFlowReturn gst_tag_demux_read_range (GstTagDemux * tagdemux,
GstObject * parent, guint64 offset, guint length, GstBuffer ** buffer);
static gboolean gst_tag_demux_srcpad_event (GstPad * pad, GstObject * parent,
GstEvent * event);
-static gboolean gst_tag_demux_sink_activate (GstPad * sinkpad);
+static gboolean gst_tag_demux_sink_activate (GstPad * sinkpad,
+ GstObject * parent);
static GstStateChangeReturn gst_tag_demux_change_state (GstElement * element,
GstStateChange transition);
static gboolean gst_tag_demux_pad_query (GstPad * pad, GstObject * parent,
* otherwise activate both pads in push mode and succeed.
*/
static gboolean
-gst_tag_demux_sink_activate (GstPad * sinkpad)
+gst_tag_demux_sink_activate (GstPad * sinkpad, GstObject * parent)
{
GstTypeFindProbability probability = 0;
GstTagDemuxClass *klass;
GstQuery *query;
gboolean pull_mode;
- demux = GST_TAG_DEMUX (GST_PAD_PARENT (sinkpad));
+ demux = GST_TAG_DEMUX (parent);
klass = GST_TAG_DEMUX_CLASS (G_OBJECT_GET_CLASS (demux));
/* 1: */
}
static gboolean
-gst_tag_demux_src_activate_pull (GstPad * pad, gboolean active)
+gst_tag_demux_src_activate_pull (GstPad * pad, GstObject * parent,
+ gboolean active)
{
- GstTagDemux *demux = GST_TAG_DEMUX (GST_PAD_PARENT (pad));
+ GstTagDemux *demux = GST_TAG_DEMUX (parent);
return gst_pad_activate_pull (demux->priv->sinkpad, active);
}