[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