diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2008-04-17 07:31:44 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-04-17 07:31:44 +0000 |
commit | 0fcc94b64e15856b823fbcad1275b7cc29678b6a (patch) | |
tree | 3c4a26780dc36eaead14bd74989b6184aa1371a6 /gst/rtpmanager/gstrtpptdemux.c | |
parent | 720aaac7a49f9a85e4a2a7a97831873fd8a2e121 (diff) | |
download | gst-plugins-bad-0fcc94b64e15856b823fbcad1275b7cc29678b6a.tar.gz gst-plugins-bad-0fcc94b64e15856b823fbcad1275b7cc29678b6a.tar.bz2 gst-plugins-bad-0fcc94b64e15856b823fbcad1275b7cc29678b6a.zip |
gst/rtpmanager/: Unset GValues after g_signal_emitv so that we avoid a refcount leak.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (get_pt_map), (free_client),
(gst_rtp_bin_associate), (gst_rtp_bin_get_free_pad_name):
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_get_clock_rate):
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_get_caps):
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate):
Unset GValues after g_signal_emitv so that we avoid a refcount leak.
Don't leak a padname.
Don't leak client streams list.
Lock rtpbin when associating streams. Fixes #528245.
Diffstat (limited to 'gst/rtpmanager/gstrtpptdemux.c')
-rw-r--r-- | gst/rtpmanager/gstrtpptdemux.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/rtpmanager/gstrtpptdemux.c b/gst/rtpmanager/gstrtpptdemux.c index b11ff11a..f3121cb4 100644 --- a/gst/rtpmanager/gstrtpptdemux.c +++ b/gst/rtpmanager/gstrtpptdemux.c @@ -273,7 +273,10 @@ gst_rtp_pt_demux_get_caps (GstRtpPtDemux * rtpdemux, guint pt) g_signal_emitv (args, gst_rtp_pt_demux_signals[SIGNAL_REQUEST_PT_MAP], 0, &ret); - caps = g_value_get_boxed (&ret); + g_value_unset (&args[0]); + g_value_unset (&args[1]); + caps = g_value_dup_boxed (&ret); + g_value_unset (&ret); if (caps == NULL) caps = GST_PAD_CAPS (rtpdemux->sink); |