6#ifndef __LIBDRAGON_AUDIO_H
7#define __LIBDRAGON_AUDIO_H
28void audio_init(
const int frequency,
int numbuffers);
39int audio_push(
const short *buffer,
int nsamples,
bool blocking);
42__attribute__((deprecated(
"use audio_write_begin or audio_push instead")))
void(* audio_fill_buffer_callback)(short *buffer, size_t numsamples)
Will be called periodically when more sample data is needed.
Definition: audio.h:26
int audio_get_buffer_length()
Get the number of stereo samples that fit into an allocated buffer.
Definition: audio.c:638
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:324
int audio_get_frequency()
Return actual frequency of audio playback.
Definition: audio.c:625
volatile int audio_can_write()
Return whether there is an empty buffer to write to.
Definition: audio.c:552
short * audio_write_begin(void)
Start writing to the first free internal buffer.
Definition: audio.c:466
void audio_init(const int frequency, int numbuffers)
Initialize the audio subsystem.
Definition: audio.c:226
void audio_pause(bool pause)
Pause or resume audio playback.
Definition: audio.c:385
void audio_write(const short *const buffer)
Write a chunk of audio data.
Definition: audio.c:419
int audio_push(const short *buffer, int nsamples, bool blocking)
Push a chunk of audio data (high-level function)
Definition: audio.c:590
void audio_write_end(void)
Complete writing to an internal buffer.
Definition: audio.c:500
void audio_write_silence()
Write a chunk of silence.
Definition: audio.c:518
void audio_close()
Close the audio subsystem.
Definition: audio.c:340