diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-12-11 14:04:03 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-12-11 14:04:03 +0000 |
commit | a9d73e5e68cdc2c2463813eabdac33a4d7ffd6fe (patch) | |
tree | b0b5780abd0bfb13e6d8e586887a08a7e74fb3f2 /apps/voice_thread.c | |
parent | 7ab63e3f1b621781339ee7efae5e25427618474e (diff) | |
download | rockbox-a9d73e5e68cdc2c2463813eabdac33a4d7ffd6fe.tar.gz rockbox-a9d73e5e68cdc2c2463813eabdac33a4d7ffd6fe.zip |
A final queue_post in voice_stop via. talk_force_shutup can try stopping PCM too late and interfere PCM playback after plugins init IRAM or calling audio_get_buffer. Send the NULL message to the voice thread to ensure all messages are done.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15911 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/voice_thread.c')
-rw-r--r-- | apps/voice_thread.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/apps/voice_thread.c b/apps/voice_thread.c index 4027fd067b..7bf52d4d0d 100644 --- a/apps/voice_thread.c +++ b/apps/voice_thread.c | |||
@@ -173,6 +173,10 @@ void voice_stop(void) | |||
173 | /* Unqueue all future clips */ | 173 | /* Unqueue all future clips */ |
174 | talk_force_shutup(); | 174 | talk_force_shutup(); |
175 | 175 | ||
176 | /* Wait for any final queue_post to be processed */ | ||
177 | LOGFQUEUE("mp3 >| voice Q_VOICE_NULL"); | ||
178 | queue_send(&voice_queue, Q_VOICE_NULL, 0); | ||
179 | |||
176 | mutex_unlock(&voice_mutex); | 180 | mutex_unlock(&voice_mutex); |
177 | } /* voice_stop */ | 181 | } /* voice_stop */ |
178 | 182 | ||