summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager/gstrtpssrcdemux.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2007-10-08 10:39:35 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-08-11 02:30:31 +0100
commit4556ccb666b0179a5adb3eddcaf28278f565250f (patch)
tree3a1d2493d269b14f031ae2814c98f3a0c500fd12 /gst/rtpmanager/gstrtpssrcdemux.c
parent76a89b5e500952afb6d8d0c544848c7c99bb0427 (diff)
gst/rtpmanager/gstrtpbin.c: Fix caps refcounting for payload maps.
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (get_pt_map), (gst_rtp_bin_clear_pt_map), (gst_rtp_bin_class_init): Fix caps refcounting for payload maps. When clearing payload maps, also clear sessions and streams payload maps. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_get_caps), (gst_rtp_pt_demux_clear_pt_map), (gst_rtp_pt_demux_chain), (find_pad_for_pt): Implement clearing the payload map. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtp_sink): Forward flush events instead of leaking them. * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_rtcp_sink_event): Correctly refcount events before pushing them.
Diffstat (limited to 'gst/rtpmanager/gstrtpssrcdemux.c')
-rw-r--r--gst/rtpmanager/gstrtpssrcdemux.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gst/rtpmanager/gstrtpssrcdemux.c b/gst/rtpmanager/gstrtpssrcdemux.c
index 472f5f55..96e82ac2 100644
--- a/gst/rtpmanager/gstrtpssrcdemux.c
+++ b/gst/rtpmanager/gstrtpssrcdemux.c
@@ -386,9 +386,11 @@ gst_rtp_ssrc_demux_rtcp_sink_event (GstPad * pad, GstEvent * event)
for (walk = demux->srcpads; walk; walk = g_slist_next (walk)) {
GstRtpSsrcDemuxPad *pad = (GstRtpSsrcDemuxPad *) walk->data;
+ gst_event_ref (event);
res &= gst_pad_push_event (pad->rtcp_pad, event);
}
GST_PAD_UNLOCK (demux);
+ gst_event_unref (event);
break;
}
}