rtpbin: use locking around the sessions
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 5 Oct 2009 14:07:24 +0000 (16:07 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 5 Oct 2009 14:07:24 +0000 (16:07 +0200)
gst/rtpmanager/gstrtpbin.c

index 5fdf6a0cbf4c4cfa6bbfeb402e4971a66130fe82..142dfa8222ec2ab27b16f875395b42d60bec131d 100644 (file)
@@ -1706,6 +1706,7 @@ gst_rtp_bin_handle_message (GstBin * bin, GstMessage * message)
         GSList *walk;
 
         /* find the session, the message source has it */
+        GST_RTP_BIN_LOCK (rtpbin);
         for (walk = rtpbin->sessions; walk; walk = g_slist_next (walk)) {
           GstRtpBinSession *sess = (GstRtpBinSession *) walk->data;
 
@@ -1720,6 +1721,7 @@ gst_rtp_bin_handle_message (GstBin * bin, GstMessage * message)
             break;
           }
         }
+        GST_RTP_BIN_UNLOCK (rtpbin);
       }
       /* fallthrough to forward the modified message to the parent */
     }