[MOVED FROM GST-P-FARSIGHT] Properly free non-start events

20070917001659-3e2dc-a571777e3ecfb90989f87412f554aa10a31cc2ca.gz
This commit is contained in:
Olivier Crete 2007-09-17 00:16:59 +00:00 committed by Edward Hervey
parent 5b7ae694d0
commit fce9b071f5

View file

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