From 76b5278f7ca11998cf0ad24e50ed4560a58bd22b Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Thu, 29 Aug 2013 23:18:31 +0200 Subject: [PATCH] capsfilter: Delete link directly in pending_events. When removing a segment event. https://bugzilla.gnome.org/show_bug.cgi?id=707088 --- plugins/elements/gstcapsfilter.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/elements/gstcapsfilter.c b/plugins/elements/gstcapsfilter.c index c5710ea..4cd8b71 100644 --- a/plugins/elements/gstcapsfilter.c +++ b/plugins/elements/gstcapsfilter.c @@ -366,17 +366,17 @@ gst_capsfilter_sink_event (GstBaseTransform * trans, GstEvent * event) if (GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) { GList *l; - for (l = filter->pending_events; l;) { + for (l = filter->pending_events; l; l = l->next) { if (GST_EVENT_TYPE (l->data) == GST_EVENT_SEGMENT) { gst_event_unref (l->data); - l = g_list_delete_link (l, l); - } else { - l = l->next; + filter->pending_events = g_list_delete_link (filter->pending_events, l); + break; } } } - if (!GST_EVENT_IS_STICKY (event) || GST_EVENT_TYPE (event) <= GST_EVENT_CAPS) + if (!GST_EVENT_IS_STICKY (event) + || GST_EVENT_TYPE (event) <= GST_EVENT_CAPS) goto done; /* If we get EOS before any buffers, just push all pending events */ -- 2.7.4