diff options
-rw-r--r-- | src/pcm.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -458,6 +458,11 @@ snd_pcm_writei(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size) return 0; } + if (!pcm->started) { + WARNX1("playback hasn't been started"); + return 0; + } + const struct io io = { .read = cb_buffer_read, .write = cb_sio_write }; struct io_state state = { .pcm = pcm, .ptr = buffer, .end = (unsigned char*)buffer + snd_pcm_frames_to_bytes(pcm, size) }; @@ -499,6 +504,11 @@ snd_pcm_readi(snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size) return 0; } + if (!pcm->started) { + WARNX1("recording hasn't been started"); + return 0; + } + const struct io io = { .read = cb_sio_read, .write = cb_buffer_write }; struct io_state state = { .pcm = pcm, .ptr = buffer, .end = (unsigned char*)buffer + snd_pcm_frames_to_bytes(pcm, size) }; |