diff options
author | Steve Bavin <pondlife@pondlife.me> | 2006-09-28 16:45:23 +0000 |
---|---|---|
committer | Steve Bavin <pondlife@pondlife.me> | 2006-09-28 16:45:23 +0000 |
commit | 8b08935a3b3bfcfec60fc5e9a3fef2ef87b739c4 (patch) | |
tree | e353953360fbebef8a191b42729c21fd1edb277d /apps/playback.c | |
parent | c9a78621aff7ae9f8c1e2f6dfbccde9ed1d936bb (diff) | |
download | rockbox-8b08935a3b3bfcfec60fc5e9a3fef2ef87b739c4.tar.gz rockbox-8b08935a3b3bfcfec60fc5e9a3fef2ef87b739c4.zip |
Flush queued voice clips when not playing audio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11087 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/playback.c')
-rw-r--r-- | apps/playback.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c index b80cee7486..76f0788583 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -976,8 +976,9 @@ static void* voice_request_buffer_callback(size_t *realsize, size_t reqsize) | |||
976 | voice_remaining = 0; | 976 | voice_remaining = 0; |
977 | voicebuf = NULL; | 977 | voicebuf = NULL; |
978 | voice_boost_cpu(false); | 978 | voice_boost_cpu(false); |
979 | ci_voice.new_track = 1; | 979 | |
980 | /* Force the codec to think it's changing tracks */ | 980 | /* Force the codec to think it's changing tracks */ |
981 | ci_voice.new_track = 1; | ||
981 | *realsize = 0; | 982 | *realsize = 0; |
982 | return NULL; | 983 | return NULL; |
983 | } | 984 | } |
@@ -996,6 +997,11 @@ static void* voice_request_buffer_callback(size_t *realsize, size_t reqsize) | |||
996 | LOGFQUEUE("voice < Q_VOICE_PLAY"); | 997 | LOGFQUEUE("voice < Q_VOICE_PLAY"); |
997 | if (!voice_is_playing) | 998 | if (!voice_is_playing) |
998 | { | 999 | { |
1000 | /* Slight hack - flush PCM buffer if only being used for voice */ | ||
1001 | if (!playing && pcm_is_playing()) | ||
1002 | pcmbuf_play_stop(); | ||
1003 | |||
1004 | /* Set up new voice data */ | ||
999 | struct voice_info *voice_data; | 1005 | struct voice_info *voice_data; |
1000 | voice_is_playing = true; | 1006 | voice_is_playing = true; |
1001 | voice_boost_cpu(true); | 1007 | voice_boost_cpu(true); |