diff options
author | Peter Kjellerstedt <pkj@axis.com> | 2009-09-01 12:47:51 +0200 |
---|---|---|
committer | Peter Kjellerstedt <pkj@axis.com> | 2009-09-01 13:04:14 +0200 |
commit | 923b5b495ad5a32e83eace8dc551cd9f276283ab (patch) | |
tree | 0337fd15e5b362ce1176690a15120923f0da9f4f /gst | |
parent | 8d924611e74ba8b6c36fe24db5b3648850751bf7 (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')
-rw-r--r-- | gst/rtpmanager/gstrtpsession.c | 6 |
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); |