summaryrefslogtreecommitdiff
path: root/apps/playback.c
AgeCommit message (Collapse)Author
2006-04-13Ensure that the buffer doesn't get out of sync on rebuffer track changes. ↵Brandon Low
Remove the concept of pcmuf_boost_mode as it doesn't seem necessary, and adds an unnecessary way for the CPU to stay boosted. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9646 a1c6a512-1295-4272-9138-f99709370657
2006-04-13Add a logf, remove an unused parameter, and an unused member of the ↵Brandon Low
track_info struct, ensure that we unboos on stop even if buffering, make a function take a parameter instead of using a global git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9644 a1c6a512-1295-4272-9138-f99709370657
2006-04-13Track skipping rework more. This seems to handle rapid skipping very ↵Brandon Low
gracefully without compromising buffer safety. There may still be a potentially broken code path if the user does a very rapid skip, stop sequence, and I will be sure to investigate this. Due to Slasheri's concern, reimplement rapid GUI update for track skipping in a safe way. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9643 a1c6a512-1295-4272-9138-f99709370657
2006-04-13Simplify audio startup, and remove some unnecessary codeBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9640 a1c6a512-1295-4272-9138-f99709370657
2006-04-12Track changes should zero the seek_time to prevent undesired seeking in the ↵Brandon Low
new track git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9636 a1c6a512-1295-4272-9138-f99709370657
2006-04-12use the cur_ti pointer, as it's always synched up with track_ridx any wayBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9635 a1c6a512-1295-4272-9138-f99709370657
2006-04-12Get the GUI and audio in sync for track changesBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9634 a1c6a512-1295-4272-9138-f99709370657
2006-04-12Fix major rebuffer stupidity, remove a redundant call, and a wrong comment.Brandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9633 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Add and improve logfing, fix a possible cause of problems due to abuse of ↵Brandon Low
read_next_metadata git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9628 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Fix logf build, fix double reporting buffer events.Brandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9627 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Almost entirely formatting changes, but also add one logf, and fix one ↵Brandon Low
nearly impossible to hit (I doubt it's been hit in the history of rockbox) bug git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9621 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Clarify a commentBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9616 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Clear tracks in more appropriate ways/placesBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9615 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Handle rebuffer-and-seek and track skip buffer events smarter. Fill the ↵Brandon Low
buffer all the way around on a 'normal' rebuffer. Rename and invert a strangely named variable for simpler logic. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9614 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Fix yellowBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9613 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Fix a (very unlikely) bug in bufferingBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9611 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Fix some signedness and exit condition stuff. Not sure if this addresses ↵Brandon Low
live bugs, but it was wrong nonetheless git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9610 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Try to recover from a codec failure by restarting playbackBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9608 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Whoops, remove a done TODOBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9607 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Fix some commentsBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9606 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Ensure that codecs are cleared from the buffer if they will not be needed by ↵Brandon Low
the track about to play and some minor changes for correctness with no functional difference git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9605 a1c6a512-1295-4272-9138-f99709370657
2006-04-11Rework track skipping. Full playback stop is no longer involved in track ↵Brandon Low
skipping. Further simplification of the play related functions can be achieved with this in place, but that's for later. Known skip related bug, high pitched noise sometimes, otherwise stuff is better git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9601 a1c6a512-1295-4272-9138-f99709370657
2006-04-10Get the next track's metadata in a more timely mannerBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9591 a1c6a512-1295-4272-9138-f99709370657
2006-04-09Formatting, and logf changesBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9583 a1c6a512-1295-4272-9138-f99709370657
2006-04-09Fix another nasty rebuffering bug, and ensure that buffer and unbuffer ↵Brandon Low
events are triggered correctly. Also remove another unused varialbe track_info->filepos git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9582 a1c6a512-1295-4272-9138-f99709370657
2006-04-09Fix bad rebuffering bug, and kill the track_count variableBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9571 a1c6a512-1295-4272-9138-f99709370657
2006-04-08Fix the condition on an error splashBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9565 a1c6a512-1295-4272-9138-f99709370657
2006-04-08Correct seeking behavior (whoops), might fix the coldfire deadlocks. ↵Brandon Low
Reintroduce the foreshortened initial buffer fill, this should maybe be optional git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9564 a1c6a512-1295-4272-9138-f99709370657
2006-04-08Fix seeking not resuming playback, many thanks to Ralf Herz for being an ↵Brandon Low
excellent debugger git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9558 a1c6a512-1295-4272-9138-f99709370657
2006-04-07Change around some logfing to help debugging seek problemsBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9557 a1c6a512-1295-4272-9138-f99709370657
2006-04-07Fix the playback sometimes doesn't start at all problems, and always fully ↵Brandon Low
fill the buffer, because it was silly not to (this one may be controversial) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9556 a1c6a512-1295-4272-9138-f99709370657
2006-04-07Further unify start playback vs. other buffering situations, hopefully fixes ↵Brandon Low
some people's audio doesn't start problems git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9553 a1c6a512-1295-4272-9138-f99709370657
2006-04-07This makes seeking work for meBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9552 a1c6a512-1295-4272-9138-f99709370657
2006-04-07Fix some type casting => 64bit warning issuesBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9550 a1c6a512-1295-4272-9138-f99709370657
2006-04-07Fix play initialization problems and buffering problems. This behaves ↵Brandon Low
_much_ better for me. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9549 a1c6a512-1295-4272-9138-f99709370657
2006-04-07Fix 64bit warnings.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9547 a1c6a512-1295-4272-9138-f99709370657
2006-04-06Remove duplicated code and improve button responsiveness during buffer fillBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9541 a1c6a512-1295-4272-9138-f99709370657
2006-04-06Stop abusing the queuing features, and start treating them with respect. ↵Brandon Low
This seems to solve audio skipping and track skipping issues as well as seeking inside the disk buffer for me. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9534 a1c6a512-1295-4272-9138-f99709370657
2006-04-06Fix seeking on swcodec, but probably break some cases of skipping. Another ↵Brandon Low
important rework here, buffer management is serialized along with most other operations on the audio thread. This has some minor performance issues on ipod that can lead to audio skips during buffer fill as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9529 a1c6a512-1295-4272-9138-f99709370657
2006-04-05More work on swcodec. No significant pcmbuf functions are called from the ↵Brandon Low
audio thread now. Do not be surprised if seek or skip behavior gets weird after this, but it Works for Me (TM), and is a significant step in the right direction. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9510 a1c6a512-1295-4272-9138-f99709370657
2006-04-02Prevent two division by zeros and one problem causing a crash in theMiika Pekkarinen
mp3 metadata parser. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9438 a1c6a512-1295-4272-9138-f99709370657
2006-03-30Added track number sorting to the tagcache and a few new tags to theMiika Pekkarinen
engine: track number, year, composer, length and bitrate. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9358 a1c6a512-1295-4272-9138-f99709370657
2006-03-30New 'Track Skip Only' option for Crossfading; crossfading is disabled except ↵Zakk Roberts
for manual track changes. NOTE: If you were using 'Always' mode previously, check again after updating: you'll now be in the new 'Track Skip Only' mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9353 a1c6a512-1295-4272-9138-f99709370657
2006-03-26Fixed some red builds.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9261 a1c6a512-1295-4272-9138-f99709370657
2006-03-26Fill WPS tags from tagcache if available.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9260 a1c6a512-1295-4272-9138-f99709370657
2006-03-25Fix a problem where audio would stay paused after a stop and start of playbackBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9248 a1c6a512-1295-4272-9138-f99709370657
2006-03-24Convert playback.c to use unsigned byte counters, and _minor_ refactoring of ↵Brandon Low
buffer callbacks git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9227 a1c6a512-1295-4272-9138-f99709370657
2006-03-23Allow the pcm buffer to fill while playback is pausedBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9212 a1c6a512-1295-4272-9138-f99709370657
2006-03-23First small step in playback.c's pending makeover. Properly lock and ↵Brandon Low
cleanup codec swapping git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9210 a1c6a512-1295-4272-9138-f99709370657
2006-03-22Use size-correct casts. Fixes some AMD64 sim warnings.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9192 a1c6a512-1295-4272-9138-f99709370657