summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2009-04-14 12:20:37 -0700
committerDavid Schleef <ds@schleef.org>2009-04-14 12:21:39 -0700
commit8dd2b4b591b7650cfabad2ffc79af7f20d673012 (patch)
treedfa36884a3fe0ab5f3e6968d0ec1b0e7960ef243
parentdd3c9ab6b66ea770b13abd9f568cbbaa4c41fd0b (diff)
Fix locking in gst_param_spec_is_mutable
-rw-r--r--gst/gstparamspecs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/gstparamspecs.c b/gst/gstparamspecs.c
index 7476cd1261..eccfca2b2a 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;
}