From ed90b5dc55db6ee968e9a13e76489582bff97fa4 Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Tue, 4 Aug 2020 11:13:51 +0200 Subject: [PATCH] aggregator: fix iteration direction in skip_buffers Subclasses use the pad segment to determine whether a buffer should be skipped, we thus don't want to check if a buffer needs to be skipped before processing the segment it's part of. Part-of: --- libs/gst/base/gstaggregator.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c index 951cb7b..adb8596 100644 --- a/libs/gst/base/gstaggregator.c +++ b/libs/gst/base/gstaggregator.c @@ -944,9 +944,9 @@ gst_aggregator_pad_skip_buffers (GstElement * self, GstPad * epad, PAD_LOCK (aggpad); - item = g_queue_peek_head_link (&aggpad->priv->data); + item = g_queue_peek_tail_link (&aggpad->priv->data); while (item) { - GList *next = item->next; + GList *prev = item->prev; if (GST_IS_BUFFER (item->data) && klass->skip_buffer (aggpad, agg, item->data)) { @@ -958,7 +958,7 @@ gst_aggregator_pad_skip_buffers (GstElement * self, GstPad * epad, break; } - item = next; + item = prev; } PAD_UNLOCK (aggpad); -- 2.7.4