1
0
Fork 0
forked from len0rd/rockbox

flac: use 64 bit math to calculate the elapsed time

avoids overflows for very long files

Change-Id: Idb1e9a411bd9007cfddbbd2d3dcf127645fa9a7c
This commit is contained in:
Nils Wallménius 2012-10-25 20:04:52 +02:00
parent c1ec1ec899
commit 54ef306610

View file

@ -483,7 +483,7 @@ enum codec_status codec_run(void)
flac_seek_offset(&fc, samplesdone);
samplesdone=fc.samplenumber+fc.blocksize;
elapsedtime=(samplesdone*10)/(ci->id3->frequency/100);
elapsedtime=((uint64_t)samplesdone*1000)/(ci->id3->frequency);
ci->set_elapsed(elapsedtime);
/* The main decoding loop */
@ -523,7 +523,7 @@ enum codec_status codec_run(void)
/* Update the elapsed-time indicator */
samplesdone=fc.samplenumber+fc.blocksize;
elapsedtime=(samplesdone*10)/(ci->id3->frequency/100);
elapsedtime=((uint64_t)samplesdone*1000)/(ci->id3->frequency);
ci->set_elapsed(elapsedtime);
ci->advance_buffer(consumed);