videoencoders: use template subset check for accept-caps
authorThiago Santos <thiagoss@osg.samsung.com>
Sun, 16 Aug 2015 10:06:44 +0000 (07:06 -0300)
committerThiago Santos <thiagoss@osg.samsung.com>
Mon, 17 Aug 2015 17:39:44 +0000 (14:39 -0300)
It is faster than doing a query that propagates downstream and
should be enough

Elements: openjpegenc, schroenc, webpenc, pnmenc

ext/openjpeg/gstopenjpegenc.c
ext/schroedinger/gstschroenc.c
ext/webp/gstwebpenc.c
gst/pnm/gstpnmenc.c

index aee074a..a68493c 100644 (file)
@@ -203,6 +203,8 @@ gst_openjpeg_enc_class_init (GstOpenJPEGEncClass * klass)
 static void
 gst_openjpeg_enc_init (GstOpenJPEGEnc * self)
 {
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (self));
+
   opj_set_default_encoder_parameters (&self->params);
 
   self->params.cp_fixed_quality = 1;
index f1a7493..6cd761f 100644 (file)
@@ -240,6 +240,8 @@ gst_schro_enc_init (GstSchroEnc * schro_enc)
 {
   GST_DEBUG ("gst_schro_enc_init");
 
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (schro_enc));
+
   /* Normally, we'd create the encoder in ->start(), but we use the
    * encoder to store object properties.  So it needs to be created
    * here. */
index b813e4e..75891ea 100644 (file)
@@ -163,6 +163,8 @@ gst_webp_enc_class_init (GstWebpEncClass * klass)
 static void
 gst_webp_enc_init (GstWebpEnc * webpenc)
 {
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (webpenc));
+
   webpenc->lossless = DEFAULT_LOSSLESS;
   webpenc->quality = DEFAULT_QUALITY;
   webpenc->speed = DEFAULT_SPEED;
index 1c059c8..8a0461c 100644 (file)
@@ -111,6 +111,8 @@ gst_pnmenc_get_property (GObject * object, guint prop_id, GValue * value,
 static void
 gst_pnmenc_init (GstPnmenc * s)
 {
+  GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (s));
+
   /* Set default encoding as RAW as ASCII takes up 4 time more bytes */
   s->info.encoding = GST_PNM_ENCODING_RAW;
 }