diff options
author | Aleix Conchillo Flaqué <aleix@oblong.com> | 2014-11-20 10:23:30 -0800 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-11-20 21:45:46 +0100 |
commit | 475f17ecded7ef4145535138835b47efa5ff0c56 (patch) | |
tree | 401396d640eccc64d4944805e1536cf7464f13d3 | |
parent | 2e05ed5911545a12d21d639852780c98df899baa (diff) | |
download | gstreamer-plugins-bad-475f17ecded7ef4145535138835b47efa5ff0c56.tar.gz |
srtpdec: fix rtp/rtcp sink event memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=740451
-rw-r--r-- | ext/srtp/gstsrtpdec.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/srtp/gstsrtpdec.c b/ext/srtp/gstsrtpdec.c index 5d42f4485..18e25d16b 100644 --- a/ext/srtp/gstsrtpdec.c +++ b/ext/srtp/gstsrtpdec.c @@ -759,13 +759,16 @@ gst_srtp_dec_sink_setcaps (GstPad * pad, GstObject * parent, static gboolean gst_srtp_dec_sink_event_rtp (GstPad * pad, GstObject * parent, GstEvent * event) { + gboolean ret; GstCaps *caps; GstSrtpDec *filter = GST_SRTP_DEC (parent); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_CAPS: gst_event_parse_caps (event, &caps); - return gst_srtp_dec_sink_setcaps (pad, parent, caps, FALSE); + ret = gst_srtp_dec_sink_setcaps (pad, parent, caps, FALSE); + gst_event_unref (event); + return ret; case GST_EVENT_SEGMENT: filter->rtp_has_segment = TRUE; break; @@ -783,13 +786,16 @@ static gboolean gst_srtp_dec_sink_event_rtcp (GstPad * pad, GstObject * parent, GstEvent * event) { + gboolean ret; GstCaps *caps; GstSrtpDec *filter = GST_SRTP_DEC (parent); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_CAPS: gst_event_parse_caps (event, &caps); - return gst_srtp_dec_sink_setcaps (pad, parent, caps, TRUE); + ret = gst_srtp_dec_sink_setcaps (pad, parent, caps, TRUE); + gst_event_unref (event); + return ret; case GST_EVENT_SEGMENT: filter->rtcp_has_segment = TRUE; break; |