#ifndef AUDIO_IN_PROVIDER_H #define AUDIO_IN_PROVIDER_H #include #include #ifdef __cplusplus extern "C" { #endif typedef struct audio_in_provider_t audio_in_provider_t; /** * device_name: NULL -> default device * sample_rate: 0 -> default * channels: 0 -> default (1) * frames_per_buffer: 0 -> default */ audio_in_provider_t* audio_in_open(const char *device_name, uint32_t sample_rate, uint32_t channels, uint32_t frames_per_buffer); size_t audio_in_read(audio_in_provider_t *p, float *out_frames, size_t max_frames); size_t audio_in_read_blocking(audio_in_provider_t *p, float *out_frames, size_t max_frames, uint32_t timeout_ms); void audio_in_close(audio_in_provider_t *p); #ifdef __cplusplus } #endif #endif // !AUDIO_IN_PROVIDER_H