diff options
Diffstat (limited to 'apps/codecs/speex.c')
-rw-r--r-- | apps/codecs/speex.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/apps/codecs/speex.c b/apps/codecs/speex.c index 2a02ccb4b5..e38a04495c 100644 --- a/apps/codecs/speex.c +++ b/apps/codecs/speex.c | |||
@@ -371,7 +371,7 @@ static void *process_header(spx_ogg_packet *op, | |||
371 | enum codec_status codec_main(void) | 371 | enum codec_status codec_main(void) |
372 | { | 372 | { |
373 | SpeexBits bits; | 373 | SpeexBits bits; |
374 | int error = 0; | 374 | int error; |
375 | int eof = 0; | 375 | int eof = 0; |
376 | spx_ogg_sync_state oy; | 376 | spx_ogg_sync_state oy; |
377 | spx_ogg_page og; | 377 | spx_ogg_page og; |
@@ -395,16 +395,18 @@ enum codec_status codec_main(void) | |||
395 | 395 | ||
396 | /* Ogg handling still uses mallocs, so reset the malloc buffer per track */ | 396 | /* Ogg handling still uses mallocs, so reset the malloc buffer per track */ |
397 | next_track: | 397 | next_track: |
398 | error = CODEC_OK; | ||
398 | 399 | ||
399 | if (codec_init()) { | 400 | if (codec_init()) { |
400 | error = CODEC_ERROR; | 401 | error = CODEC_ERROR; |
401 | goto exit; | 402 | goto exit; |
402 | } | 403 | } |
403 | stereo = speex_stereo_state_init(); | 404 | stereo = speex_stereo_state_init(); |
404 | strtoffset = ci->id3->offset; | ||
405 | 405 | ||
406 | while (!*ci->taginfo_ready && !ci->stop_codec) | 406 | if (codec_wait_taginfo() != 0) |
407 | ci->sleep(1); | 407 | goto done; |
408 | |||
409 | strtoffset = ci->id3->offset; | ||
408 | 410 | ||
409 | spx_ogg_sync_init(&oy); | 411 | spx_ogg_sync_init(&oy); |
410 | spx_ogg_alloc_buffer(&oy,2*CHUNKSIZE); | 412 | spx_ogg_alloc_buffer(&oy,2*CHUNKSIZE); |
@@ -569,8 +571,6 @@ done: | |||
569 | goto next_track; | 571 | goto next_track; |
570 | } | 572 | } |
571 | 573 | ||
572 | error = CODEC_OK; | ||
573 | |||
574 | exit: | 574 | exit: |
575 | speex_bits_destroy(&bits); | 575 | speex_bits_destroy(&bits); |
576 | 576 | ||