summaryrefslogtreecommitdiff
path: root/firmware/pcm_playback.c
AgeCommit message (Collapse)Author
2006-12-29merge a big part of the unofficial gigabeat cvs back. Includes working ↵Marcoen Hirschberg
bootloader and rockbox with audio. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11850 a1c6a512-1295-4272-9138-f99709370657
2006-12-18FS#6096. Recording on PortalPlayer targets (H10, iPod Video, iPod 4g, iPod ↵Barry Wardell
Color, iPod Nano). * Fix failed compile of enc_config.c when HAVE_MPEG2_SAMPR is not defined. * Fix bug in AIFF encoder header creation on little endian targets. * Add recording screen keymaps for H10 and iPod. * Move pcm_playback PP specific code to target tree. * Add recording code to wmcodec drivers. * Add pcm_record code. Some problems still remain: * Playback doesn't work after recording until Rockbox is restarted. * Gain control not implemented. * Only 16-bit/44KHz for now. The hardware should be capable of up to 24-bit/96KHz. * Line-in recording not tested on H10. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11794 a1c6a512-1295-4272-9138-f99709370657
2006-12-06first step in audio driver unification: renaming the functions to audio_*Marcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11670 a1c6a512-1295-4272-9138-f99709370657
2006-11-23iRiver/iAudio: Added audio_set_recording gain and sound_default to plugin ↵Michael Sevakis
API. Simplified plugin recording by target/-ing some audio functions. UDA1380 records with WSPLL as a result. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11577 a1c6a512-1295-4272-9138-f99709370657
2006-11-22Audio bugfixes. Should wait for voice codec to reload before returning ↵Michael Sevakis
buffer when stealing voice. Certain variables that get or may get used during an IRQ should be declared 'volatile'. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11572 a1c6a512-1295-4272-9138-f99709370657
2006-11-22Sansa doesn't use a Wolfson codec. Various other changes to allow Sansa to ↵Daniel Ankers
compile correctly with a normal build. Based on FS#6336 by Pavel Gnelitsa git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11570 a1c6a512-1295-4272-9138-f99709370657
2006-11-08Remove unnecessary dummy pcm_init for PNX0101 (iFP).Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11473 a1c6a512-1295-4272-9138-f99709370657
2006-11-06Big Patch adds primarily: Samplerate and format selection to recording for ↵Michael Sevakis
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
2006-10-27kill two gigabeat warningsDaniel Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11359 a1c6a512-1295-4272-9138-f99709370657
2006-10-10Messing with the peak calculation in pcm_playback.c for Coldfire ports.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11178 a1c6a512-1295-4272-9138-f99709370657
2006-08-12Iriver iFP7xx sound support.Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10552 a1c6a512-1295-4272-9138-f99709370657
2006-08-12update the gigabeat code and move to target_treeMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10535 a1c6a512-1295-4272-9138-f99709370657
2006-08-01added mostly dummy changes to allow building of a Sansa e200 bootloaderDaniel Stenberg
without functionality git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10399 a1c6a512-1295-4272-9138-f99709370657
2006-07-19Patch #5680 from Daniel Ankers - adapt the assembler version of the FIQ ↵Dave Chapman
playback function for the 3g git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10246 a1c6a512-1295-4272-9138-f99709370657
2006-05-09Coldfire: Use the auto-align feature in conjunction with line reads for the ↵Jens Arnold
playback DMA. Saves a bit of memory bandwidth. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9898 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-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