diff options
Diffstat (limited to 'src/audioinput.cc')
-rw-r--r-- | src/audioinput.cc | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/audioinput.cc b/src/audioinput.cc index cc68e4b..a94d208 100644 --- a/src/audioinput.cc +++ b/src/audioinput.cc @@ -31,12 +31,26 @@ AudioInput::AudioInput(const char *device) { int err; - ai = ai_init(&err, device, "", 48000, 1); - if(err) printf("ai_err: %d\n", err); + ai = ai_init(&err, device, "", 16000, 1); + if(ai == NULL || err) { + printf("ai_init: %d\n", err); + return; + } + + int srate = ai_get_samplerate(&err, ai); + if(err) printf("ai_get_samplerate: %d\n", err); + if(srate != 16000) { + printf("Samplerate: %d\n", srate); + } } AudioInput::~AudioInput() { + if(ai == NULL) { + printf("ai_err: no handle\n"); + return; + } + int err; ai_close(&err, ai); if(err) printf("ai_err: %d\n", err); @@ -44,8 +58,13 @@ AudioInput::~AudioInput() int AudioInput::getSamples(void *pcm, size_t size) { + if(ai == NULL) { + printf("ai_err: no handle\n"); + return 0; + } + int err; int ret = ai_read(&err, ai, pcm, size); - if(err) printf("ai_err: %d\n", err); + if(err) printf("ai_read: %d\n", err); return ret; } |