diff options
author | Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> | 2014-12-09 05:03:11 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-12-12 20:12:25 +0000 |
commit | e5a0019754fddc66f074a582f028e2afaf23be8b (patch) | |
tree | 4b720ed31b16f72c55a7eb6ffe49b51dafda93e3 | |
parent | 77829120b965a6cd9439333ef205b80327866385 (diff) | |
download | gstreamer-plugins-bad-e5a0019754fddc66f074a582f028e2afaf23be8b.tar.gz |
mirror: Needs remap when the mode changes.
This caused the user to think the mode wasn't taken into account.
-rw-r--r-- | gst/geometrictransform/gstmirror.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gst/geometrictransform/gstmirror.c b/gst/geometrictransform/gstmirror.c index 72958196b..db8afbf27 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; |