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:
parent
c1ec1ec899
commit
54ef306610
1 changed files with 2 additions and 2 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue