From 0d63cbba4b29c051a87986f7240dabc9f14cb49b Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Sun, 10 Jul 2005 20:37:36 +0000 Subject: Fixed a problem with transition to next album which caused rockbox virtually to crash. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7096 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/mpa.c | 2 +- apps/codecs/vorbis.c | 2 +- apps/codecs/wavpack.c | 2 +- apps/playback.c | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/codecs/mpa.c b/apps/codecs/mpa.c index 5d6f7d29ad..126d9b6d67 100644 --- a/apps/codecs/mpa.c +++ b/apps/codecs/mpa.c @@ -110,7 +110,7 @@ enum codec_status codec_start(struct codec_api* api) first_frame = false; file_end = 0; - while (!*ci->taginfo_ready) + while (!*ci->taginfo_ready && !ci->stop_codec) ci->yield(); frequency_divider = ci->id3->frequency / 100; diff --git a/apps/codecs/vorbis.c b/apps/codecs/vorbis.c index 946f2f9377..353b90fb0b 100644 --- a/apps/codecs/vorbis.c +++ b/apps/codecs/vorbis.c @@ -137,7 +137,7 @@ enum codec_status codec_start(struct codec_api* api) return CODEC_ERROR; } - while (!rb->taginfo_ready) + while (!*rb->taginfo_ready && !rb->stop_codec) rb->yield(); if (rb->id3->frequency != NATIVE_FREQUENCY) { diff --git a/apps/codecs/wavpack.c b/apps/codecs/wavpack.c index 39b8514fe5..372fe20508 100644 --- a/apps/codecs/wavpack.c +++ b/apps/codecs/wavpack.c @@ -74,7 +74,7 @@ enum codec_status codec_start(struct codec_api* api) if (codec_init(api)) return CODEC_ERROR; - while (!rb->taginfo_ready) + while (!*rb->taginfo_ready && !ci->stop_codec) ci->yield(); if (ci->id3->frequency != NATIVE_FREQUENCY) { diff --git a/apps/playback.c b/apps/playback.c index 3cdfed96cd..8bc2f3b79e 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -1036,7 +1036,7 @@ void audio_play_start(int offset) close(current_fd); current_fd = -1; } - + memset(&tracks, 0, sizeof(struct track_info) * MAX_TRACK); sound_set(SOUND_VOLUME, global_settings.volume); track_count = 0; @@ -1367,7 +1367,7 @@ bool codec_request_next_track_callback(void) logf("No more tracks [2]"); ci.stop_codec = true; new_track = 0; - queue_post(&codec_queue, CODEC_LOAD, 0); + queue_post(&audio_queue, AUDIO_PLAY, 0); return false; } } -- cgit v1.2.3