diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2005-07-10 20:37:36 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2005-07-10 20:37:36 +0000 |
commit | 0d63cbba4b29c051a87986f7240dabc9f14cb49b (patch) | |
tree | 06ff19fe707ce4e1a5bf3f57b6dcd271c950993f /apps | |
parent | 1ed292ca5e61b90ac00775900aa12b22489050c4 (diff) | |
download | rockbox-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.c | 2 | ||||
-rw-r--r-- | apps/codecs/vorbis.c | 2 | ||||
-rw-r--r-- | apps/codecs/wavpack.c | 2 | ||||
-rw-r--r-- | 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) | |||
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 | } |