summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu.duponchelle@opencreed.com>2014-12-09 05:03:11 +0100
committerTim-Philipp Müller <tim@centricular.com>2014-12-12 20:12:25 +0000
commite5a0019754fddc66f074a582f028e2afaf23be8b (patch)
tree4b720ed31b16f72c55a7eb6ffe49b51dafda93e3
parent77829120b965a6cd9439333ef205b80327866385 (diff)
downloadgstreamer-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.c21
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;