34 lines
779 B
C
34 lines
779 B
C
#ifndef AUDIO_IN_PROVIDER_H
|
|
#define AUDIO_IN_PROVIDER_H
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
|
|
#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
|
|
|