[gst-cvs] gst-plugins-bad: dtmfsrc: Empty event queue on finalize

Olivier Crête tester at kemper.freedesktop.org
Wed Aug 12 14:08:12 PDT 2009


Module: gst-plugins-bad
Branch: master
Commit: 402aad7e871ab242ef16c8c715c50e5a2c236f9a
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=402aad7e871ab242ef16c8c715c50e5a2c236f9a

Author: Olivier Crête <olivier.crete at collabora.co.uk>
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;





More information about the Gstreamer-commits mailing list