diff --git a/src/fm95.c b/src/fm95.c index 419d1cd..77efc44 100644 --- a/src/fm95.c +++ b/src/fm95.c @@ -587,7 +587,12 @@ int main(int argc, char **argv) { break; } } else { - snd_pcm_writei(output_handle, output, sizeof(output)); + snd_pcm_sframes_t frames_written = snd_pcm_writei(output_handle, output, BUFFER_SIZE); + if (frames_written < 0) { + fprintf(stderr, "Error: write to audio interface failed: %s\n", snd_strerror(frames_written)); + } else if (frames_written < BUFFER_SIZE) { + fprintf(stderr, "Warning: underrun, only %ld frames written out of %d\n", frames_written, BUFFER_SIZE); + } } } printf("Cleaning up...\n");