srtpdec: fix rtp/rtcp sink event memory leak

https://bugzilla.gnome.org/show_bug.cgi?id=740451
This commit is contained in:
Aleix Conchillo Flaqué 2014-11-20 10:23:30 -08:00 committed by Olivier Crête
parent d800ac023b
commit 086cc58952

View file

@ -757,13 +757,16 @@ gst_srtp_dec_sink_setcaps (GstPad * pad, GstObject * parent,
static gboolean static gboolean
gst_srtp_dec_sink_event_rtp (GstPad * pad, GstObject * parent, GstEvent * event) gst_srtp_dec_sink_event_rtp (GstPad * pad, GstObject * parent, GstEvent * event)
{ {
gboolean ret;
GstCaps *caps; GstCaps *caps;
GstSrtpDec *filter = GST_SRTP_DEC (parent); GstSrtpDec *filter = GST_SRTP_DEC (parent);
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_CAPS: case GST_EVENT_CAPS:
gst_event_parse_caps (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: case GST_EVENT_SEGMENT:
filter->rtp_has_segment = TRUE; filter->rtp_has_segment = TRUE;
break; break;
@ -781,13 +784,16 @@ static gboolean
gst_srtp_dec_sink_event_rtcp (GstPad * pad, GstObject * parent, gst_srtp_dec_sink_event_rtcp (GstPad * pad, GstObject * parent,
GstEvent * event) GstEvent * event)
{ {
gboolean ret;
GstCaps *caps; GstCaps *caps;
GstSrtpDec *filter = GST_SRTP_DEC (parent); GstSrtpDec *filter = GST_SRTP_DEC (parent);
switch (GST_EVENT_TYPE (event)) { switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_CAPS: case GST_EVENT_CAPS:
gst_event_parse_caps (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: case GST_EVENT_SEGMENT:
filter->rtcp_has_segment = TRUE; filter->rtcp_has_segment = TRUE;
break; break;