summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2012-02-07 12:20:49 -0500
committerMichael Sevakis <jethead71@rockbox.org>2012-02-07 12:25:23 -0500
commit71e35ed446acde16e015ff66a96ea8b6dc3e13f4 (patch)
tree018fb46c6ed35cb14d01565f0fdc21b3376953ec
parenta2f28452e18632baf80d511c0c547d62ebc8c040 (diff)
downloadrockbox-71e35ed446acde16e015ff66a96ea8b6dc3e13f4.zip
rockbox-71e35ed446acde16e015ff66a96ea8b6dc3e13f4.tar.gz
rockbox-71e35ed446acde16e015ff66a96ea8b6dc3e13f4.tar.bz2
rockbox-71e35ed446acde16e015ff66a96ea8b6dc3e13f4.tar.xz
Fix FS#12580 - Elapsed time nit reset after track change when playing AC3 files.
It wasn't only a52 but also a52_rm that didn't reset the elapsed counter on each new track. The problems seemed obvious enough so fixes are being added blind. Will leave task open for feedback from bug reporter. Change-Id: Ic6d8eb98690ff4be47547d13b6bbafeadf4da745
-rw-r--r--apps/codecs/a52.c2
-rw-r--r--apps/codecs/a52_rm.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/apps/codecs/a52.c b/apps/codecs/a52.c
index 641e2d0..cb6e66d 100644
--- a/apps/codecs/a52.c
+++ b/apps/codecs/a52.c
@@ -148,6 +148,8 @@ enum codec_status codec_run(void)
/* Intialise the A52 decoder and check for success */
state = a52_init(0);
+ samplesdone = 0;
+
/* The main decoding loop */
if (ci->id3->offset) {
if (ci->seek_buffer(ci->id3->offset)) {
diff --git a/apps/codecs/a52_rm.c b/apps/codecs/a52_rm.c
index 0aa3edc..207c282 100644
--- a/apps/codecs/a52_rm.c
+++ b/apps/codecs/a52_rm.c
@@ -168,6 +168,8 @@ enum codec_status codec_run(void)
ci->memset(&pkt,0,sizeof(RMPacket));
init_rm(&rmctx);
+ samplesdone = 0;
+
/* check for a mid-track resume and force a seek time accordingly */
if(resume_offset > rmctx.data_offset + DATA_HEADER_SIZE) {
resume_offset -= rmctx.data_offset + DATA_HEADER_SIZE;