A few releases ago, I reported an issue where seeking forward in a video file when you're already close to the end resulted in actually seeking backwards in the file and replaying the last few seconds. I think I know why now. Let's say you have a file that's exactly 10 minutes long with the time confirmed by ffprobe. If you play the file in MC, the total track length does show as 10:00 but when you get close to the end, the MC current time hits 10:00 _before_ the actual end of the track and starts counting 10:01...10.02..., etc. If you skip forward 15 seconds at this point, MC seeks to 10:00 which was the reported end of the track but since the time calculation is off, MC actually seeks backwards and continues to play the last few seconds. The extra number of seconds seems to be proportional to the total length of the file. For a 10 minute file it's only 2 or 3 seconds. The issue isn't limited to seeking in that extra time though. Let's say your skip forward time is 30 seconds and you're 25 seconds from the reported end of the track (but don't realize it). If you skip forward, MC will take you to 10:00 as it should but then it continues to play the last few seconds. So you skip again thinking you're not at the end yet but MC now takes you _back_ to the 10:00 mark and replays.
I'm trying on different machines and collecting logs but it's been a consistent issue.
Thoughts?
EDIT:
I think I was mistaken about the overshoot being proportional to the file length. It looks to be always between 2 and 4 seconds.