Fix inaccurate time display for 44.1 (and 22.05) kHz MP3 audio tracks. Time was off by about 0.2%. Doesn't sound much, but after one hour, that's 8 seconds. Also fix a problem when seeking to near the end of a file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22145 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3de77e0d47
commit
04be8dd7fe
1 changed files with 4 additions and 3 deletions
|
@ -130,13 +130,14 @@ static int get_file_pos(int newtime)
|
|||
return -1;
|
||||
}
|
||||
|
||||
pos += id3->first_frame_offset;
|
||||
|
||||
/* Don't seek right to the end of the file so that we can
|
||||
transition properly to the next song */
|
||||
if (pos >= (int)(id3->filesize - id3->id3v1len))
|
||||
pos = id3->filesize - id3->id3v1len - 1;
|
||||
|
||||
/* id3->filesize excludes id3->first_frame_offset, so add it now */
|
||||
pos += id3->first_frame_offset;
|
||||
|
||||
return pos;
|
||||
}
|
||||
|
||||
|
@ -492,7 +493,7 @@ next_track:
|
|||
}
|
||||
|
||||
samplesdone += framelength;
|
||||
ci->set_elapsed(samplesdone / (current_frequency / 1000));
|
||||
ci->set_elapsed((samplesdone * 1000) / current_frequency);
|
||||
}
|
||||
|
||||
/* wait for synth idle - MT only*/
|
||||
|
|
Loading…
Reference in a new issue