diff options
author | David Schleef <ds@schleef.org> | 2009-04-14 12:20:37 -0700 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2009-04-14 12:21:39 -0700 |
commit | 8dd2b4b591b7650cfabad2ffc79af7f20d673012 (patch) | |
tree | dfa36884a3fe0ab5f3e6968d0ec1b0e7960ef243 | |
parent | dd3c9ab6b66ea770b13abd9f568cbbaa4c41fd0b (diff) |
Fix locking in gst_param_spec_is_mutable
-rw-r--r-- | gst/gstparamspecs.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gst/gstparamspecs.c b/gst/gstparamspecs.c index 7476cd126..eccfca2b2 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; } |