- Status Closed
- Percent Complete
- Task Type Patches
- Category Music playback
-
Assigned To
MikeS - Operating System All players
- Severity Low
- Priority Very Low
- Reported Version Release 3.8.1
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#12153 - Put Elapsed and Offset in PCM buffer frames.
Here we slice up PCM frames into about 1/20s chunks. Codecs set elapsed times and offset before the next PCM insert which associates those values with the audio data it subsequently commits to the buffer.
Codecs are modified only minimally so that they set elapsed/offset before outputting anything.
Why?
* Accurate position reporting of samples, especially when using the time index in an uncoventional way (as a sub-track indicator for instance).
* Timing is accurate through track duration regarless of pitch changes.
Now, this is still pretty prelimary. There will likely be short time-reporting glitches in the WPS when switching tracks. Crossfade is not properly converted so don’t use it here!
I don’t want to invest too much into the current way of doing mixing to accomodate a new buffer format. I’d like FS#12150 in first before making changes to the format.
Primarily I put this up early so that videogame music enthusiasts can enjoy the benefits.
2011-08-28 08:44
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
r30366 - with acceptable solution to
annoying sticky wicket
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
Update this to the multichannel PCM system.
Crossfade now operates. Some subtle differences exist. Manual skips don’t have a fade-in delay and the WPS is updated when the fade-in of the new track happens rather than immediately at the beginning of the crossfade. WPS stays in better sync with what is being heard.
One last thing to work on that I haven’t yet is progress reporting glitches at track transitions, probably by suppressing updates and reenabling them at the right time.
Sync to r30189.
Some cleanups. Fix a minor bungle or two. Still thinking-over the progress stuff mentioned above.
This one seems pretty well to take care of issues previously mentioned with other version. There is one more nagging thing that is a consequence of this method and that is: because playing back the audio sets the time, if tracks are resumed with playback paused (using auto-resume), the time isn’t set until unpausing but shows “0:00”.
So, gotta get that one right too.
That one issue of getting paused times is really a sticky wicket indeed. Still looking for a magic angle on this one or else things will be more warty than I care to have them be.
Do a resync to r30340. A partial solution exists to the aformentioned problem but the crossfade case is still not nice to work out.
Edit: Fix revision number
Ok, got a working solution that is not so bad. I’m not sure what was holding it up now. Next update is a commit.