summaryrefslogtreecommitdiff
path: root/apps/codec_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codec_thread.c')
-rw-r--r--apps/codec_thread.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/apps/codec_thread.c b/apps/codec_thread.c
index 6f15ba1..9b17d7c 100644
--- a/apps/codec_thread.c
+++ b/apps/codec_thread.c
@@ -193,10 +193,15 @@ void codec_thread_do_callback(void (*fn)(void), unsigned int *id)
static void* codec_get_buffer(size_t *size)
{
- if (codec_size >= CODEC_SIZE)
+ ssize_t s = CODEC_SIZE - codec_size;
+ void *buf = &codecbuf[codec_size];
+ ALIGN_BUFFER(buf, s, CACHEALIGN_SIZE);
+
+ if (s <= 0)
return NULL;
- *size = CODEC_SIZE - codec_size;
- return &codecbuf[codec_size];
+
+ *size = s;
+ return buf;
}
static void codec_pcmbuf_insert_callback(