From 041fa82179f004e8c71747f50196aa9d0ce9e66e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 30 Aug 2009 21:57:57 +0200 Subject: [PATCH] rtpsession: Make sure that used caps are not freed already Fixes bug #593391. --- gst/rtpmanager/gstrtpsession.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c index 55903da..14bc993 100644 --- a/gst/rtpmanager/gstrtpsession.c +++ b/gst/rtpmanager/gstrtpsession.c @@ -1011,12 +1011,15 @@ gst_rtp_session_send_rtcp (RTPSession * sess, RTPSource * src, GstCaps *caps; /* set rtcp caps on output pad */ - if (!(caps = GST_PAD_CAPS (rtpsession->send_rtcp_src))) { + caps = GST_PAD_CAPS (rtpsession->send_rtcp_src); + if (!caps) { caps = gst_caps_new_simple ("application/x-rtcp", NULL); gst_pad_set_caps (rtpsession->send_rtcp_src, caps); - gst_caps_unref (caps); + } else { + gst_caps_ref (caps); } gst_buffer_set_caps (buffer, caps); + gst_caps_unref (caps); GST_LOG_OBJECT (rtpsession, "sending RTCP"); result = gst_pad_push (rtpsession->send_rtcp_src, buffer); -- 2.7.4