Files
e36/include/decoder/provider/audio_in_provider.h

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