diff options
Diffstat (limited to 'apps/codecs/a52.c')
-rw-r--r-- | apps/codecs/a52.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/codecs/a52.c b/apps/codecs/a52.c index d399e91627..00fdeea309 100644 --- a/apps/codecs/a52.c +++ b/apps/codecs/a52.c | |||
@@ -128,13 +128,15 @@ enum codec_status codec_main(void) | |||
128 | ci->configure(DSP_SET_SAMPLE_DEPTH, 28); | 128 | ci->configure(DSP_SET_SAMPLE_DEPTH, 28); |
129 | 129 | ||
130 | next_track: | 130 | next_track: |
131 | retval = CODEC_OK; | ||
132 | |||
131 | if (codec_init()) { | 133 | if (codec_init()) { |
132 | retval = CODEC_ERROR; | 134 | retval = CODEC_ERROR; |
133 | goto exit; | 135 | goto exit; |
134 | } | 136 | } |
135 | 137 | ||
136 | while (!ci->taginfo_ready) | 138 | if (codec_wait_taginfo() != 0) |
137 | ci->yield(); | 139 | goto request_next_track; |
138 | 140 | ||
139 | ci->configure(DSP_SWITCH_FREQUENCY, ci->id3->frequency); | 141 | ci->configure(DSP_SWITCH_FREQUENCY, ci->id3->frequency); |
140 | codec_set_replaygain(ci->id3); | 142 | codec_set_replaygain(ci->id3); |
@@ -176,8 +178,8 @@ next_track: | |||
176 | a52_decode_data(filebuf, filebuf + n); | 178 | a52_decode_data(filebuf, filebuf + n); |
177 | ci->advance_buffer(n); | 179 | ci->advance_buffer(n); |
178 | } | 180 | } |
179 | retval = CODEC_OK; | ||
180 | 181 | ||
182 | request_next_track: | ||
181 | if (ci->request_next_track()) | 183 | if (ci->request_next_track()) |
182 | goto next_track; | 184 | goto next_track; |
183 | 185 | ||