libdragon
Loading...
Searching...
No Matches
audio.h
Go to the documentation of this file.
1
8#ifndef __LIBDRAGON_AUDIO_H
9#define __LIBDRAGON_AUDIO_H
10
11#include <stdbool.h>
12#include <stddef.h>
13
50#ifdef __cplusplus
51extern "C" {
52#endif
53
63typedef void(*audio_fill_buffer_callback)(short *buffer, size_t numsamples);
64
79void audio_init(const int frequency, int numbuffers);
80
92
100void audio_pause(bool pause);
101
109volatile int audio_can_write();
110
122
129void audio_close();
130
137
147
148
169short* audio_write_begin(void);
170
179void audio_write_end(void);
180
207int audio_push(const short *buffer, int nsamples, bool blocking);
208
209__attribute__((deprecated("use audio_write_begin or audio_push instead")))
210void audio_write(const short * const buffer);
211
212#ifdef __cplusplus
213}
214#endif
215
/* display */
217
218#endif
int audio_get_buffer_length()
Get the number of stereo samples that fit into an allocated buffer.
Definition audio.c:482
void audio_set_buffer_callback(audio_fill_buffer_callback fill_buffer_callback)
Install a audio callback to fill the audio buffer when required.
Definition audio.c:265
int audio_get_frequency()
Return actual frequency of audio playback.
Definition audio.c:477
volatile int audio_can_write()
Return whether there is an empty buffer to write to.
Definition audio.c:435
short * audio_write_begin(void)
Start writing to the first free internal buffer.
Definition audio.c:374
void audio_init(const int frequency, int numbuffers)
Initialize the audio subsystem.
Definition audio.c:177
void audio_pause(bool pause)
Pause or resume audio playback.
Definition audio.c:313
void audio_write(const short *const buffer)
Write a chunk of audio data.
Definition audio.c:347
int audio_push(const short *buffer, int nsamples, bool blocking)
Push a chunk of audio data (high-level function)
Definition audio.c:447
void audio_write_end(void)
Complete writing to an internal buffer.
Definition audio.c:400
void audio_write_silence()
Write a chunk of silence.
Definition audio.c:408
void audio_close()
Close the audio subsystem.
Definition audio.c:275
void(* audio_fill_buffer_callback)(short *buffer, size_t numsamples)
Will be called periodically when more sample data is needed.
Definition audio.h:63