- gst_memory_unmap (span, &dinfo);
- }
- return span;
-}
-
-static GstMemory *
-_span_memory (GstBuffer * buffer)
-{
- GstMemory *span, **mem[1];
- gsize size, len[1];
-
- /* not enough room, span buffers */
- mem[0] = GST_BUFFER_MEM_ARRAY (buffer);
- len[0] = GST_BUFFER_MEM_LEN (buffer);
-
- size = gst_buffer_get_size (buffer);
-
- span = _arr_span (mem, len, 1, size);
-
- return span;
-}
-
-static GstMemory *
-_get_merged_memory (GstBuffer * buffer, gboolean * merged)
-{
- guint len;
- GstMemory *mem;
-
- len = GST_BUFFER_MEM_LEN (buffer);
-
- if (G_UNLIKELY (len == 0)) {
- /* no memory */
- mem = NULL;
- } else if (G_LIKELY (len == 1)) {
- /* we can take the first one */
- mem = GST_BUFFER_MEM_PTR (buffer, 0);
- gst_memory_ref (mem);
- *merged = FALSE;
- } else {
- /* we need to span memory */
- mem = _span_memory (buffer);