summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorBrandon Low <lostlogic@rockbox.org>2006-02-07 20:38:55 +0000
committerBrandon Low <lostlogic@rockbox.org>2006-02-07 20:38:55 +0000
commit413da2a3d93d989d4474edad437ff67888487cb9 (patch)
treeecf938aa0aedc92db749be69e62648050f2fd712 /firmware/export
parent566ce5f95163f8bbb7357dc7353bb132365f7b6e (diff)
downloadrockbox-413da2a3d93d989d4474edad437ff67888487cb9.tar.gz
rockbox-413da2a3d93d989d4474edad437ff67888487cb9.zip
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
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/pcm_playback.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/firmware/export/pcm_playback.h b/firmware/export/pcm_playback.h
index 5b61beb34d..a4cd93969b 100644
--- a/firmware/export/pcm_playback.h
+++ b/firmware/export/pcm_playback.h
@@ -23,10 +23,11 @@ void pcm_init(void);
23void pcm_set_frequency(unsigned int frequency); 23void pcm_set_frequency(unsigned int frequency);
24 24
25/* This is for playing "raw" PCM data */ 25/* This is for playing "raw" PCM data */
26void pcm_play_data(void (*get_more)(unsigned char** start, long* size)); 26void pcm_play_data(void (*get_more)(unsigned char** start, size_t* size),
27 unsigned char* start, size_t size);
27 28
28void pcm_calculate_peaks(int *left, int *right); 29void pcm_calculate_peaks(int *left, int *right);
29long pcm_get_bytes_waiting(void); 30size_t pcm_get_bytes_waiting(void);
30 31
31void pcm_play_stop(void); 32void pcm_play_stop(void);
32void pcm_mute(bool mute); 33void pcm_mute(bool mute);