summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/sample-util.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-04-20 19:41:26 +0000
committerLennart Poettering <lennart@poettering.net>2008-04-20 19:41:26 +0000
commit1ddb95a4ce337d6fbe113655437b64c293318d5f (patch)
treed7f882b06c1795b82146792af9c978ba118d6546 /src/pulsecore/sample-util.h
parent4b1d684d261c52ad6ed83f1d8efdaff7105ba324 (diff)
add new silence memblock caching subsystem
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2272 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/sample-util.h')
-rw-r--r--src/pulsecore/sample-util.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/pulsecore/sample-util.h b/src/pulsecore/sample-util.h
index 2ef8f924..45f00883 100644
--- a/src/pulsecore/sample-util.h
+++ b/src/pulsecore/sample-util.h
@@ -30,10 +30,18 @@
#include <pulsecore/memblock.h>
#include <pulsecore/memchunk.h>
-pa_memblock *pa_silence_memblock(pa_memblock* b, const pa_sample_spec *spec);
-pa_memblock *pa_silence_memblock_new(pa_mempool *pool, const pa_sample_spec *spec, size_t length);
-void pa_silence_memchunk(pa_memchunk *c, const pa_sample_spec *spec);
-void pa_silence_memory(void *p, size_t length, const pa_sample_spec *spec);
+typedef struct pa_silence_cache {
+ pa_memblock* blocks[PA_SAMPLE_MAX];
+} pa_silence_cache;
+
+void pa_silence_cache_init(pa_silence_cache *cache);
+void pa_silence_cache_done(pa_silence_cache *cache);
+
+void *pa_silence_memory(void *p, size_t length, const pa_sample_spec *spec);
+pa_memchunk* pa_silence_memchunk(pa_memchunk *c, const pa_sample_spec *spec);
+pa_memblock* pa_silence_memblock(pa_memblock *b, const pa_sample_spec *spec);
+
+pa_memchunk* pa_silence_memchunk_get(pa_silence_cache *cache, pa_mempool *pool, pa_memchunk* ret, const pa_sample_spec *spec, size_t length);
typedef struct pa_mix_info {
pa_memchunk chunk;