diff options
Diffstat (limited to 'apps/codecs')
-rw-r--r-- | apps/codecs/aiff.c | 4 | ||||
-rw-r--r-- | apps/codecs/ape.c | 6 | ||||
-rw-r--r-- | apps/codecs/mpc.c | 3 | ||||
-rw-r--r-- | apps/codecs/sid.c | 4 |
4 files changed, 10 insertions, 7 deletions
diff --git a/apps/codecs/aiff.c b/apps/codecs/aiff.c index 93a7c39489..8b90f7fe9c 100644 --- a/apps/codecs/aiff.c +++ b/apps/codecs/aiff.c | |||
@@ -72,8 +72,8 @@ next_track: | |||
72 | goto exit; | 72 | goto exit; |
73 | } | 73 | } |
74 | 74 | ||
75 | while (!*ci->taginfo_ready) | 75 | while (!*ci->taginfo_ready && !ci->stop_codec) |
76 | ci->yield(); | 76 | ci->sleep(1); |
77 | 77 | ||
78 | codec_set_replaygain(ci->id3); | 78 | codec_set_replaygain(ci->id3); |
79 | 79 | ||
diff --git a/apps/codecs/ape.c b/apps/codecs/ape.c index 6679a1a307..76c1d1af8d 100644 --- a/apps/codecs/ape.c +++ b/apps/codecs/ape.c | |||
@@ -164,6 +164,9 @@ enum codec_status codec_main(void) | |||
164 | goto exit; | 164 | goto exit; |
165 | } | 165 | } |
166 | 166 | ||
167 | while (!*ci->taginfo_ready && !ci->stop_codec) | ||
168 | ci->sleep(1); | ||
169 | |||
167 | inbuffer = ci->request_buffer(&bytesleft, INPUT_CHUNKSIZE); | 170 | inbuffer = ci->request_buffer(&bytesleft, INPUT_CHUNKSIZE); |
168 | 171 | ||
169 | /* Read the file headers to populate the ape_ctx struct */ | 172 | /* Read the file headers to populate the ape_ctx struct */ |
@@ -198,9 +201,6 @@ enum codec_status codec_main(void) | |||
198 | (ape_ctx.seektablefilepos + | 201 | (ape_ctx.seektablefilepos + |
199 | ape_ctx.numseekpoints * sizeof(uint32_t))); | 202 | ape_ctx.numseekpoints * sizeof(uint32_t))); |
200 | 203 | ||
201 | while (!*ci->taginfo_ready && !ci->stop_codec) | ||
202 | ci->sleep(1); | ||
203 | |||
204 | ci->configure(DSP_SWITCH_FREQUENCY, ape_ctx.samplerate); | 204 | ci->configure(DSP_SWITCH_FREQUENCY, ape_ctx.samplerate); |
205 | ci->configure(DSP_SET_STEREO_MODE, ape_ctx.channels == 1 ? | 205 | ci->configure(DSP_SET_STEREO_MODE, ape_ctx.channels == 1 ? |
206 | STEREO_MONO : STEREO_NONINTERLEAVED); | 206 | STEREO_MONO : STEREO_NONINTERLEAVED); |
diff --git a/apps/codecs/mpc.c b/apps/codecs/mpc.c index 207a09445f..c74c10ee64 100644 --- a/apps/codecs/mpc.c +++ b/apps/codecs/mpc.c | |||
@@ -98,6 +98,9 @@ next_track: | |||
98 | goto exit; | 98 | goto exit; |
99 | } | 99 | } |
100 | 100 | ||
101 | while (!*ci->taginfo_ready && !ci->stop_codec) | ||
102 | ci->sleep(1); | ||
103 | |||
101 | samplesdone = ci->id3->offset; | 104 | samplesdone = ci->id3->offset; |
102 | 105 | ||
103 | /* read file's streaminfo data */ | 106 | /* read file's streaminfo data */ |
diff --git a/apps/codecs/sid.c b/apps/codecs/sid.c index bb43aef680..1a1e912354 100644 --- a/apps/codecs/sid.c +++ b/apps/codecs/sid.c | |||
@@ -1221,8 +1221,8 @@ next_track: | |||
1221 | return CODEC_ERROR; | 1221 | return CODEC_ERROR; |
1222 | } | 1222 | } |
1223 | 1223 | ||
1224 | while (!*ci->taginfo_ready) | 1224 | while (!*ci->taginfo_ready && !ci->stop_codec) |
1225 | ci->yield(); | 1225 | ci->sleep(1); |
1226 | 1226 | ||
1227 | codec_set_replaygain(ci->id3); | 1227 | codec_set_replaygain(ci->id3); |
1228 | 1228 | ||