summaryrefslogtreecommitdiff
path: root/apps/pcmbuf.c (follow)
Commit message (Collapse)AuthorAge
* Next round of static'ing and related fixes.Jens Arnold2006-12-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11836 a1c6a512-1295-4272-9138-f99709370657
* Priority overriding was not working correctly.Miika Pekkarinen2006-11-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11573 a1c6a512-1295-4272-9138-f99709370657
* Removed muting from pcm buffer during starts, stops and pauses for tlv320 ↵Michael Sevakis2006-11-16
| | | | | | and uda1380. Far less in the way of pops now. Voice during FM radio playback keeps radio steady. If it is determined that other audio codecs don't benefit from this remove the muting code and defines altogether. Saving the state and not resetting more than needed seems to prevent popping more effectively than muting at DMA starts and stops. Voice can click a little if truncating a clip (not annoyingly though) but that should be handled by a DSP fade out over a few ms instead-- a side benefit would be a general DSP fade rather than using volume control. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11538 a1c6a512-1295-4272-9138-f99709370657
* Calculation was wrong in pcmbuf_is_same_size such that is would almost ↵Michael Sevakis2006-11-07
| | | | | | certainly return false. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11460 a1c6a512-1295-4272-9138-f99709370657
* Big Patch adds primarily: Samplerate and format selection to recording for ↵Michael Sevakis2006-11-06
| | | | | | SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
* Removed ugly boosting solutions from playback code and let schedulerMiika Pekkarinen2006-10-15
| | | | | | | handle unboosting instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11226 a1c6a512-1295-4272-9138-f99709370657
* Don't unboost CPU in an ISRSteve Bavin2006-10-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11224 a1c6a512-1295-4272-9138-f99709370657
* Just take out some out-of-date TODOs from playback.c and put a big FIXME in ↵Brandon Low2006-10-13
| | | | | | pcmbuf.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11217 a1c6a512-1295-4272-9138-f99709370657
* Add CPU boost tracker to see where boosts are coming fromSteve Bavin2006-10-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11125 a1c6a512-1295-4272-9138-f99709370657
* Fix for crossfade crashes if in or out delay are zeroSteve Bavin2006-09-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11078 a1c6a512-1295-4272-9138-f99709370657
* Fix a crash and CPU being left boosted when using voice - FS#6024Steve Bavin2006-09-26
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11053 a1c6a512-1295-4272-9138-f99709370657
* FS#5992 Reworked playback.c to fix voice bugs by Steve Bavin. Fixed toMiika Pekkarinen2006-09-17
| | | | | | | | work with the new scheduler and handled properly and fast the track skipping. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10966 a1c6a512-1295-4272-9138-f99709370657
* New scheduler, with priorities for swcodec platforms. Frequent taskMiika Pekkarinen2006-09-16
| | | | | | | | | | switching should be more efficient and tasks are stored in linked lists to eliminate unnecessary task switching to improve performance. Audio should no longer skip on swcodec targets caused by too CPU hungry UI thread or background threads. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
* Memory size checks in .c/.h files should use MEM, not MEMORYSIZEDave Chapman2006-08-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10557 a1c6a512-1295-4272-9138-f99709370657
* Various lower limits and sizes for targets with 1MB of RAM (Iriver iFP7xx).Tomasz Malesinski2006-08-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10556 a1c6a512-1295-4272-9138-f99709370657
* Adjusted buffer watermarks for better crossfade and playback stability.Miika Pekkarinen2006-08-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10416 a1c6a512-1295-4272-9138-f99709370657
* Correctly enable crossfade mixmode only when not skipping tracksMiika Pekkarinen2006-05-14
| | | | | | | manually. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9926 a1c6a512-1295-4272-9138-f99709370657
* Revert a previous change, works around the problem of freezing on ↵Brandon Low2006-05-08
| | | | | | stop-while-paused, and skipping with crossfade git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9889 a1c6a512-1295-4272-9138-f99709370657
* Hopefully fix some old audio playing during manual track skip w/o crossfade. ↵Brandon Low2006-05-05
| | | | | | Worst case was 1/5 second of audio from pcmbuflen bytes later than the playign position of the old track would play. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9876 a1c6a512-1295-4272-9138-f99709370657
* Make crossfade less twitchy moreBrandon Low2006-04-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9801 a1c6a512-1295-4272-9138-f99709370657
* GOTO POWER. Improve crossfade performance, and cleanliness, and termination ↵Brandon Low2006-04-25
| | | | | | conditions. Make consistent insert vs. request/complete types of buffering. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9800 a1c6a512-1295-4272-9138-f99709370657
* Make crossfade less twitchy about buffer levelBrandon Low2006-04-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9799 a1c6a512-1295-4272-9138-f99709370657
* Fix asymetric crossfade cases that were broken, and also a not yet reported ↵Brandon Low2006-04-25
| | | | | | bug where a buffer underrun during crossfade would take a long time to resume playing git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9798 a1c6a512-1295-4272-9138-f99709370657
* Fix crossfade. Again.Brandon Low2006-04-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9797 a1c6a512-1295-4272-9138-f99709370657
* More crossfade work, should fix crossfade on coldfire, and possibly improve ↵Brandon Low2006-04-25
| | | | | | crossfade performance in some cases. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9796 a1c6a512-1295-4272-9138-f99709370657
* Fix another possible glitch causer on crossfadeBrandon Low2006-04-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9789 a1c6a512-1295-4272-9138-f99709370657
* Fix crossfade locational settingBrandon Low2006-04-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9785 a1c6a512-1295-4272-9138-f99709370657
* Remove accidentally commited commented code, no functional changesBrandon Low2006-04-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9784 a1c6a512-1295-4272-9138-f99709370657
* Rework crossfade to properly follow pcmbuf chunks instaed of blindly ↵Brandon Low2006-04-23
| | | | | | inserting into the ring buffer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9780 a1c6a512-1295-4272-9138-f99709370657
* Whoops, forgot to 'duck' the music below the voice when I redid the mixBrandon Low2006-04-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9772 a1c6a512-1295-4272-9138-f99709370657
* First commit of reworking voice to be mroe stable on swcodecBrandon Low2006-04-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9758 a1c6a512-1295-4272-9138-f99709370657
* Fix a crossfade problem (not initializing quite right), and a end of track ↵Brandon Low2006-04-20
| | | | | | problem (should solve some problemwith last bits of audio not playing). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9736 a1c6a512-1295-4272-9138-f99709370657
* Fix some stop/pause/boost stuffBrandon Low2006-04-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9662 a1c6a512-1295-4272-9138-f99709370657
* Ensure that the buffer doesn't get out of sync on rebuffer track changes. ↵Brandon Low2006-04-13
| | | | | | 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
* Add a comment onlyBrandon Low2006-04-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9554 a1c6a512-1295-4272-9138-f99709370657
* Fix bug #4896 and make the beep code a bit cleanerBrandon Low2006-04-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9514 a1c6a512-1295-4272-9138-f99709370657
* More work on swcodec. No significant pcmbuf functions are called from the ↵Brandon Low2006-04-05
| | | | | | 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
* New 'Track Skip Only' option for Crossfading; crossfading is disabled except ↵Zakk Roberts2006-03-30
| | | | | | 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
* Add comments, and avoid throw-away calculations in crossfade buffer processBrandon Low2006-03-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9352 a1c6a512-1295-4272-9138-f99709370657
* Fix lockups people have been having with track skipping during buffer fill, ↵Brandon Low2006-03-25
| | | | | | this is a reversion of a previous commit pending more fixes to playback engine git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9250 a1c6a512-1295-4272-9138-f99709370657
* Convert playback.c to use unsigned byte counters, and _minor_ refactoring of ↵Brandon Low2006-03-24
| | | | | | buffer callbacks git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9227 a1c6a512-1295-4272-9138-f99709370657
* Fix weirdness caused by not stopping buffering during pause, and generally ↵Brandon Low2006-03-24
| | | | | | use a more sane pause behavior on swcodec targets git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9221 a1c6a512-1295-4272-9138-f99709370657
* Fix some of the voice and beep bugs that people have noticed since my new ↵Brandon Low2006-02-22
| | | | | | pcmbuf code went in, reduce code duplication, and improve performance while I'm at it git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8775 a1c6a512-1295-4272-9138-f99709370657
* Add comments, and prevent a nearly impossible wrapping bug. There's always ↵Brandon Low2006-02-13
| | | | | | enough space for the next whole audio chunk now, so it's faster too git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8678 a1c6a512-1295-4272-9138-f99709370657
* Don't boost from inside the DMA interrupt, everBrandon Low2006-02-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8677 a1c6a512-1295-4272-9138-f99709370657
* Rework PCM bufferBrandon Low2006-02-07
| | | | | | | | | | | | | | | * Linked list instead of static array buffer pointers * Variable sized chunks * Improved mix handling * Reduction in duplicated code * Reduced IRAM usage w/o sacrificing performance * Converted to almost entirely unsigned math * Add pause function to reduce pcm_* exposure to playback. This WILL break playback on the iPod until linuxstb makes a followup commit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8612 a1c6a512-1295-4272-9138-f99709370657
* Fixed the previous commit.Miika Pekkarinen2006-02-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8610 a1c6a512-1295-4272-9138-f99709370657
* Reduce latency when configuring the EQ.Miika Pekkarinen2006-02-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8609 a1c6a512-1295-4272-9138-f99709370657
* Don't use crossfader mix mode when skipping tracks manually.Miika Pekkarinen2006-01-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8470 a1c6a512-1295-4272-9138-f99709370657
* Muting trick to prevent tiny pops and glitchless mp3 seeking.Miika Pekkarinen2006-01-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8416 a1c6a512-1295-4272-9138-f99709370657