if (size == -1)
size = mem->mem.size > offset ? mem->mem.size - offset : 0;
- copy =
- _sysmem_new_block (0, mem->mem.maxsize, mem->mem.align,
- mem->mem.offset + offset, size);
+ copy = _sysmem_new_block (0, size, mem->mem.align, 0, size);
GST_CAT_DEBUG (GST_CAT_PERFORMANCE,
- "memcpy %" G_GSIZE_FORMAT " memory %p -> %p", mem->mem.maxsize, mem,
- copy);
- memcpy (copy->data, mem->data, mem->mem.maxsize);
+ "memcpy %" G_GSIZE_FORMAT " memory %p -> %p", size, mem, copy);
+ memcpy (copy->data, mem->data + mem->mem.offset + offset, size);
return copy;
}