From 8dd2b4b591b7650cfabad2ffc79af7f20d673012 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Tue, 14 Apr 2009 12:20:37 -0700 Subject: [PATCH] Fix locking in gst_param_spec_is_mutable --- gst/gstparamspecs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gst/gstparamspecs.c b/gst/gstparamspecs.c index 7476cd1..eccfca2 100644 --- a/gst/gstparamspecs.c +++ b/gst/gstparamspecs.c @@ -212,7 +212,9 @@ gst_param_spec_fraction (const gchar * name, const gchar * nick, * @element: the GstElement of the property to be modified * * Checks if an object property for the GstElement given in @element - * may be modified given the current state of @element. + * may be modified given the current state of @element. In order to + * avoid races, this function should be called with the object lock + * of @element held. * * Note: By the time this method returns, the state of the element might have * changed already. Use this method only if you can control the state of the @@ -233,7 +235,6 @@ gst_param_spec_is_mutable (GParamSpec * param_spec, GstElement * element) return TRUE; } - GST_OBJECT_LOCK (element); state = GST_STATE (element); if (param_spec->flags & GST_PARAM_MUTABLE_PAUSED) { if (state > GST_STATE_PAUSED) { @@ -248,7 +249,6 @@ gst_param_spec_is_mutable (GParamSpec * param_spec, GstElement * element) ret = FALSE; } } - GST_OBJECT_UNLOCK (element); return ret; } -- 2.7.4