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

Elements: a52dec, amrnbdec, amrwbdec, mad

ext/a52dec/gsta52dec.c
ext/amrnb/amrnbdec.c
ext/amrwbdec/amrwbdec.c
ext/mad/gstmad.c

index 6a9267e14ce65b00f2ab1c5fa5cbaa2bce9b9bb5..c78cfeb900893484ac1f708c3c6cd88f75a29c61 100644 (file)
@@ -229,6 +229,10 @@ gst_a52dec_init (GstA52Dec * a52dec)
   a52dec->state = NULL;
   a52dec->samples = NULL;
 
+  gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST
+      (a52dec), TRUE);
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (a52dec));
+
   /* retrieve and intercept base class chain.
    * Quite HACKish, but that's dvd specs/caps for you,
    * since one buffer needs to be split into 2 frames */
index e07cc6de7ea5643d54527f3ec1ae2638e344173e..894c0859703a6b81eeff78f1f6ff6d0c0735daf0 100644 (file)
@@ -144,6 +144,9 @@ static void
 gst_amrnbdec_init (GstAmrnbDec * amrnbdec)
 {
   gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (amrnbdec), TRUE);
+  gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST
+      (amrnbdec), TRUE);
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (amrnbdec));
 }
 
 static gboolean
index be089e7d99c542b0f7d4e762a9994eb5e57d4aba..6cbce4552823b83713683108d2ff4a0a021ba17f 100644 (file)
@@ -107,6 +107,9 @@ static void
 gst_amrwbdec_init (GstAmrwbDec * amrwbdec)
 {
   gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (amrwbdec), TRUE);
+  gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST
+      (amrwbdec), TRUE);
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (amrwbdec));
 }
 
 static gboolean
index 3d706a68e9112f06368f830f48c1366d9e28ed24..93337d2b987d196d48d1e12f3d4e50600c9f93cd 100644 (file)
@@ -144,6 +144,8 @@ gst_mad_init (GstMad * mad)
 
   dec = GST_AUDIO_DECODER (mad);
   gst_audio_decoder_set_tolerance (dec, 20 * GST_MSECOND);
+  gst_audio_decoder_set_use_default_pad_acceptcaps (dec, TRUE);
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dec));
 
   mad->half = FALSE;
   mad->ignore_crc = TRUE;