diff options
| author | Yoshihisa Uchida <uchida@rockbox.org> | 2010-05-14 11:08:56 +0000 |
|---|---|---|
| committer | Yoshihisa Uchida <uchida@rockbox.org> | 2010-05-14 11:08:56 +0000 |
| commit | 32794a9eef4c77e65bbd4e8b85040fc0a6f00d63 (patch) | |
| tree | dd885133251bf55e3d4eb79ed47986e552491939 /apps | |
| parent | 020dddffacccda4dbf88b0f72ebed65759d858c8 (diff) | |
| download | rockbox-32794a9eef4c77e65bbd4e8b85040fc0a6f00d63.zip rockbox-32794a9eef4c77e65bbd4e8b85040fc0a6f00d63.tar.gz rockbox-32794a9eef4c77e65bbd4e8b85040fc0a6f00d63.tar.bz2 rockbox-32794a9eef4c77e65bbd4e8b85040fc0a6f00d63.tar.xz | |
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
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/codecs/tta.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/apps/codecs/tta.c b/apps/codecs/tta.c index 541dc2b..2d53131 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) |