- Status Closed
- Percent Complete
- Task Type Patches
- Category Music playback
- Assigned To No-one
- Operating System All players
- Severity High
- Priority Very Low
- Reported Version
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#5879 - Seeking backwards bug
Since 31/07/2006 seeking in long files is (more) broken. To test start playing a long track, wait until the buffer wraps, then seek backwards to a point that is no longer in the buffer, eg. the start of the track. Playback either crashes, or (sometimes for mp3) plays from the wrong seek point. Test failed with current builds, eg. 24/08/2006 and cvs build, on iAudio X5 with flac, mp3 and mpc files. The problem is that track start_pos is not incremented if the buffer wraps and overwrites existing track data already in the buffer. If the user seeks backwards to a point that has been overwritten, the code fails to detect that the seek point is no longer in the buffer.
The attached file patches playback.c to detect when the track in buffer is being overwritten (during wrapping), and updates the start_pos. It also adds a configuration option (like CODEC_SET_FILEBUF_CHUNKSIZE) to adjust the rebuffer preseek since some codecs (like musepack) do not support resync.
2006-08-30 15:48
Reason for closing: Accepted
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
Patch committed (with one minor change
by me). Thanks!
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task