diff --git a/src/output/alsa_plugin.c b/src/output/alsa_plugin.c index 8701159985852741c78d8b92b94ee2610b0320f3..48a40fb9b1b70a29bfcd4c30c29cd9636d1fb222 100644 --- a/src/output/alsa_plugin.c +++ b/src/output/alsa_plugin.c @@ -500,7 +500,8 @@ alsa_drain(void *data) { struct alsa_data *ad = data; - snd_pcm_drain(ad->pcm); + if (snd_pcm_state(ad->pcm) == SND_PCM_STATE_RUNNING) + snd_pcm_drain(ad->pcm); } static void