17 #ifndef __AUDIO_DRIVER__H 18 #define __AUDIO_DRIVER__H 22 #include <sys/types.h> 31 #define AUDIO_CHUNK_SIZE_BLOCKING 512 34 #define AUDIO_CHUNK_SIZE_NONBLOCKING 2048 36 #define AUDIO_MAX_RATIO 16 38 #define AUDIO_MIXER_MAX_STREAMS 16 87 void *(*init)(
const char *
device,
unsigned rate,
88 unsigned latency,
unsigned block_frames,
unsigned *new_rate);
152 void *(*device_list_new)(
void *
data);
Definition: audio_driver.h:48
bool audio_driver_owns_driver(void)
Definition: audio_driver.c:1547
void(* set_nonblock_state)(void *data, bool toggle)
Definition: audio_driver.h:133
void audio_driver_sample(int16_t left, int16_t right)
Definition: audio_driver.c:738
audio_driver_t audio_ctr_dsp
Definition: ctr_dsp_audio.c:199
void audio_driver_set_own_driver(void)
Definition: audio_driver.c:1537
float volume
Definition: audio_driver.h:66
Definition: audio_driver.h:60
const GLvoid * ptr
Definition: nx_glsym.h:242
audio_mixer_state
Definition: audio_driver.h:51
void audio_driver_mixer_remove_stream(unsigned i)
Definition: audio_driver.c:1347
struct audio_statistics audio_statistics_t
bool * audio_get_bool_ptr(enum audio_action action)
Definition: audio_driver.c:1631
enum audio_mixer_type type
Definition: audio_driver.h:166
audio_mixer_stream_t * audio_driver_mixer_get_stream(unsigned i)
Definition: audio_driver.c:204
GLuint GLfloat * val
Definition: glext.h:7847
void audio_driver_dsp_filter_init(const char *device)
Definition: audio_driver.c:846
void audio_driver_setup_rewind(void)
Definition: audio_driver.c:911
audio_driver_t audio_coreaudio
Definition: coreaudio.c:449
#define RETRO_BEGIN_DECLS
Definition: retro_common_api.h:41
audio_mixer_voice_t * voice
Definition: audio_driver.h:63
audio_driver_t audio_switch_thread
Definition: switch_thread_audio.c:432
audio_driver_t audio_wasapi
Definition: wasapi.c:1075
GLenum const GLfloat * params
Definition: glext.h:6297
audio_mixer_stop_cb_t stop_cb
Definition: audio_driver.h:64
bool audio_driver_mixer_extension_supported(const char *ext)
Definition: audio_driver.c:1014
GLuint start
Definition: glext.h:6292
audio_driver_t audio_pulse
Definition: pulse.c:344
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:8418
void audio_driver_unset_callback(void)
Definition: audio_driver.c:1518
struct audio_mixer_stream audio_mixer_stream_t
void audio_driver_monitor_set_rate(void)
Definition: audio_driver.c:1441
Definition: audio_driver.h:81
bool audio_driver_stop(void)
Definition: audio_driver.c:1508
bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params)
Definition: audio_driver.c:1159
float std_deviation_percentage
Definition: audio_driver.h:75
audio_driver_t audio_tinyalsa
Definition: tinyalsa.c:2421
const char * config_get_audio_driver_options(void)
Definition: audio_driver.c:344
enum audio_mixer_state state
Definition: audio_driver.h:167
GLsizeiptr size
Definition: glext.h:6559
const char * audio_driver_mixer_get_stream_name(unsigned i)
Definition: audio_driver.c:211
const char * ident
Definition: audio_driver.h:149
GLboolean enable
Definition: glext.h:12027
audio_mixer_sound_t * handle
Definition: audio_driver.h:62
bool audio_driver_disable_callback(void)
Definition: audio_driver.c:1430
void(* device_list_free)(void *data, void *data2)
Definition: audio_driver.h:155
bool audio_driver_start(bool is_shutdown)
Definition: audio_driver.c:1490
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
Definition: audio_driver.h:47
Definition: audio_driver.h:72
bool audio_driver_find_driver(void)
Definition: audio_driver.c:932
bool audio_driver_is_active(void)
Definition: audio_driver.c:1572
GLdouble GLdouble right
Definition: glext.h:11766
void * buf
Definition: audio_driver.h:168
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:6303
void(* audio_mixer_stop_cb_t)(audio_mixer_sound_t *sound, unsigned reason)
Definition: audio_mixer.h:52
typedef bool(RETRO_CALLCONV *retro_replace_image_index_t)(unsigned index
void audio_driver_resume(void)
Definition: audio_driver.c:1562
char * basename
Definition: audio_driver.h:169
audio_driver_t audio_alsathread
Definition: alsathread.c:406
GLenum GLuint GLsizei bufsize
Definition: glext.h:8140
void audio_driver_mixer_play_stream_sequential(unsigned i)
Definition: audio_driver.c:1288
bool compute_audio_buffer_statistics(audio_statistics_t *stats)
Definition: audio_driver.c:226
Definition: audio_driver.h:53
const void * audio_driver_find_handle(int index)
Definition: audio_driver.c:314
Definition: audio_driver.h:42
void audio_driver_mixer_play_stream(unsigned i)
Definition: audio_driver.c:1276
audio_driver_t audio_ps3
Definition: ps3_audio.c:239
audio_action
Definition: audio_driver.h:40
Definition: audio_driver.h:56
void audio_driver_dsp_filter_free(void)
Definition: audio_driver.c:839
size_t bufsize
Definition: audio_driver.h:69
size_t audio_driver_sample_batch(const int16_t *data, size_t frames)
Definition: audio_driver.c:781
Definition: audio_driver.h:55
bool(* stop)(void *data)
Definition: audio_driver.h:118
Definition: audio_driver.h:43
float audio_driver_mixer_get_stream_volume(unsigned i)
Definition: audio_driver.c:1294
audio_driver_t audio_switch
Definition: switch_audio.c:350
bool audio_driver_deinit(void)
Definition: audio_driver.c:1402
float average_buffer_saturation
Definition: audio_driver.h:74
bool audio_driver_get_devices_list(void **ptr)
Definition: audio_driver.c:1005
float * audio_get_float_ptr(enum audio_action action)
Definition: audio_driver.c:1617
Definition: audio_driver.h:46
float close_to_blocking
Definition: audio_driver.h:77
bool audio_driver_callback(void)
Definition: audio_driver.c:1451
bool(* alive)(void *data)
Definition: audio_driver.h:124
signed short int16_t
Definition: stdint.h:122
audio_driver_t audio_ax
Definition: wiiu_audio.c:322
bool(* use_float)(void *data)
Definition: audio_driver.h:146
char * name
Definition: audio_driver.h:68
audio_driver_t audio_dsound
Definition: dsound.c:517
audio_mixer_type
Definition: audio_mixer.h:39
Definition: audio_mixer.c:121
audio_driver_t audio_sdl
Definition: sdl_audio.c:257
bool audio_driver_free_devices_list(void)
Definition: audio_driver.c:977
Definition: audio_mixer.c:70
static struct frame frames[2]
Definition: ffmpeg_core.c:162
audio_driver_t audio_opensl
Definition: opensl.c:307
audio_driver_t audio_null
Definition: nullaudio.c:82
Definition: audio_driver.h:45
bool audio_driver_new_devices_list(void)
Definition: audio_driver.c:988
void audio_driver_monitor_adjust_system_rates(void)
Definition: audio_driver.c:888
bool audio_driver_enable_callback(void)
Definition: audio_driver.c:1421
audio_driver_t audio_oss
Definition: oss.c:201
struct audio_mixer_stream_params audio_mixer_stream_params_t
#define RETRO_END_DECLS
Definition: retro_common_api.h:42
void audio_driver_mixer_stop_stream(unsigned i)
Definition: audio_driver.c:1317
float close_to_underrun
Definition: audio_driver.h:76
size_t(* write_avail)(void *data)
Definition: audio_driver.h:158
const char * audio_driver_find_ident(int index)
Definition: audio_driver.c:329
enum resampler_quality audio_driver_get_resampler_quality(void)
Definition: audio_driver.c:194
void audio_driver_sample_rewind(int16_t left, int16_t right)
Definition: audio_driver.c:803
GLuint index
Definition: glext.h:6671
void audio_set_float(enum audio_action action, float val)
Definition: audio_driver.c:1598
bool audio_driver_is_suspended(void)
Definition: audio_driver.c:1557
void audio_driver_suspend(void)
Definition: audio_driver.c:1552
void audio_set_bool(enum audio_action action, bool val)
Definition: audio_driver.c:1584
audio_driver_t audio_audioio
Definition: audioio.c:190
void audio_driver_deinit_resampler(void)
Definition: audio_driver.c:969
Definition: audio_driver.h:54
bool audio_driver_set_callback(const void *data)
Definition: audio_driver.c:1411
Definition: audio_driver.h:44
void audio_driver_set_active(void)
Definition: audio_driver.c:1567
bool audio_driver_has_callback(void)
Definition: audio_driver.c:1462
bool audio_driver_toggle_mute(void)
Definition: audio_driver.c:1469
audio_driver_t audio_ctr_csnd
Definition: ctr_csnd_audio.c:293
unsigned samples
Definition: audio_driver.h:78
void audio_unset_bool(enum audio_action action, bool val)
audio_driver_t audio_rwebaudio
Definition: rwebaudio.c:104
audio_mixer_stop_cb_t cb
Definition: audio_driver.h:171
enum audio_mixer_state state
Definition: audio_driver.h:65
ssize_t(* write)(void *data, const void *buf, size_t size)
Definition: audio_driver.h:115
float volume
Definition: audio_driver.h:165
enum audio_mixer_state audio_driver_mixer_get_stream_state(unsigned i)
Definition: audio_driver.c:1242
size_t bufsize
Definition: audio_driver.h:170
void audio_driver_unset_own_driver(void)
Definition: audio_driver.c:1542
void audio_driver_frame_is_reverse(void)
Definition: audio_driver.c:1524
struct audio_driver audio_driver_t
audio_driver_t audio_rsound
Definition: rsound.c:229
void(* free)(void *data)
Definition: audio_driver.h:136
audio_driver_t audio_xa
Definition: xaudio.c:429
audio_driver_t audio_roar
Definition: roar.c:139
audio_driver_t audio_jack
Definition: jack.c:374
audio_driver_t audio_psp
Definition: psp_audio.c:298
void * buf
Definition: audio_driver.h:67
Definition: audio_driver.h:163
void audio_driver_destroy(void)
Definition: audio_driver.c:1577
audio_driver_t audio_alsa
Definition: alsa.c:406
audio_driver_t audio_xenon360
Definition: xenon360_audio.c:140
void audio_driver_set_buffer_size(size_t bufsize)
Definition: audio_driver.c:883
audio_driver_t audio_gx
Definition: gx_audio.c:225
void audio_driver_destroy_data(void)
Definition: audio_driver.c:1532
GLint left
Definition: glext.h:8393
void audio_driver_menu_sample(void)
Definition: audio_driver.c:755
size_t audio_driver_sample_batch_rewind(const int16_t *data, size_t frames)
Definition: audio_driver.c:825
audio_driver_t audio_openal
Definition: openal.c:266
bool audio_driver_init(void)
Definition: audio_driver.c:1000
void audio_driver_set_nonblocking_state(bool enable)
Definition: audio_driver.c:582
struct nk_device device
Definition: nk_common.c:44
Definition: audio_driver.h:57
audio_driver_t audio_ps2
Definition: ps2_audio.c:283
void audio_driver_mixer_set_stream_volume(unsigned i, float vol)
Definition: audio_driver.c:1302
size_t(* buffer_size)(void *data)
Definition: audio_driver.h:160
resampler_quality
Definition: audio_resampler.h:50
void audio_driver_mixer_play_stream_looped(unsigned i)
Definition: audio_driver.c:1282