diff options
author | Mathieu Duponchelle <mathieu@centricular.com> | 2020-08-04 12:13:51 +0300 |
---|---|---|
committer | GStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2020-09-24 21:30:43 +0300 |
commit | eed0e22020b090871af268cbc626916f87856578 (patch) | |
tree | 9e19ec5234a34e3de69094f02bd9a7f085665ef4 | |
parent | e9e2069de5f653c6f9e1b7a7ae9d868023f07bfd (diff) |
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>
-rw-r--r-- | libs/gst/base/gstaggregator.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c index 5cdb852dc1..16287dd092 100644 --- a/libs/gst/base/gstaggregator.c +++ b/libs/gst/base/gstaggregator.c @@ -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); |