summaryrefslogtreecommitdiff
path: root/gst/rtpmanager/rtpsource.h
diff options
context:
space:
mode:
authorPascal Buhler <pascal.buhler@tandberg.com>2010-09-24 15:33:40 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2010-09-24 15:38:00 +0200
commitca6a512b5eef7434a2a09310317944b08323578b (patch)
tree522d1e82f1646c29d7527362389251d486685d6d /gst/rtpmanager/rtpsource.h
parent87a9d7f679b60af713ad9318125094a92fa487ab (diff)
rtpbin: Make cleaning up sources in rtp_session_on_timeout MT safe
Using _foreach_remove on the hashtable, while releasing the lock protecting that table inside the callback is not a good idea. The hashtable might then change (a source removed or added) while signals like on_timeout are being sent. This solution makes a copy of the table, performs the _foreach without actually removing any sources, but marks them for removal on a second iteration with the real list, but this time not letting go of the lock. Fixes #630452
Diffstat (limited to 'gst/rtpmanager/rtpsource.h')
-rw-r--r--gst/rtpmanager/rtpsource.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gst/rtpmanager/rtpsource.h b/gst/rtpmanager/rtpsource.h
index 49c6528fc..54a86ac47 100644
--- a/gst/rtpmanager/rtpsource.h
+++ b/gst/rtpmanager/rtpsource.h
@@ -131,6 +131,7 @@ struct _RTPSource {
gboolean internal;
gboolean is_csrc;
gboolean is_sender;
+ gboolean closing;
GstStructure *sdes;