GstObject * parent, GstBuffer * buf);
static void gst_ffmpegdemux_loop (GstFFMpegDemux * demux);
-static gboolean gst_ffmpegdemux_sink_activate (GstPad * sinkpad);
-static gboolean
-gst_ffmpegdemux_sink_activate_pull (GstPad * sinkpad, gboolean active);
-static gboolean
-gst_ffmpegdemux_sink_activate_push (GstPad * sinkpad, gboolean active);
+static gboolean gst_ffmpegdemux_sink_activate (GstPad * sinkpad,
+ GstObject * parent);
+static gboolean gst_ffmpegdemux_sink_activate_pull (GstPad * sinkpad,
+ GstObject * parent, gboolean active);
+static gboolean gst_ffmpegdemux_sink_activate_push (GstPad * sinkpad,
+ GstObject * parent, gboolean active);
#if 0
static gboolean
}
static gboolean
-gst_ffmpegdemux_sink_activate (GstPad * sinkpad)
+gst_ffmpegdemux_sink_activate (GstPad * sinkpad, GstObject * parent)
{
GstQuery *query;
gboolean pull_mode;
* - (independently managed) task driving ffmpeg
*/
static gboolean
-gst_ffmpegdemux_sink_activate_push (GstPad * sinkpad, gboolean active)
+gst_ffmpegdemux_sink_activate_push (GstPad * sinkpad, GstObject * parent,
+ gboolean active)
{
GstFFMpegDemux *demux;
gboolean res = FALSE;
- demux = (GstFFMpegDemux *) (gst_pad_get_parent (sinkpad));
+ demux = (GstFFMpegDemux *) (parent);
if (active) {
if (demux->can_push == FALSE) {
}
beach:
- gst_object_unref (demux);
-
return res;
}
* - task driving ffmpeg based on sink pad
*/
static gboolean
-gst_ffmpegdemux_sink_activate_pull (GstPad * sinkpad, gboolean active)
+gst_ffmpegdemux_sink_activate_pull (GstPad * sinkpad, GstObject * parent,
+ gboolean active)
{
GstFFMpegDemux *demux;
gboolean res;
- demux = (GstFFMpegDemux *) (gst_pad_get_parent (sinkpad));
+ demux = (GstFFMpegDemux *) parent;
if (active) {
demux->seekable = TRUE;
demux->seekable = FALSE;
}
- gst_object_unref (demux);
-
return res;
}