diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-03-16 21:10:08 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-03-16 21:10:08 +0100 |
commit | 9e4ebba45e4e4cde6b5f07235d5c1b341f94c205 (patch) | |
tree | edb783d676d9dbc1b4fdfb985e77bd69429055d3 | |
parent | bc873f71338ba5397c6e0123c3af30eb12db9a8c (diff) |
alpha: Protect property values from changes during frame processing
-rw-r--r-- | gst/alpha/gstalpha.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gst/alpha/gstalpha.c b/gst/alpha/gstalpha.c index e75a96589..c896fbd4e 100644 --- a/gst/alpha/gstalpha.c +++ b/gst/alpha/gstalpha.c @@ -217,6 +217,7 @@ gst_alpha_set_property (GObject * object, guint prop_id, { GstAlpha *alpha = GST_ALPHA (object); + GST_OBJECT_LOCK (alpha); switch (prop_id) { case PROP_METHOD: alpha->method = g_value_get_enum (value); @@ -269,6 +270,7 @@ gst_alpha_set_property (GObject * object, guint prop_id, G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } + GST_OBJECT_UNLOCK (alpha); } static void @@ -798,6 +800,7 @@ gst_alpha_transform (GstBaseTransform * btrans, GstBuffer * in, GstBuffer * out) if (GST_CLOCK_TIME_IS_VALID (timestamp)) gst_object_sync_values (G_OBJECT (alpha), timestamp); + GST_OBJECT_LOCK (alpha); switch (alpha->method) { case ALPHA_METHOD_SET: if (alpha->ayuv) { @@ -822,6 +825,7 @@ gst_alpha_transform (GstBaseTransform * btrans, GstBuffer * in, GstBuffer * out) default: break; } + GST_OBJECT_UNLOCK (alpha); return GST_FLOW_OK; } |