Commit graph

23 commits

Author SHA1 Message Date
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
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
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
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
79952cb613 Small copy/paste error..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6934 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 21:21:06 +00:00
Miika Pekkarinen
7b7d1e6802 Always use crossfade if it's enabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6933 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 21:13:46 +00:00
Miika Pekkarinen
84d6f9e89b Fixed slow track switching and track pre-buffering. Fixed rockboy
crash while audio is playing. Some buffering adjustments made.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6930 a1c6a512-1295-4272-9138-f99709370657
2005-06-29 20:50:58 +00:00
Miika Pekkarinen
85f4973106 Replaced some size_t with longs. That might solve some problems. Fixed
also problem where codec buffer length indicator goes negative.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6898 a1c6a512-1295-4272-9138-f99709370657
2005-06-27 19:29:49 +00:00
Miika Pekkarinen
d8cb703b1e Initial DSP implementation. DSP supports resampling audio stream from
codecs (currently works corrently only with mp3's, somebody should fix
that).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6877 a1c6a512-1295-4272-9138-f99709370657
2005-06-26 19:41:29 +00:00
Miika Pekkarinen
3e88b58f6c Crossfade fixes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6778 a1c6a512-1295-4272-9138-f99709370657
2005-06-20 14:27:06 +00:00
Jens Arnold
4c7da88618 Iriver UDA1380 volume and balance handling is now done in sound.c, similar to archos player; removed pcm_set_volume(). Implemented a dB-linear scale. Sorted & bumped plugin api. Removed audio test from the debug menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6741 a1c6a512-1295-4272-9138-f99709370657
2005-06-18 01:25:47 +00:00
Miika Pekkarinen
c3fed62fc7 Fixed the "last song bug".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6725 a1c6a512-1295-4272-9138-f99709370657
2005-06-15 18:59:04 +00:00
Miika Pekkarinen
8d5822d6ed Playlist changed are recognized correctly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6711 a1c6a512-1295-4272-9138-f99709370657
2005-06-14 18:59:34 +00:00
Miika Pekkarinen
2ed0b195be Better handling for cpu_boost(). Small buffering fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6647 a1c6a512-1295-4272-9138-f99709370657
2005-06-10 10:58:45 +00:00
Linus Nielsen Feltzing
6271b2b910 Added Crossfade setting for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6636 a1c6a512-1295-4272-9138-f99709370657
2005-06-09 09:47:00 +00:00
Miika Pekkarinen
b4bc106efb Fixed forward next track bugs (still some pause issues though). Added
experimental cross-fader.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6632 a1c6a512-1295-4272-9138-f99709370657
2005-06-09 07:19:16 +00:00
Miika Pekkarinen
82c2927d1e Fixed: Ogg Vorbis crashing, MP3 file seeking, USB mode and a little
faster file buffering.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6591 a1c6a512-1295-4272-9138-f99709370657
2005-06-07 06:34:54 +00:00
Linus Nielsen Feltzing
1c497e6045 First audio codec playback attempt by Miikka Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6574 a1c6a512-1295-4272-9138-f99709370657
2005-06-05 23:05:10 +00:00
Linus Nielsen Feltzing
267eb077a7 New API for buffered PCM playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6284 a1c6a512-1295-4272-9138-f99709370657
2005-04-14 11:51:31 +00:00
Linus Nielsen Feltzing
928beee0d1 iRiver: Major PCM DMA code cleanup, added pcm_init() and pcm_play_pause()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6234 a1c6a512-1295-4272-9138-f99709370657
2005-03-31 06:49:10 +00:00
Michiel Van Der Kolk
451dd48adc Sound api improvements, rockboy sound, contributed by xshock.
Playback of sound currently only works in boost mode, needs fixing.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6226 a1c6a512-1295-4272-9138-f99709370657
2005-03-28 00:00:24 +00:00
Linus Nielsen Feltzing
8ffeab5fc9 PCM playback for iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6210 a1c6a512-1295-4272-9138-f99709370657
2005-03-18 11:39:28 +00:00