rtpbin: fix setting the SDES property

Only the sdes veriable is protected with the object lock.
Use the right object when setting the sdes property.
This commit is contained in:
Wim Taymans 2011-02-21 17:17:32 +01:00
parent 6e1c701502
commit 45ea930a99

View file

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