diff options
author | Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> | 2014-12-09 05:03:11 +0100 |
---|---|---|
committer | Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> | 2014-12-09 05:03:11 +0100 |
commit | 8e2964ee599853fff2a7aba9275960b4ae7844fc (patch) | |
tree | a044fc8d47c14b097cc7d3aefb4980c6ee24699e /gst/geometrictransform | |
parent | bd5688d1eede25640e5bb8397e45d05bc7af3206 (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.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; |