1
0
Fork 0
forked from len0rd/rockbox
Commit graph

91 commits

Author SHA1 Message Date
Dave Chapman
6099dc8b77 iPod: Re-written audio driver. This brings it in line with changes to pcm 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-07 20:49:13 +00:00
Brandon Low
413da2a3d9 Rework PCM buffer
* 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-07 20:38:55 +00:00
Dave Chapman
987879b958 Further iPod 3G work from Seven Le Mesle
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8583 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 17:34:49 +00:00
Linus Nielsen Feltzing
760fea9ac7 iAudio X5: various fixes to make the bootloader compile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8560 a1c6a512-1295-4272-9138-f99709370657
2006-02-04 00:01:15 +00:00
Dave Chapman
b4bc9fd068 iPod: Enable peakmeter
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8516 a1c6a512-1295-4272-9138-f99709370657
2006-02-01 00:17:36 +00:00
Dave Chapman
b9e10d9a07 iPod: First working audio driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8474 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 20:33:57 +00:00
Miika Pekkarinen
4503b96749 Fixed the red builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8417 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 11:56:08 +00:00
Miika Pekkarinen
6d6ca6b6a5 Muting trick to prevent tiny pops and glitchless mp3 seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8416 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 10:25:07 +00:00
Miika Pekkarinen
3458be2d9d Prevent a very tiny pop from happening when starting/stopping pcm
playback.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8406 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 22:35:42 +00:00
Brandon Low
d8a6c0665d Improve performance by putting more of the code and variables that are 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-21 16:47:36 +00:00
Miika Pekkarinen
0e159f13cf Fixed a few iriver playback quirks and issues with previous fixes.
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-20 22:02:44 +00:00
Dave Chapman
d83e929f3f Work-in-progress iriver iFP-7xx port by Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
2006-01-12 00:35:50 +00:00
Miika Pekkarinen
64fe299d70 Don't put S/PDIF out of sync when audio is being paused.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8289 a1c6a512-1295-4272-9138-f99709370657
2005-12-27 18:00:45 +00:00
Dave Chapman
fa51eb4ee8 iPod: Correctly disable playback so we can test codec speeds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8250 a1c6a512-1295-4272-9138-f99709370657
2005-12-16 11:42:39 +00:00
Dave Chapman
a472ed5114 iPod - Initial skeleton of an audio driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8248 a1c6a512-1295-4272-9138-f99709370657
2005-12-16 11:00:44 +00:00
Linus Nielsen Feltzing
c9016f82e0 The DMA controller issued a DMA IRQ immediately when started, making it skip 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-12-06 09:09:21 +00:00
Linus Nielsen Feltzing
ec5366ac79 No S/PDIF playback on H300
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8076 a1c6a512-1295-4272-9138-f99709370657
2005-11-27 01:11:25 +00:00
Linus Nielsen Feltzing
73a35a1aa4 Reverted erroneous commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7918 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 23:42:19 +00:00
Linus Nielsen Feltzing
df0e5effc5 Cleaned up bootloader linker control file and added the H300 target
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7916 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 23:15:59 +00:00
Dave Chapman
a3bf2ec61c More iPod changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7825 a1c6a512-1295-4272-9138-f99709370657
2005-11-12 15:29:43 +00:00
Jens Arnold
72f98786a0 Fixup of the MCF5249 memory mapped register definitions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7755 a1c6a512-1295-4272-9138-f99709370657
2005-11-05 03:28:20 +00:00
Jens Arnold
99a0598c28 Major peakmeter rework: * Changed set/get functions for dbfs mode to bool 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-29 20:07:17 +00:00
Miika Pekkarinen
d7170b7542 iRiver: Reduced pops from the line out connector.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7411 a1c6a512-1295-4272-9138-f99709370657
2005-08-28 15:33:37 +00:00
Miika Pekkarinen
6e291fdcdf Fixed and removed the most annoying pops with iRiver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7368 a1c6a512-1295-4272-9138-f99709370657
2005-08-21 17:34:56 +00:00
Linus Nielsen Feltzing
7db258f3c7 Removed the uda1380_mute() calls, since they were called in interrupt 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-19 12:29:28 +00:00
Christian Gmeiner
14e80671af iAudio: First unfinished attempt for tlv320 driver and rockbox integration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7286 a1c6a512-1295-4272-9138-f99709370657
2005-08-06 10:12:19 +00:00
Miika Pekkarinen
6b807b2d24 Fixed MAC initialization problem with mpa codec and removed workaround
for that bug.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7260 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 13:46:38 +00:00
Dave Bryant
27c83252e2 The peak meter on iRiver didn't look right to me and the code seemed to be
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
2005-07-25 05:50:47 +00:00
Miika Pekkarinen
90161c92dd It's now possible to select the crossfading mode: "Off, Crossfade,
Mix". If set to mix, no fading is applied but tracks are mixed up.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7224 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 16:46:27 +00:00
Miika Pekkarinen
eab434c416 More accurate playback position calculation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7218 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 06:32:55 +00:00
Linus Nielsen Feltzing
4c5f25d523 iriver: set the S/PDIF Validity flag correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7189 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 15:55:56 +00:00
Miika Pekkarinen
2103cf4b74 Check that remaining bytes counter is not zero.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7183 a1c6a512-1295-4272-9138-f99709370657
2005-07-17 21:02:40 +00:00
Miika Pekkarinen
e9919342c5 Initial attempt to support peak meter on iriver. It still has some
strange behaviour and readings might not be correct.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7182 a1c6a512-1295-4272-9138-f99709370657
2005-07-17 19:29:02 +00:00
Miika Pekkarinen
20b3897474 Separated buffering stuff from pcm_playback to pcmbuf. Renamed some
function calls (audiobuffer -> pcmbuf etc.).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7131 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 12:48:22 +00:00
Miika Pekkarinen
fbd4088df8 Replaced some yields with sleep(1) to save battery while paused or
playing files which doesn't require cpu boosting.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7103 a1c6a512-1295-4272-9138-f99709370657
2005-07-11 18:47:47 +00:00
Miika Pekkarinen
1ed292ca5e Fixed an audio burst coming out when pausing a track with fading
enabled.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7095 a1c6a512-1295-4272-9138-f99709370657
2005-07-10 17:31:12 +00:00
Miika Pekkarinen
5d9e0536ea Some playback fixes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7076 a1c6a512-1295-4272-9138-f99709370657
2005-07-08 20:01:06 +00:00
Miika Pekkarinen
3eb962d13b PCM buffering fixes. Made a temporary workaround for playback glitch
bug (see the patch).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7049 a1c6a512-1295-4272-9138-f99709370657
2005-07-07 07:15:05 +00:00
Miika Pekkarinen
2023b47293 Decreased pcm buffer low watermark when crossfade is not enabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7036 a1c6a512-1295-4272-9138-f99709370657
2005-07-06 08:20:53 +00:00
Miika Pekkarinen
3e33a0f8ee More crossfade adjustments. Now crossfade should work shortly even if
the disk was not spinning while a new track was loaded from the disk.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7028 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 15:51:59 +00:00
Miika Pekkarinen
d6e7942426 Fixed: Crossfading, broken elapsed info with mp3 files, possible cpu
boost problem and track changing.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7027 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 15:19:22 +00:00
Miika Pekkarinen
aa30f0483b Fixed crossfading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7022 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 07:25:55 +00:00
Miika Pekkarinen
55819b7859 Increased low watermark limit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7012 a1c6a512-1295-4272-9138-f99709370657
2005-07-04 19:17:55 +00:00
Miika Pekkarinen
0a9dec60b5 Make sure we unboost the cpu while stopping playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6998 a1c6a512-1295-4272-9138-f99709370657
2005-07-03 19:58:33 +00:00
Miika Pekkarinen
f3a1351bcd Slightly longer sleep to prevent pops when resuming from paused state.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6996 a1c6a512-1295-4272-9138-f99709370657
2005-07-03 18:54:48 +00:00
Miika Pekkarinen
349f39a7f4 Fixed pops when starting playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6993 a1c6a512-1295-4272-9138-f99709370657
2005-07-03 15:25:06 +00:00
Miika Pekkarinen
45d6fa916c Fixed pops from headphone audio output.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6977 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 21:23:07 +00:00
Miika Pekkarinen
4ec80704d5 Fixed pause.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6968 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 17:13:33 +00:00
Miika Pekkarinen
6d887afc3e Vorbis playback problems fixed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6967 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 17:05:09 +00:00
Marcoen Hirschberg
e02a1a534d - enable S/PDIF optical output
- set the proper noise shape filter


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6959 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 07:55:19 +00:00