diff options
author | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2009-02-12 14:42:31 +0000 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2009-02-12 15:21:42 +0000 |
commit | e4b7e06a20cb53c8b85f1a5d40d3883e5776580f (patch) | |
tree | 7b5a3b35e38ca909da97a35fac36295a3202e384 /gst | |
parent | 455f27349fb0218af17f1a9060a8683c7b1f8d74 (diff) | |
download | libnice-e4b7e06a20cb53c8b85f1a5d40d3883e5776580f.tar.gz |
Lock src when modifying idle_source
Diffstat (limited to 'gst')
-rw-r--r-- | gst/gstnicesrc.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gst/gstnicesrc.c b/gst/gstnicesrc.c index e83eade..37aabbf 100644 --- a/gst/gstnicesrc.c +++ b/gst/gstnicesrc.c @@ -213,10 +213,15 @@ gst_nice_src_unlock_idler (gpointer data) { GstNiceSrc *nicesrc = GST_NICE_SRC (data); - g_main_loop_quit (nicesrc->mainloop); + GST_OBJECT_LOCK (nicesrc); + if (nicesrc->unlocked) + g_main_loop_quit (nicesrc->mainloop); - g_source_unref (nicesrc->idle_source); - nicesrc->idle_source = NULL; + if (nicesrc->idle_source) { + g_source_unref (nicesrc->idle_source); + nicesrc->idle_source = NULL; + } + GST_OBJECT_UNLOCK (nicesrc); return FALSE; } |