From f3add928416e9b44a1db8456b49703ca259c0930 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Wed, 2 Aug 2006 18:35:24 +0000 Subject: Adjusted buffer watermarks for better crossfade and playback stability. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10416 a1c6a512-1295-4272-9138-f99709370657 --- apps/pcmbuf.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c index 6d4c091745..2075fc66e7 100644 --- a/apps/pcmbuf.c +++ b/apps/pcmbuf.c @@ -36,7 +36,8 @@ #include "audio.h" #include "dsp.h" -#define PCMBUF_WATERMARK (NATIVE_FREQUENCY * 4 * 1) +/* 1.5s low mark */ +#define PCMBUF_WATERMARK (NATIVE_FREQUENCY * 6) /* Structure we can use to queue pcm chunks in memory to be played * by the driver code. */ @@ -298,7 +299,7 @@ bool pcmbuf_crossfade_init(bool manual_skip) } /* Not enough data, or crossfade disabled, flush the old data instead */ - if (LOW_DATA(6) || !pcmbuf_is_crossfade_enabled() || low_latency_mode) + if (LOW_DATA(2) || !pcmbuf_is_crossfade_enabled() || low_latency_mode) { pcmbuf_boost(true); pcmbuf_flush_fillpos(); @@ -973,10 +974,10 @@ void pcmbuf_crossfade_enable(bool on_off) crossfade_enabled = on_off; if (crossfade_enabled) { - /* If crossfading, try to keep the buffer full other than 2 second */ - pcmbuf_set_watermark_bytes(pcmbuf_size - PCMBUF_WATERMARK * 2); + /* If crossfading, try to keep the buffer full other than 1 second */ + pcmbuf_set_watermark_bytes(pcmbuf_size - (NATIVE_FREQUENCY * 4 * 1)); } else { - /* Otherwise, just keep it above 1 second */ + /* Otherwise, just keep it above 2 second */ pcmbuf_set_watermark_bytes(PCMBUF_WATERMARK); } } -- cgit v1.2.3