rtpbin: fix setting the SDES property
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 21 Feb 2011 16:17:32 +0000 (17:17 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 21 Feb 2011 16:19:05 +0000 (17:19 +0100)
Only the sdes veriable is protected with the object lock.
Use the right object when setting the sdes property.

gst/rtpmanager/gstrtpbin.c

index 5c61460..a2f7dc4 100644 (file)
@@ -1767,11 +1767,13 @@ gst_rtp_bin_set_sdes_struct (GstRtpBin * bin, const GstStructure * sdes)
   if (bin->sdes)
     gst_structure_free (bin->sdes);
   bin->sdes = gst_structure_copy (sdes);
+  GST_OBJECT_UNLOCK (bin);
 
   /* store in all sessions */
-  for (item = bin->sessions; item; item = g_slist_next (item))
-    g_object_set (item->data, "sdes", sdes, NULL);
-  GST_OBJECT_UNLOCK (bin);
+  for (item = bin->sessions; item; item = g_slist_next (item)) {
+    GstRtpBinSession *session = item->data;
+    g_object_set (session->session, "sdes", sdes, NULL);
+  }
 
   GST_RTP_BIN_UNLOCK (bin);
 }