summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-08-16 07:06:44 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2015-08-17 14:39:44 -0300
commita6dc5e19a288f5e135f3f3a13dc3748a7a250b47 (patch)
treecd185f3d2ba0f343e61e359624f49c1be1ccbda3
parent07ee52db5dbddf35ab22199a1960e9f5cc8aae73 (diff)
downloadgstreamer-plugins-bad-a6dc5e19a288f5e135f3f3a13dc3748a7a250b47.tar.gz
videoencoders: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and should be enough Elements: openjpegenc, schroenc, webpenc, pnmenc
-rw-r--r--ext/openjpeg/gstopenjpegenc.c2
-rw-r--r--ext/schroedinger/gstschroenc.c2
-rw-r--r--ext/webp/gstwebpenc.c2
-rw-r--r--gst/pnm/gstpnmenc.c2
4 files changed, 8 insertions, 0 deletions
diff --git a/ext/openjpeg/gstopenjpegenc.c b/ext/openjpeg/gstopenjpegenc.c
index aee074a87..a68493c3f 100644
--- a/ext/openjpeg/gstopenjpegenc.c
+++ b/ext/openjpeg/gstopenjpegenc.c
@@ -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;
diff --git a/ext/schroedinger/gstschroenc.c b/ext/schroedinger/gstschroenc.c
index f1a7493ad..6cd761f07 100644
--- a/ext/schroedinger/gstschroenc.c
+++ b/ext/schroedinger/gstschroenc.c
@@ -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. */
diff --git a/ext/webp/gstwebpenc.c b/ext/webp/gstwebpenc.c
index b813e4e37..75891eafe 100644
--- a/ext/webp/gstwebpenc.c
+++ b/ext/webp/gstwebpenc.c
@@ -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;
diff --git a/gst/pnm/gstpnmenc.c b/gst/pnm/gstpnmenc.c
index 1c059c8c9..8a0461ce5 100644
--- a/gst/pnm/gstpnmenc.c
+++ b/gst/pnm/gstpnmenc.c
@@ -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;
}