summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2005-04-14 11:51:31 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2005-04-14 11:51:31 +0000
commit267eb077a79b85638598e1a872ffab9e60da7dfe (patch)
treea95638d2e28de3299da5e74c6f5e01b5c58374c2 /firmware/export
parent14c7900383bd2082494ce1cfa3e191bc34a44b3a (diff)
downloadrockbox-267eb077a79b85638598e1a872ffab9e60da7dfe.zip
rockbox-267eb077a79b85638598e1a872ffab9e60da7dfe.tar.gz
rockbox-267eb077a79b85638598e1a872ffab9e60da7dfe.tar.bz2
rockbox-267eb077a79b85638598e1a872ffab9e60da7dfe.tar.xz
New API for buffered PCM playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6284 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/pcm_playback.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/firmware/export/pcm_playback.h b/firmware/export/pcm_playback.h
index f661209..23ec1fe 100644
--- a/firmware/export/pcm_playback.h
+++ b/firmware/export/pcm_playback.h
@@ -21,11 +21,21 @@
void pcm_init(void);
void pcm_set_frequency(unsigned int frequency);
+
+/* This is for playing "raw" PCM data */
void pcm_play_data(const unsigned char* start, int size,
void (*get_more)(unsigned char** start, long* size));
+
void pcm_play_stop(void);
void pcm_play_pause(bool play);
bool pcm_is_playing(void);
void pcm_set_volume(int volume);
+/* These functions are for playing chained buffers of PCM data */
+void pcm_play_init(void);
+void pcm_play_start(void);
+bool pcm_play_add_chunk(void *addr, int size, void (*callback)(void));
+int pcm_play_num_used_buffers(void);
+void pcm_play_set_watermark(int numbytes, void (*callback)(int bytes_left));
+
#endif