diff options
author | Thiago Santos <thiagoss@osg.samsung.com> | 2015-08-15 08:49:57 -0300 |
---|---|---|
committer | Thiago Santos <thiagoss@osg.samsung.com> | 2015-08-15 11:46:32 -0300 |
commit | 16fbd4f86f3efc7030ce28413bfbfa62249ff4ca (patch) | |
tree | 0f46fd55b47910f5dcb37bd690524cba694b8c55 | |
parent | 65d2af6462e5bfb493c7a28ab2f58d7f05f64694 (diff) |
videodecoders: use default pad accept-caps handling
Avoids useless check of downstream caps when handling an
accept-caps query
Elements: jpegdec, pngdec, vp8dec, vp9dec
-rw-r--r-- | ext/jpeg/gstjpegdec.c | 4 | ||||
-rw-r--r-- | ext/libpng/gstpngdec.c | 4 | ||||
-rw-r--r-- | ext/vpx/gstvp8dec.c | 2 | ||||
-rw-r--r-- | ext/vpx/gstvp9dec.c | 2 |
4 files changed, 12 insertions, 0 deletions
diff --git a/ext/jpeg/gstjpegdec.c b/ext/jpeg/gstjpegdec.c index a1ba7c0c1..d67f1de77 100644 --- a/ext/jpeg/gstjpegdec.c +++ b/ext/jpeg/gstjpegdec.c @@ -278,6 +278,10 @@ gst_jpeg_dec_init (GstJpegDec * dec) /* init properties */ dec->idct_method = JPEG_DEFAULT_IDCT_METHOD; dec->max_errors = JPEG_DEFAULT_MAX_ERRORS; + + gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST + (dec), TRUE); + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (dec)); } static inline gboolean diff --git a/ext/libpng/gstpngdec.c b/ext/libpng/gstpngdec.c index 48543aa23..7c98181ba 100644 --- a/ext/libpng/gstpngdec.c +++ b/ext/libpng/gstpngdec.c @@ -112,6 +112,10 @@ gst_pngdec_init (GstPngDec * pngdec) pngdec->image_ready = FALSE; pngdec->read_data = 0; + + gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST + (pngdec), TRUE); + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (pngdec)); } static void diff --git a/ext/vpx/gstvp8dec.c b/ext/vpx/gstvp8dec.c index 4b05f9969..c86cc4c9d 100644 --- a/ext/vpx/gstvp8dec.c +++ b/ext/vpx/gstvp8dec.c @@ -207,6 +207,8 @@ gst_vp8_dec_init (GstVP8Dec * gst_vp8_dec) gst_vp8_dec->noise_level = DEFAULT_NOISE_LEVEL; gst_video_decoder_set_needs_format (decoder, TRUE); + gst_video_decoder_set_use_default_pad_acceptcaps (decoder, TRUE); + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (decoder)); } static void diff --git a/ext/vpx/gstvp9dec.c b/ext/vpx/gstvp9dec.c index a11c84810..3de5a6412 100644 --- a/ext/vpx/gstvp9dec.c +++ b/ext/vpx/gstvp9dec.c @@ -207,6 +207,8 @@ gst_vp9_dec_init (GstVP9Dec * gst_vp9_dec) gst_vp9_dec->noise_level = DEFAULT_NOISE_LEVEL; gst_video_decoder_set_needs_format (decoder, TRUE); + gst_video_decoder_set_use_default_pad_acceptcaps (decoder, TRUE); + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (decoder)); } static void |