From 12f013c8d7968cc5dbc6780e7c5e8cf1c36b4bd2 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Thu, 14 Jan 2016 18:42:05 +1100 Subject: [PATCH] gltransformation: implement passthrough handling --- ext/gl/gstgltransformation.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ext/gl/gstgltransformation.c b/ext/gl/gstgltransformation.c index 8449178df6..4183bf0fe1 100644 --- a/ext/gl/gstgltransformation.c +++ b/ext/gl/gstgltransformation.c @@ -327,6 +327,20 @@ gst_gl_transformation_build_mvp (GstGLTransformation * transformation) &transformation->view_matrix, &modelview_matrix); graphene_matrix_multiply (&modelview_matrix, &transformation->projection_matrix, &transformation->mvp_matrix); + + if (filter->in_info.finfo) { + gboolean passthrough = transformation->xtranslation == 0. + && transformation->ytranslation == 0. + && transformation->ztranslation == 0. + && transformation->xrotation == 0. + && transformation->yrotation == 0. + && transformation->zrotation == 0. + && transformation->xscale == 1. + && transformation->yscale == 1. + && gst_video_info_is_equal (&filter->in_info, &filter->out_info); + gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (transformation), + passthrough); + } } static void