videodecoders: use default pad accept-caps handling
authorThiago Santos <thiagoss@osg.samsung.com>
Sat, 15 Aug 2015 11:49:57 +0000 (08:49 -0300)
committerThiago Santos <thiagoss@osg.samsung.com>
Sat, 15 Aug 2015 14:46:32 +0000 (11:46 -0300)
Avoids useless check of downstream caps when handling an
accept-caps query

Elements: jpegdec, pngdec, vp8dec, vp9dec

ext/jpeg/gstjpegdec.c
ext/libpng/gstpngdec.c
ext/vpx/gstvp8dec.c
ext/vpx/gstvp9dec.c

index a1ba7c0..d67f1de 100644 (file)
@@ -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
index 48543aa..7c98181 100644 (file)
@@ -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
index 4b05f99..c86cc4c 100644 (file)
@@ -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
index a11c848..3de5a64 100644 (file)
@@ -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