summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager
diff options
context:
space:
mode:
authorPeter Kjellerstedt <pkj@axis.com>2009-09-01 12:47:51 +0200
committerPeter Kjellerstedt <pkj@axis.com>2009-09-01 13:04:14 +0200
commit923b5b495ad5a32e83eace8dc551cd9f276283ab (patch)
tree0337fd15e5b362ce1176690a15120923f0da9f4f /gst/rtpmanager
parent8d924611e74ba8b6c36fe24db5b3648850751bf7 (diff)
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().
Diffstat (limited to 'gst/rtpmanager')
-rw-r--r--gst/rtpmanager/gstrtpsession.c6
1 files changed, 4 insertions, 2 deletions
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);