summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2013-12-24 01:16:10 +0100
committerThomas Martitz <kugel@rockbox.org>2013-12-24 01:16:10 +0100
commit5827e41904b2e3de7d5b7e53a8e55f35197e1add (patch)
treeda4dc70419b3b45b46cf7e88fe8301e275cd794a
parentd2ae832eef3e91c1a188b697d88ea6cffab0b6bf (diff)
downloadrockbox-5827e41904b2e3de7d5b7e53a8e55f35197e1add.zip
rockbox-5827e41904b2e3de7d5b7e53a8e55f35197e1add.tar.gz
rockbox-5827e41904b2e3de7d5b7e53a8e55f35197e1add.tar.bz2
rockbox-5827e41904b2e3de7d5b7e53a8e55f35197e1add.tar.xz
hwcodec: core_alloc_maximum() returned 0 bytes if talk.c controls the audio buffer.
On hwcodec talk.c has the entire audio buffer (not just parts of it), therefore it must give up everything and cannot count on core_alloc_maximum() to return the remaining space. This is equivalent to it was handled before 22e802e. You could probaby do smarter and shrink for example the .talk clip buffer but is it really worth it? Change-Id: Idc3431c59fb41b05338559c615093358c5d8ed9b
-rw-r--r--apps/talk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/talk.c b/apps/talk.c
index 9343661..8979952 100644
--- a/apps/talk.c
+++ b/apps/talk.c
@@ -875,6 +875,11 @@ bool talk_voice_required(void)
/* somebody else claims the mp3 buffer, e.g. for regular play/record */
void talk_buffer_set_policy(int policy)
{
+#if CONFIG_CODEC != SWCODEC
+ /* always grab the voice buffer for now */
+ (void) policy;
+ give_buffer_away = true;
+#else
switch(policy)
{
case TALK_BUFFER_DEFAULT:
@@ -882,6 +887,7 @@ void talk_buffer_set_policy(int policy)
case TALK_BUFFER_LOOSE: give_buffer_away = true; break;
default: DEBUGF("Ignoring unknown policy\n"); break;
}
+#endif
}
/* play a voice ID from voicefile */