forked from len0rd/rockbox
codecs: Fix elapsed time calculation for large files
In particular, this solves seeking glitches seen in ~6 hr mp3 files. (Patch taken from Igor Poretsky's tree) Change-Id: Id65b6726146b6d2d1a223e90b88e401d1b2d597a
This commit is contained in:
parent
0120ecd651
commit
20b91a83d3
7 changed files with 15 additions and 17 deletions
|
|
@ -141,8 +141,7 @@ enum codec_status codec_run(void)
|
|||
sound_samples_done = 0;
|
||||
}
|
||||
NeAACDecPostSeekReset(decoder, i);
|
||||
elapsed_time = (sound_samples_done * 10) /
|
||||
(ci->id3->frequency / 100);
|
||||
elapsed_time = sound_samples_done * 1000LL / ci->id3->frequency;
|
||||
} else if (param) {
|
||||
elapsed_time = param;
|
||||
action = CODEC_ACTION_SEEK_TIME;
|
||||
|
|
@ -176,7 +175,7 @@ enum codec_status codec_run(void)
|
|||
(param/10/sbr_fac)*(ci->id3->frequency/100),
|
||||
&sound_samples_done, (int*) &i)) {
|
||||
sound_samples_done *= sbr_fac;
|
||||
elapsed_time = (sound_samples_done * 10) / (ci->id3->frequency / 100);
|
||||
elapsed_time = sound_samples_done * 1000LL / ci->id3->frequency;
|
||||
ci->set_elapsed(elapsed_time);
|
||||
seek_idx = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue