Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu@centricular.com>2020-08-04 12:13:51 +0300
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-09-24 21:30:43 +0300
commiteed0e22020b090871af268cbc626916f87856578 (patch)
tree9e19ec5234a34e3de69094f02bd9a7f085665ef4
parente9e2069de5f653c6f9e1b7a7ae9d868023f07bfd (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.c6
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);