From 8e2964ee599853fff2a7aba9275960b4ae7844fc Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Tue, 9 Dec 2014 05:03:11 +0100 Subject: [PATCH] mirror: Needs remap when the mode changes. This caused the user to think the mode wasn't taken into account. --- gst/geometrictransform/gstmirror.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/gst/geometrictransform/gstmirror.c b/gst/geometrictransform/gstmirror.c index 72958196b6..db8afbf276 100644 --- a/gst/geometrictransform/gstmirror.c +++ b/gst/geometrictransform/gstmirror.c @@ -97,10 +97,23 @@ gst_mirror_set_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_MODE: - GST_OBJECT_LOCK (filter); - filter->mode = g_value_get_enum (value); - GST_OBJECT_UNLOCK (filter); - break; + { + gint mode; + + GST_OBJECT_LOCK (filter); + mode = g_value_get_enum (value); + + if (mode != filter->mode) { + GstGeometricTransform *gt; + + gt = GST_GEOMETRIC_TRANSFORM_CAST (object); + filter->mode = mode; + gst_geometric_transform_set_need_remap (gt); + } + + GST_OBJECT_UNLOCK (filter); + break; + } default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break;