summaryrefslogtreecommitdiff
path: root/gst/geometrictransform
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu.duponchelle@opencreed.com>2014-12-09 05:03:11 +0100
committerMathieu Duponchelle <mathieu.duponchelle@opencreed.com>2014-12-09 05:03:11 +0100
commit8e2964ee599853fff2a7aba9275960b4ae7844fc (patch)
treea044fc8d47c14b097cc7d3aefb4980c6ee24699e /gst/geometrictransform
parentbd5688d1eede25640e5bb8397e45d05bc7af3206 (diff)
mirror: Needs remap when the mode changes.
This caused the user to think the mode wasn't taken into account.
Diffstat (limited to 'gst/geometrictransform')
-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;