summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-07-10 20:37:36 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-07-10 20:37:36 +0000
commit0d63cbba4b29c051a87986f7240dabc9f14cb49b (patch)
tree06ff19fe707ce4e1a5bf3f57b6dcd271c950993f
parent1ed292ca5e61b90ac00775900aa12b22489050c4 (diff)
downloadrockbox-0d63cbba4b29c051a87986f7240dabc9f14cb49b.tar.gz
rockbox-0d63cbba4b29c051a87986f7240dabc9f14cb49b.tar.bz2
rockbox-0d63cbba4b29c051a87986f7240dabc9f14cb49b.zip
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
-rw-r--r--apps/codecs/mpa.c2
-rw-r--r--apps/codecs/vorbis.c2
-rw-r--r--apps/codecs/wavpack.c2
-rw-r--r--apps/playback.c4
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;
}
}