From 6517282af7f9fba5ad30d9d8cf42077223f3bcb3 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Sun, 16 Aug 2015 07:18:34 -0300 Subject: audioencoders: use template subset check for accept-caps It is faster than doing a query that propagates downstream and should be enough Elements: faac, gsmenc, opusenc, sbcenc, voamrwbenc, adpcmenc, sirenenc --- ext/faac/gstfaac.c | 1 + ext/gsm/gstgsmenc.c | 1 + ext/opus/gstopusenc.c | 2 ++ ext/sbc/gstsbcenc.c | 1 + ext/voaacenc/gstvoaacenc.c | 1 + ext/voamrwbenc/gstvoamrwbenc.c | 2 ++ gst/adpcmenc/adpcmenc.c | 2 ++ gst/siren/gstsirenenc.c | 1 + 8 files changed, 11 insertions(+) diff --git a/ext/faac/gstfaac.c b/ext/faac/gstfaac.c index a0c2e0823..9adc11fb8 100644 --- a/ext/faac/gstfaac.c +++ b/ext/faac/gstfaac.c @@ -243,6 +243,7 @@ gst_faac_class_init (GstFaacClass * klass) static void gst_faac_init (GstFaac * faac) { + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (faac)); } static void diff --git a/ext/gsm/gstgsmenc.c b/ext/gsm/gstgsmenc.c index d9a0aee29..54ede2ef1 100644 --- a/ext/gsm/gstgsmenc.c +++ b/ext/gsm/gstgsmenc.c @@ -97,6 +97,7 @@ gst_gsmenc_class_init (GstGSMEncClass * klass) static void gst_gsmenc_init (GstGSMEnc * gsmenc) { + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (gsmenc)); } static gboolean diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c index 70c771806..19b6d6e9f 100644 --- a/ext/opus/gstopusenc.c +++ b/ext/opus/gstopusenc.c @@ -376,6 +376,8 @@ gst_opus_enc_init (GstOpusEnc * enc) GST_DEBUG_OBJECT (enc, "init"); + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (enc)); + g_mutex_init (&enc->property_lock); enc->n_channels = -1; diff --git a/ext/sbc/gstsbcenc.c b/ext/sbc/gstsbcenc.c index 7aef4db4d..02ca1be6c 100644 --- a/ext/sbc/gstsbcenc.c +++ b/ext/sbc/gstsbcenc.c @@ -362,6 +362,7 @@ gst_sbc_enc_class_init (GstSbcEncClass * klass) static void gst_sbc_enc_init (GstSbcEnc * self) { + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (self)); self->subbands = 0; self->blocks = 0; self->rate = 0; diff --git a/ext/voaacenc/gstvoaacenc.c b/ext/voaacenc/gstvoaacenc.c index 756191ab1..315f37326 100644 --- a/ext/voaacenc/gstvoaacenc.c +++ b/ext/voaacenc/gstvoaacenc.c @@ -177,6 +177,7 @@ gst_voaacenc_class_init (GstVoAacEncClass * klass) static void gst_voaacenc_init (GstVoAacEnc * voaacenc) { + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (voaacenc)); voaacenc->bitrate = VOAAC_ENC_DEFAULT_BITRATE; voaacenc->output_format = VOAAC_ENC_DEFAULT_OUTPUTFORMAT; diff --git a/ext/voamrwbenc/gstvoamrwbenc.c b/ext/voamrwbenc/gstvoamrwbenc.c index 305f8458e..ae09f0615 100644 --- a/ext/voamrwbenc/gstvoamrwbenc.c +++ b/ext/voamrwbenc/gstvoamrwbenc.c @@ -190,6 +190,8 @@ gst_voamrwbenc_class_init (GstVoAmrWbEncClass * klass) static void gst_voamrwbenc_init (GstVoAmrWbEnc * amrwbenc) { + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (amrwbenc)); + /* init rest */ amrwbenc->handle = NULL; amrwbenc->channels = 0; diff --git a/gst/adpcmenc/adpcmenc.c b/gst/adpcmenc/adpcmenc.c index 36d336c90..def90cf85 100644 --- a/gst/adpcmenc/adpcmenc.c +++ b/gst/adpcmenc/adpcmenc.c @@ -421,6 +421,8 @@ adpcmenc_stop (GstAudioEncoder * enc) static void adpcmenc_init (ADPCMEnc * enc) { + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (enc)); + /* Set defaults. */ enc->blocksize = DEFAULT_ADPCM_BLOCK_SIZE; enc->layout = DEFAULT_ADPCM_LAYOUT; diff --git a/gst/siren/gstsirenenc.c b/gst/siren/gstsirenenc.c index 20e3c0324..69b4d8032 100644 --- a/gst/siren/gstsirenenc.c +++ b/gst/siren/gstsirenenc.c @@ -92,6 +92,7 @@ gst_siren_enc_class_init (GstSirenEncClass * klass) static void gst_siren_enc_init (GstSirenEnc * enc) { + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (enc)); } static gboolean -- cgit v1.2.1