[gst-cvs] gst-plugins-good: rtpsession: Make sure that used caps are not freed already
Sebastian Dröge
slomo at kemper.freedesktop.org
Sun Aug 30 23:19:02 PDT 2009
Module: gst-plugins-good
Branch: master
Commit: 041fa82179f004e8c71747f50196aa9d0ce9e66e
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=041fa82179f004e8c71747f50196aa9d0ce9e66e
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Sun Aug 30 21:57:57 2009 +0200
rtpsession: Make sure that used caps are not freed already
Fixes bug #593391.
---
gst/rtpmanager/gstrtpsession.c | 7 +++++--
1 files 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);
More information about the Gstreamer-commits
mailing list