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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/646>
This commit is contained in:
Mathieu Duponchelle 2020-08-04 11:13:51 +02:00 committed by GStreamer Merge Bot
parent e9e2069de5
commit eed0e22020

View file

@ -814,9 +814,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)) {
@ -828,7 +828,7 @@ gst_aggregator_pad_skip_buffers (GstElement * self, GstPad * epad,
break;
}
item = next;
item = prev;
}
PAD_UNLOCK (aggpad);