pq_alsa.c: print error message if device init fails

This commit is contained in:
Vadim Yanitskiy 2017-09-02 21:34:03 +07:00 committed by Harald Welte
parent 83aa99e7a9
commit d5cfaa6a52
1 changed files with 9 additions and 3 deletions

View File

@ -85,13 +85,16 @@ pq_queue_alsa_op(struct pq *pq, const char *alsa_dev, unsigned int blk_len, int
int rc = -1;
state = calloc(1, sizeof(struct pq_state_alsa));
if (!state)
return -ENOMEM;
if (!state) {
rc = -ENOMEM;
goto out_print;
}
rc = snd_pcm_open(&state->pcm_handle, alsa_dev,
in_out_n ? SND_PCM_STREAM_CAPTURE : SND_PCM_STREAM_PLAYBACK, 0);
if (rc < 0)
return rc;
goto out_print;
state->blk_len = blk_len;
rc = snd_pcm_hw_params_malloc(&hw_params);
@ -143,6 +146,9 @@ out_free_par:
out_close:
snd_pcm_close(state->pcm_handle);
free(state);
out_print:
fprintf(stderr, "[!] Couldn't init ALSA device '%s': %s\n",
alsa_dev, snd_strerror(rc));
return rc;
}