That is, provide correct return value (as documented), and actually
loop to consider more than the first 2 buffers.
{
GstBuffer *cur, *head;
GSList *g;
+ gboolean ret = FALSE;
g = adapter->buflist;
if (g == NULL)
while (g != NULL && GST_BUFFER_SIZE (head) < size) {
cur = g->data;
if (!gst_buffer_is_span_fast (head, cur))
- return TRUE;
+ return ret;
/* Merge the head buffer and the next in line */
GST_LOG_OBJECT (adapter,
GST_BUFFER_SIZE (head), GST_BUFFER_SIZE (cur), size);
head = gst_buffer_join (head, cur);
+ ret = TRUE;
/* Delete the front list item, and store our new buffer in the 2nd list
* item */
adapter->buflist = g_slist_delete_link (adapter->buflist, adapter->buflist);
g->data = head;
+
+ g = g_slist_next (g);
}
- return FALSE;
+ return ret;
}
/**