From 923b5b495ad5a32e83eace8dc551cd9f276283ab Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Tue, 1 Sep 2009 12:47:51 +0200 Subject: rtpmanager: Make sure that used caps are not freed already (take 2) This reintroduces the fix for bug #593391. It also applies it in gst_rtp_session_sync_rtcp() which has very similar code to gst_rtp_session_send_rtcp(). --- gst/rtpmanager/gstrtpsession.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gst/rtpmanager') diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c index 928e38b3..d59124cc 100644 --- a/gst/rtpmanager/gstrtpsession.c +++ b/gst/rtpmanager/gstrtpsession.c @@ -1032,9 +1032,10 @@ gst_rtp_session_send_rtcp (RTPSession * sess, RTPSource * src, if (!(caps = GST_PAD_CAPS (rtcp_src))) { caps = gst_caps_new_simple ("application/x-rtcp", NULL); gst_pad_set_caps (rtcp_src, caps); + } else gst_caps_unref (caps); - } gst_buffer_set_caps (buffer, caps); + gst_caps_unref (caps); GST_LOG_OBJECT (rtpsession, "sending RTCP"); gst_object_ref (rtcp_src); @@ -1092,9 +1093,10 @@ gst_rtp_session_sync_rtcp (RTPSession * sess, if (!(caps = GST_PAD_CAPS (sync_src))) { caps = gst_caps_new_simple ("application/x-rtcp", NULL); gst_pad_set_caps (sync_src, caps); + } else gst_caps_unref (caps); - } gst_buffer_set_caps (buffer, caps); + gst_caps_unref (caps); gst_object_ref (sync_src); GST_RTP_SESSION_UNLOCK (rtpsession); -- cgit