From 8412207d21af9b94c5bc6d36bbf850a80f7856a4 Mon Sep 17 00:00:00 2001
From: Jari Vetoniemi <mailroxas@gmail.com>
Date: Sat, 3 Nov 2018 17:50:26 +0200
Subject: check that device has been started

---
 src/pcm.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/pcm.c b/src/pcm.c
index 7b33a1b..56e1cca 100644
--- a/src/pcm.c
+++ b/src/pcm.c
@@ -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) };
 
-- 
cgit v1.2.3-70-g09d2