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 a1ba7c0c15dce8ee61c8ad10bbe076d2b28f981f..d67f1de77ab6b100551fc68db3d0542f3f967080 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 48543aa23ff58bd2bf244c8a1e27d176f45e0e5c..7c98181ba1a16561f6f24507cedb664b89b2e551 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 4b05f9969708e9966543b259bc414d51a4ada7f2..c86cc4c9d5881b4a8cb4c9eafd873f83762642dd 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 a11c848109ba259f14d59aea438aa49d4b4ee3a2..3de5a641257ac292492c28f0d83f4aa7c4d31db7 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