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.zip rockbox-a9d73e5e68cdc2c2463813eabdac33a4d7ffd6fe.tar.gz rockbox-a9d73e5e68cdc2c2463813eabdac33a4d7ffd6fe.tar.bz2 rockbox-a9d73e5e68cdc2c2463813eabdac33a4d7ffd6fe.tar.xz | |
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 4027fd0..7bf52d4 100644 --- a/apps/voice_thread.c +++ b/apps/voice_thread.c @@ -173,6 +173,10 @@ void voice_stop(void) /* Unqueue all future clips */ talk_force_shutup(); + /* Wait for any final queue_post to be processed */ + LOGFQUEUE("mp3 >| voice Q_VOICE_NULL"); + queue_send(&voice_queue, Q_VOICE_NULL, 0); + mutex_unlock(&voice_mutex); } /* voice_stop */ |