summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-08-15 11:46:13 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2015-08-15 11:54:11 -0300
commit79bfd0f42cba892f4771d95941a9db2a4d4c2a40 (patch)
treefb7c28406ac43e59ac9ba52528077adda1148eec
parentba2a874ffc57eaa991298380998b815b4306e0e8 (diff)
audiodecoders: use default pad accept-caps handling
Avoids useless check of downstream caps when handling an accept-caps query Elements: a52dec, amrnbdec, amrwbdec, mad
-rw-r--r--ext/a52dec/gsta52dec.c4
-rw-r--r--ext/amrnb/amrnbdec.c3
-rw-r--r--ext/amrwbdec/amrwbdec.c3
-rw-r--r--ext/mad/gstmad.c2
4 files changed, 12 insertions, 0 deletions
diff --git a/ext/a52dec/gsta52dec.c b/ext/a52dec/gsta52dec.c
index 6a9267e1..c78cfeb9 100644
--- a/ext/a52dec/gsta52dec.c
+++ b/ext/a52dec/gsta52dec.c
@@ -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 */
diff --git a/ext/amrnb/amrnbdec.c b/ext/amrnb/amrnbdec.c
index e07cc6de..894c0859 100644
--- a/ext/amrnb/amrnbdec.c
+++ b/ext/amrnb/amrnbdec.c
@@ -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
diff --git a/ext/amrwbdec/amrwbdec.c b/ext/amrwbdec/amrwbdec.c
index be089e7d..6cbce455 100644
--- a/ext/amrwbdec/amrwbdec.c
+++ b/ext/amrwbdec/amrwbdec.c
@@ -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
diff --git a/ext/mad/gstmad.c b/ext/mad/gstmad.c
index 3d706a68..93337d2b 100644
--- a/ext/mad/gstmad.c
+++ b/ext/mad/gstmad.c
@@ -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;