]> code.delx.au - pulseaudio/commitdiff
add new API function pa_memchunk_memcpy()
authorLennart Poettering <lennart@poettering.net>
Sun, 20 Apr 2008 19:40:30 +0000 (19:40 +0000)
committerLennart Poettering <lennart@poettering.net>
Sun, 20 Apr 2008 19:40:30 +0000 (19:40 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2271 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/memchunk.c
src/pulsecore/memchunk.h

index 4e73b6361147fa3647166b06d719e365be80de38..16a9c140195e353ccda05c037b2c0dcd214dc9d6 100644 (file)
@@ -90,3 +90,23 @@ pa_memchunk *pa_memchunk_will_need(const pa_memchunk *c) {
 
     return (pa_memchunk*) c;
 }
+
+pa_memchunk* pa_memchunk_memcpy(pa_memchunk *dst, pa_memchunk *src) {
+    void *p, *q;
+
+    pa_assert(dst);
+    pa_assert(src);
+    pa_assert(dst->length == src->length);
+
+    p = pa_memblock_acquire(dst->memblock);
+    q = pa_memblock_acquire(src->memblock);
+
+    memmove((uint8_t*) p + dst->index,
+            (uint8_t*) q + src->index,
+            dst->length);
+
+    pa_memblock_release(dst->memblock);
+    pa_memblock_release(src->memblock);
+
+    return dst;
+}
index e6105acebdba812f511f73f7c0617c3e1185a8f5..46a824066a324eff01cffbf5d3277e984aafc5ee 100644 (file)
@@ -49,4 +49,7 @@ pa_memchunk* pa_memchunk_reset(pa_memchunk *c);
 /* Map a memory chunk back into memory if it was swapped out */
 pa_memchunk *pa_memchunk_will_need(const pa_memchunk *c);
 
+/* Copy the data in the src memchunk to the dst memchunk */
+pa_memchunk* pa_memchunk_memcpy(pa_memchunk *dst, pa_memchunk *src);
+
 #endif