summaryrefslogtreecommitdiff
path: root/firmware/pcm_playback.c
AgeCommit message (Collapse)Author
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-03-30iPod mini 2G: Define correct audio codec, and fix WM8731 driver to work with ↵Jens Arnold
PP5020. Audio is working now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9367 a1c6a512-1295-4272-9138-f99709370657
2006-03-30Better sound quality on the iAudio X5 using the correct MCLK frequencyLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9354 a1c6a512-1295-4272-9138-f99709370657
2006-03-28Audio support for iAudio X5Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9328 a1c6a512-1295-4272-9138-f99709370657
2006-03-27Code policeBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9287 a1c6a512-1295-4272-9138-f99709370657
2006-03-25Unify pcm_playback code where applicable to make working with it a bit nicerBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9251 a1c6a512-1295-4272-9138-f99709370657
2006-03-24Fix weirdness caused by not stopping buffering during pause, and generally ↵Brandon Low
use a more sane pause behavior on swcodec targets git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9221 a1c6a512-1295-4272-9138-f99709370657
2006-03-21Quick hack to make the application compile for iAudio X5Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9160 a1c6a512-1295-4272-9138-f99709370657
2006-03-10Revert non-functional peakmeter fix, fix it for real? this timeBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8990 a1c6a512-1295-4272-9138-f99709370657
2006-03-09Fix peakmeter reading off the end of the buffer, thanks to peturBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8981 a1c6a512-1295-4272-9138-f99709370657
2006-03-09iPod 3G: Enable I2S interrupts for the main processor, not the COPDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8971 a1c6a512-1295-4272-9138-f99709370657
2006-03-07_Slight_ optimization of peak calculationBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8949 a1c6a512-1295-4272-9138-f99709370657
2006-03-05Make better use of banked registers in FIQ mode to shrink the iPod FIQThom Johansen
handler a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8920 a1c6a512-1295-4272-9138-f99709370657
2006-02-26iPod 3G - small audio fixes, but it still isn't working.Dave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8850 a1c6a512-1295-4272-9138-f99709370657
2006-02-26iPod 3G - initial (completely untested) attempt at audio supportDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8847 a1c6a512-1295-4272-9138-f99709370657
2006-02-24Make pcm_playback.c compile for the iPod 3G - there is no playback ↵Dave Chapman
implemented yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8833 a1c6a512-1295-4272-9138-f99709370657
2006-02-23Shave off one instruction in fiq handler!Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8804 a1c6a512-1295-4272-9138-f99709370657
2006-02-20Correct the channel order in the ASM optimised fiq handler. Correct aThom Johansen
jump target. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8753 a1c6a512-1295-4272-9138-f99709370657
2006-02-19Remove unneeded variable.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8732 a1c6a512-1295-4272-9138-f99709370657
2006-02-19Added assembler FIQ handler for iPod. Remove unnecessary SIMULATOR checkThom Johansen
and some debug code in pcm_playback.c. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8731 a1c6a512-1295-4272-9138-f99709370657
2006-02-13iPod: Audio driver for iPod Video/5G. Rename wm8971_* functions to ↵Dave Chapman
wmcodec_* to enable unification of the audio code for WM codecs git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8676 a1c6a512-1295-4272-9138-f99709370657
2006-02-12Fixed warnings in the iFP target.Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8671 a1c6a512-1295-4272-9138-f99709370657
2006-02-07iPod: Re-written audio driver. This brings it in line with changes to pcm ↵Dave Chapman
playback system, and also appears to fix all the ipod-specific playback glitches git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8614 a1c6a512-1295-4272-9138-f99709370657
2006-02-07Rework PCM bufferBrandon Low
* 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
2006-02-05Further iPod 3G work from Seven Le MesleDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8583 a1c6a512-1295-4272-9138-f99709370657
2006-02-04iAudio X5: various fixes to make the bootloader compileLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8560 a1c6a512-1295-4272-9138-f99709370657
2006-02-01iPod: Enable peakmeterDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8516 a1c6a512-1295-4272-9138-f99709370657
2006-01-28iPod: First working audio driverDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8474 a1c6a512-1295-4272-9138-f99709370657
2006-01-22Fixed the red builds.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8417 a1c6a512-1295-4272-9138-f99709370657
2006-01-22Muting trick to prevent tiny pops and glitchless mp3 seeking.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8416 a1c6a512-1295-4272-9138-f99709370657
2006-01-21Prevent a very tiny pop from happening when starting/stopping pcmMiika Pekkarinen
playback. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8406 a1c6a512-1295-4272-9138-f99709370657
2006-01-21Improve performance by putting more of the code and variables that are ↵Brandon Low
called by the DMA0 interrupt into IRAM (3% boost improvement on my test track). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8404 a1c6a512-1295-4272-9138-f99709370657
2006-01-20Fixed a few iriver playback quirks and issues with previous fixes.Miika Pekkarinen
Also fixed "TST.." bug when seeking and possible an enhancement to mp3 gapless playback also. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8402 a1c6a512-1295-4272-9138-f99709370657
2006-01-12Work-in-progress iriver iFP-7xx port by Tomasz MalesinskiDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
2005-12-27Don't put S/PDIF out of sync when audio is being paused.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8289 a1c6a512-1295-4272-9138-f99709370657
2005-12-16iPod: Correctly disable playback so we can test codec speedsDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8250 a1c6a512-1295-4272-9138-f99709370657
2005-12-16iPod - Initial skeleton of an audio driverDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8248 a1c6a512-1295-4272-9138-f99709370657
2005-12-06The DMA controller issued a DMA IRQ immediately when started, making it skip ↵Linus Nielsen Feltzing
the entire first audio block. Setting the DONE bit before initializing seems to fix this. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8166 a1c6a512-1295-4272-9138-f99709370657
2005-11-27No S/PDIF playback on H300Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8076 a1c6a512-1295-4272-9138-f99709370657
2005-11-16Reverted erroneous commitLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7918 a1c6a512-1295-4272-9138-f99709370657
2005-11-16Cleaned up bootloader linker control file and added the H300 targetLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7916 a1c6a512-1295-4272-9138-f99709370657
2005-11-12More iPod changesDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7825 a1c6a512-1295-4272-9138-f99709370657
2005-11-05Fixup of the MCF5249 memory mapped register definitions.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7755 a1c6a512-1295-4272-9138-f99709370657
2005-08-29Major peakmeter rework: * Changed set/get functions for dbfs mode to bool ↵Jens Arnold
type. * Removed performance setting, leaving (slightly adapted) high performance mode only. * Refresh rate is always 20 Hz now. * Readout doesn't do an extra (hidden) peek, should allow for slightly better clip detection. * Brought back high performance peakmeter for recording. Peakmeter stops hogging the CPU when the disk is spinning; this is enough to avoid the performance problem when saving data. * Optimisations, code cleanup and code policeing. * (iriver) Reduced CPU load of peakmeter by not calculating excessive overlaps. ** Bumped config block version, so save your settings before upgrading. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7415 a1c6a512-1295-4272-9138-f99709370657
2005-08-28iRiver: Reduced pops from the line out connector.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7411 a1c6a512-1295-4272-9138-f99709370657
2005-08-21Fixed and removed the most annoying pops with iRiver.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7368 a1c6a512-1295-4272-9138-f99709370657
2005-08-19Removed the uda1380_mute() calls, since they were called in interrupt ↵Linus Nielsen Feltzing
context, which could lead to a big crash. This will reintroduce a slight pop when starting/stopping playbac, and when switching tracks. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7357 a1c6a512-1295-4272-9138-f99709370657
2005-08-06iAudio: First unfinished attempt for tlv320 driver and rockbox integrationChristian Gmeiner
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7286 a1c6a512-1295-4272-9138-f99709370657
2005-07-30Fixed MAC initialization problem with mpa codec and removed workaroundMiika Pekkarinen
for that bug. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7260 a1c6a512-1295-4272-9138-f99709370657
2005-07-25The peak meter on iRiver didn't look right to me and the code seemed to beDave Bryant
making it a lot more complicated that it needed to be, so I threw in some new code. This should be easy to adjust for different CPU loads, and I set it up to use a little less than what was there. If this causes any trouble, please roll it back. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7238 a1c6a512-1295-4272-9138-f99709370657