summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-08-15 08:49:57 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2015-08-15 11:46:32 -0300
commit16fbd4f86f3efc7030ce28413bfbfa62249ff4ca (patch)
tree0f46fd55b47910f5dcb37bd690524cba694b8c55
parent65d2af6462e5bfb493c7a28ab2f58d7f05f64694 (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.c4
-rw-r--r--ext/libpng/gstpngdec.c4
-rw-r--r--ext/vpx/gstvp8dec.c2
-rw-r--r--ext/vpx/gstvp9dec.c2
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