summaryrefslogtreecommitdiff
path: root/apps
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 /apps
parent1ed292ca5e61b90ac00775900aa12b22489050c4 (diff)
downloadrockbox-0d63cbba4b29c051a87986f7240dabc9f14cb49b.tar.gz
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
Diffstat (limited to 'apps')
-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)
110 first_frame = false; 110 first_frame = false;
111 file_end = 0; 111 file_end = 0;
112 112
113 while (!*ci->taginfo_ready) 113 while (!*ci->taginfo_ready && !ci->stop_codec)
114 ci->yield(); 114 ci->yield();
115 115
116 frequency_divider = ci->id3->frequency / 100; 116 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)
137 return CODEC_ERROR; 137 return CODEC_ERROR;
138 } 138 }
139 139
140 while (!rb->taginfo_ready) 140 while (!*rb->taginfo_ready && !rb->stop_codec)
141 rb->yield(); 141 rb->yield();
142 142
143 if (rb->id3->frequency != NATIVE_FREQUENCY) { 143 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)
74 if (codec_init(api)) 74 if (codec_init(api))
75 return CODEC_ERROR; 75 return CODEC_ERROR;
76 76
77 while (!rb->taginfo_ready) 77 while (!*rb->taginfo_ready && !ci->stop_codec)
78 ci->yield(); 78 ci->yield();
79 79
80 if (ci->id3->frequency != NATIVE_FREQUENCY) { 80 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)
1036 close(current_fd); 1036 close(current_fd);
1037 current_fd = -1; 1037 current_fd = -1;
1038 } 1038 }
1039 1039
1040 memset(&tracks, 0, sizeof(struct track_info) * MAX_TRACK); 1040 memset(&tracks, 0, sizeof(struct track_info) * MAX_TRACK);
1041 sound_set(SOUND_VOLUME, global_settings.volume); 1041 sound_set(SOUND_VOLUME, global_settings.volume);
1042 track_count = 0; 1042 track_count = 0;
@@ -1367,7 +1367,7 @@ bool codec_request_next_track_callback(void)
1367 logf("No more tracks [2]"); 1367 logf("No more tracks [2]");
1368 ci.stop_codec = true; 1368 ci.stop_codec = true;
1369 new_track = 0; 1369 new_track = 0;
1370 queue_post(&codec_queue, CODEC_LOAD, 0); 1370 queue_post(&audio_queue, AUDIO_PLAY, 0);
1371 return false; 1371 return false;
1372 } 1372 }
1373 } 1373 }