streamsplitter: do not leak events when flushing them

https://bugzilla.gnome.org/show_bug.cgi?id=736796
This commit is contained in:
Ognyan Tonchev 2014-09-17 14:34:25 +02:00 committed by Sebastian Dröge
parent 2fff66b071
commit d9e67777e0

View file

@ -155,13 +155,13 @@ _flush_events (GstPad * pad, GList * events)
GList *tmp; GList *tmp;
for (tmp = events; tmp; tmp = tmp->next) { for (tmp = events; tmp; tmp = tmp->next) {
if (GST_EVENT_TYPE (tmp->data) == GST_EVENT_EOS || if (GST_EVENT_TYPE (tmp->data) != GST_EVENT_EOS &&
GST_EVENT_TYPE (tmp->data) == GST_EVENT_SEGMENT || GST_EVENT_TYPE (tmp->data) != GST_EVENT_SEGMENT &&
!GST_EVENT_IS_STICKY (tmp->data) || pad == NULL) { GST_EVENT_IS_STICKY (tmp->data) &&
gst_event_unref (tmp->data); pad != NULL) {
} else {
gst_pad_store_sticky_event (pad, GST_EVENT_CAST (tmp->data)); gst_pad_store_sticky_event (pad, GST_EVENT_CAST (tmp->data));
} }
gst_event_unref (tmp->data);
} }
g_list_free (events); g_list_free (events);