summaryrefslogtreecommitdiff
path: root/firmware/export/pcm_playback.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/pcm_playback.h')
-rw-r--r--firmware/export/pcm_playback.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/firmware/export/pcm_playback.h b/firmware/export/pcm_playback.h
index a4cd93969b..9c3e96ba63 100644
--- a/firmware/export/pcm_playback.h
+++ b/firmware/export/pcm_playback.h
@@ -19,11 +19,23 @@
19#ifndef PCM_PLAYBACK_H 19#ifndef PCM_PLAYBACK_H
20#define PCM_PLAYBACK_H 20#define PCM_PLAYBACK_H
21 21
22#include <sys/types.h>
23
24/* Typedef for registered callback (play and record) */
25typedef void (*pcm_more_callback_type)(unsigned char **start,
26 size_t *size);
27
22void pcm_init(void); 28void pcm_init(void);
29
30/* set the pcm frequency - use values in hw_sampr_list
31 * use -1 for the default frequency
32 */
23void pcm_set_frequency(unsigned int frequency); 33void pcm_set_frequency(unsigned int frequency);
34/* apply settings to hardware immediately */
35void pcm_apply_settings(bool reset);
24 36
25/* This is for playing "raw" PCM data */ 37/* This is for playing "raw" PCM data */
26void pcm_play_data(void (*get_more)(unsigned char** start, size_t* size), 38void pcm_play_data(pcm_more_callback_type get_more,
27 unsigned char* start, size_t size); 39 unsigned char* start, size_t size);
28 40
29void pcm_calculate_peaks(int *left, int *right); 41void pcm_calculate_peaks(int *left, int *right);
@@ -35,4 +47,4 @@ void pcm_play_pause(bool play);
35bool pcm_is_paused(void); 47bool pcm_is_paused(void);
36bool pcm_is_playing(void); 48bool pcm_is_playing(void);
37 49
38#endif 50#endif /* PCM_PLAYBACK_H */