From: <te...@ke...> - 2009-08-12 21:08:23
|
Module: gst-plugins-bad Branch: master Commit: 402aad7e871ab242ef16c8c715c50e5a2c236f9a URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=402aad7e871ab242ef16c8c715c50e5a2c236f9a Author: Olivier Crête <oli...@co...> Date: Tue Aug 11 16:42:51 2009 -0400 dtmfsrc: Empty event queue on finalize --- gst/dtmf/gstdtmfsrc.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/gst/dtmf/gstdtmfsrc.c b/gst/dtmf/gstdtmfsrc.c index 4115395..7a1f14b 100644 --- a/gst/dtmf/gstdtmfsrc.c +++ b/gst/dtmf/gstdtmfsrc.c @@ -287,6 +287,12 @@ gst_dtmf_src_class_init (GstDTMFSrcClass * klass) gstbasesrc_class->negotiate = GST_DEBUG_FUNCPTR (gst_dtmf_src_negotiate); } +static void +event_free (GstDTMFSrcEvent * event) +{ + if (event) + g_slice_free (GstDTMFSrcEvent, event); +} static void gst_dtmf_src_init (GstDTMFSrc * dtmfsrc, GstDTMFSrcClass * g_class) @@ -297,7 +303,7 @@ gst_dtmf_src_init (GstDTMFSrc * dtmfsrc, GstDTMFSrcClass * g_class) dtmfsrc->interval = DEFAULT_PACKET_INTERVAL; - dtmfsrc->event_queue = g_async_queue_new (); + dtmfsrc->event_queue = g_async_queue_new_full ((GDestroyNotify) event_free); dtmfsrc->last_event = NULL; dtmfsrc->sample_rate = DEFAULT_SAMPLE_RATE; |