From 8cc2e1a76bede42099cd03cbb5e351aac63ea4b4 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Sat, 15 Aug 2015 07:18:07 -0300 Subject: avviddec: let videodecoder call the default pad query handler Avoids repeating the same handling in many decoders --- ext/libav/gstavviddec.c | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index 916af3a..28777f6 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -78,8 +78,6 @@ static gboolean gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query); static gboolean gst_ffmpegviddec_propose_allocation (GstVideoDecoder * decoder, GstQuery * query); -static gboolean gst_ffmpegviddec_sink_query (GstVideoDecoder * decoder, - GstQuery * query); static void gst_ffmpegviddec_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); @@ -252,7 +250,6 @@ gst_ffmpegviddec_class_init (GstFFMpegVidDecClass * klass) viddec_class->drain = gst_ffmpegviddec_finish; /* drain and finish are the same to us */ viddec_class->decide_allocation = gst_ffmpegviddec_decide_allocation; viddec_class->propose_allocation = gst_ffmpegviddec_propose_allocation; - viddec_class->sink_query = gst_ffmpegviddec_sink_query; } static void @@ -273,6 +270,8 @@ gst_ffmpegviddec_init (GstFFMpegVidDec * ffmpegdec) ffmpegdec->output_corrupt = DEFAULT_OUTPUT_CORRUPT; GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (ffmpegdec)); + gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST + (ffmpegdec), TRUE); gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (ffmpegdec), TRUE); } @@ -1579,25 +1578,6 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, return ret; } -static gboolean -gst_ffmpegviddec_sink_query (GstVideoDecoder * decoder, GstQuery * query) -{ - gboolean ret; - - switch (GST_QUERY_TYPE (query)) { - case GST_QUERY_ACCEPT_CAPS: - /* resort to the default accept-caps query handling to skip the videodecoder handling */ - ret = - gst_pad_query_default (GST_VIDEO_DECODER_SINK_PAD (decoder), - GST_OBJECT_CAST (decoder), query); - break; - default: - ret = gst_video_decoder_sink_query_default (decoder, query); - break; - } - return ret; -} - static gboolean gst_ffmpegviddec_start (GstVideoDecoder * decoder) { -- cgit v1.2.3