From b66d07a9e3a27af3a6b4d2cba8e7909b9beab46d Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 22 Aug 2011 09:56:58 +0000 Subject: Fix red on hwcodec. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30338 a1c6a512-1295-4272-9138-f99709370657 --- apps/talk.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'apps/talk.c') diff --git a/apps/talk.c b/apps/talk.c index ed7d55d455..2f15ebce49 100644 --- a/apps/talk.c +++ b/apps/talk.c @@ -77,6 +77,10 @@ const char* const file_thumbnail_ext = ".talk"; #define LOADED_MASK 0x80000000 /* MSB */ +/* swcodec: cap p_thumnail to MAX_THUMNAIL_BUFSIZE since audio keeps playing + * while voice + * hwcodec: just use whatever is left in the audiobuffer, music + * playback is impossible => no cap */ #if CONFIG_CODEC == SWCODEC #define MAX_THUMBNAIL_BUFSIZE 0x10000 #endif @@ -352,8 +356,10 @@ static void load_voicefile(bool probe, char* buf, size_t bufsize) } p_thumbnail = voicebuf.buf + file_size; p_thumbnail += (long)p_thumbnail % 2; /* 16-bit align */ - size_for_thumbnail = - MIN(voicebuf.buf + bufsize - p_thumbnail, MAX_THUMBNAIL_BUFSIZE); + size_for_thumbnail = voicebuf.buf + bufsize - p_thumbnail; +#if CONFIG_CODEC == SWCODEC + size_for_thumbnail = MIN(size_for_thumbnail, MAX_THUMBNAIL_BUFSIZE); +#endif if (size_for_thumbnail <= 0) p_thumbnail = NULL; } @@ -607,7 +613,9 @@ static void alloc_thumbnail_buf(void) { /* use the audio buffer now, need to release before loading a voice */ p_thumbnail = voicebuf; +#if CONFIG_CODEC == SWCODEC size_for_thumbnail = MAX_THUMBNAIL_BUFSIZE; +#endif thumbnail_buf_used = 0; } -- cgit v1.2.3