From: uchida Date: Fri, 14 May 2010 11:08:56 +0000 (+0000) Subject: fix: The second playback time is not correct in playing TTA musics continuously. X-Git-Url: https://repo.or.cz/w/kugel-rb.git/commitdiff_plain/12d18ec03c3952cf2e44bc20092c9e5fcc8aa256 fix: The second playback time is not correct in playing TTA musics continuously. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26015 a1c6a512-1295-4272-9138-f99709370657 --- diff --git a/apps/codecs/tta.c b/apps/codecs/tta.c index 541dc2b7e..2d531315a 100644 --- a/apps/codecs/tta.c +++ b/apps/codecs/tta.c @@ -38,7 +38,7 @@ enum codec_status codec_main(void) { tta_info info; int status = CODEC_OK; - unsigned int decodedsamples = 0; + unsigned int decodedsamples; int endofstream; int new_pos = 0; int sample_count; @@ -46,6 +46,7 @@ enum codec_status codec_main(void) /* Generic codec initialisation */ ci->configure(DSP_SET_SAMPLE_DEPTH, TTA_OUTPUT_DEPTH - 1); +next_track: if (codec_init()) { DEBUGF("codec_init() error\n"); @@ -53,16 +54,10 @@ enum codec_status codec_main(void) goto exit; } -next_track: while (!*ci->taginfo_ready && !ci->stop_codec) ci->sleep(1); - if (set_tta_info(&info) < 0) - { - status = CODEC_ERROR; - goto exit; - } - if (player_init(&info) < 0) + if (set_tta_info(&info) < 0 || player_init(&info) < 0) { status = CODEC_ERROR; goto exit; @@ -82,6 +77,7 @@ next_track: } /* The main decoder loop */ + decodedsamples = 0; endofstream = 0; if (ci->id3->offset > 0)