diff options
author | Brandon Low <lostlogic@rockbox.org> | 2006-02-07 20:38:55 +0000 |
---|---|---|
committer | Brandon Low <lostlogic@rockbox.org> | 2006-02-07 20:38:55 +0000 |
commit | 413da2a3d93d989d4474edad437ff67888487cb9 (patch) | |
tree | ecf938aa0aedc92db749be69e62648050f2fd712 /firmware/export | |
parent | 566ce5f95163f8bbb7357dc7353bb132365f7b6e (diff) |
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.h | 5 |
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); void pcm_set_frequency(unsigned int frequency); /* This is for playing "raw" PCM data */ -void pcm_play_data(void (*get_more)(unsigned char** start, long* size)); +void pcm_play_data(void (*get_more)(unsigned char** start, size_t* size), + unsigned char* start, size_t size); void pcm_calculate_peaks(int *left, int *right); -long pcm_get_bytes_waiting(void); +size_t pcm_get_bytes_waiting(void); void pcm_play_stop(void); void pcm_mute(bool mute); |