[MOVED FROM GST-P-FARSIGHT] Properly free non-start events
authorOlivier Crete <olivier.crete@collabora.co.uk>
Mon, 17 Sep 2007 00:16:59 +0000 (00:16 +0000)
committerEdward Hervey <bilboed@bilboed.com>
Sat, 21 Feb 2009 16:48:03 +0000 (17:48 +0100)
20070917001659-3e2dc-a571777e3ecfb90989f87412f554aa10a31cc2ca.gz

gst/dtmf/gstdtmfsrc.c

index 866a719..0b8fb20 100644 (file)
@@ -652,6 +652,7 @@ gst_dtmf_src_create (GstBaseSrc * basesrc, guint64 offset,
 
           event->packet_count = 0;
           dtmfsrc->last_event = event;
+          event = NULL;
           break;
         case DTMF_EVENT_TYPE_PAUSE_TASK:
           /*
@@ -667,6 +668,8 @@ gst_dtmf_src_create (GstBaseSrc * basesrc, guint64 offset,
           GST_OBJECT_UNLOCK (dtmfsrc);
           break;
       }
+      if (event)
+        g_free (event);
     } else if (dtmfsrc->last_event->packet_count  * dtmfsrc->interval >=
         MIN_DUTY_CYCLE) {
       event = g_async_queue_try_pop (dtmfsrc->event_queue);
@@ -700,6 +703,7 @@ gst_dtmf_src_create (GstBaseSrc * basesrc, guint64 offset,
 
             break;
         }
+        g_free (event);
       }
     }
   } while (dtmfsrc->last_event == NULL);