diff --git a/audio/out/buffer.c b/audio/out/buffer.c index 11bd14f733..bb681a9f1d 100644 --- a/audio/out/buffer.c +++ b/audio/out/buffer.c @@ -357,7 +357,7 @@ void ao_set_paused(struct ao *ao, bool paused) pthread_mutex_lock(&p->lock); - if (p->playing && !p->paused && paused) { + if ((p->playing || !ao->driver->write) && !p->paused && paused) { if (p->streaming && !ao->stream_silence) { if (ao->driver->write) { if (!p->recover_pause)