summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bb2020b)
raw | patch | inline | side by side (parent: bb2020b)
author | Tim-Philipp Müller <tim.muller@collabora.co.uk> | |
Tue, 1 Nov 2011 14:17:21 +0000 (14:17 +0000) | ||
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | |
Tue, 1 Nov 2011 14:17:21 +0000 (14:17 +0000) |
Use a stack-allocated GQueue to assemble our GList.
libs/gst/base/gstadapter.c | patch | blob | history |
index 75944a902aec71a9debe80d6a1cda7ee3a951bce..0f8053da86ca8b985aebd7ce6464f800202712b3 100644 (file)
GList *
gst_adapter_take_list (GstAdapter * adapter, guint nbytes)
{
- GList *result = NULL, *tail = NULL;
+ GQueue queue = G_QUEUE_INIT;
GstBuffer *cur;
guint hsize, skip;
cur = gst_adapter_take_buffer (adapter, hsize);
- if (result == NULL) {
- result = tail = g_list_append (result, cur);
- } else {
- tail = g_list_append (tail, cur);
- tail = g_list_next (tail);
- }
+ g_queue_push_tail (&queue, cur);
+
nbytes -= hsize;
}
- return result;
+ return queue.head;
}
/**