diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2007-09-12 21:23:47 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-08-11 02:30:30 +0100 |
commit | a93348cc6da0eff1a30fd08b2ec17962079a38a6 (patch) | |
tree | 6f61f0fdad755ee04c07f52d65729a965a263940 /gst/rtpmanager/gstrtpssrcdemux.c | |
parent | 919deb449063c2b26485b7c07b829e081b7c7fae (diff) |
gst/rtpmanager/: Various leak fixes.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session), (free_session),
(get_client), (free_client), (gst_rtp_bin_associate),
(free_stream), (gst_rtp_bin_class_init), (gst_rtp_bin_dispose),
(gst_rtp_bin_finalize):
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init),
(gst_rtp_jitter_buffer_finalize):
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_release):
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_finalize),
(gst_rtp_session_set_property), (gst_rtp_session_chain_recv_rtp),
(gst_rtp_session_chain_send_rtp):
* gst/rtpmanager/gstrtpssrcdemux.c:
(gst_rtp_ssrc_demux_class_init), (gst_rtp_ssrc_demux_dispose):
* gst/rtpmanager/rtpsession.c: (rtp_session_finalize):
* gst/rtpmanager/rtpsession.h:
Various leak fixes.
Diffstat (limited to 'gst/rtpmanager/gstrtpssrcdemux.c')
-rw-r--r-- | gst/rtpmanager/gstrtpssrcdemux.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gst/rtpmanager/gstrtpssrcdemux.c b/gst/rtpmanager/gstrtpssrcdemux.c index c728a6d5..2f1e9e67 100644 --- a/gst/rtpmanager/gstrtpssrcdemux.c +++ b/gst/rtpmanager/gstrtpssrcdemux.c @@ -108,6 +108,7 @@ GST_BOILERPLATE (GstRtpSsrcDemux, gst_rtp_ssrc_demux, GstElement, /* GObject vmethods */ +static void gst_rtp_ssrc_demux_dispose (GObject * object); static void gst_rtp_ssrc_demux_finalize (GObject * object); /* GstElement vmethods */ @@ -257,6 +258,7 @@ gst_rtp_ssrc_demux_class_init (GstRtpSsrcDemuxClass * klass) gobject_klass = (GObjectClass *) klass; gstelement_klass = (GstElementClass *) klass; + gobject_klass->dispose = GST_DEBUG_FUNCPTR (gst_rtp_ssrc_demux_dispose); gobject_klass->finalize = GST_DEBUG_FUNCPTR (gst_rtp_ssrc_demux_finalize); /** @@ -306,6 +308,20 @@ gst_rtp_ssrc_demux_init (GstRtpSsrcDemux * demux, } static void +gst_rtp_ssrc_demux_dispose (GObject * object) +{ + GstRtpSsrcDemux *demux; + + demux = GST_RTP_SSRC_DEMUX (object); + + g_slist_foreach (demux->srcpads, (GFunc) g_free, NULL); + g_slist_free (demux->srcpads); + demux->srcpads = NULL; + + G_OBJECT_CLASS (parent_class)->dispose (object); +} + +static void gst_rtp_ssrc_demux_finalize (GObject * object) { GstRtpSsrcDemux *demux; |