diff --git a/audio/out/ao_pulse.c b/audio/out/ao_pulse.c index 9cc24d99a4..edbb009729 100644 --- a/audio/out/ao_pulse.c +++ b/audio/out/ao_pulse.c @@ -400,7 +400,7 @@ static int init(struct ao *ao) .fragsize = -1, }; - int flags = PA_STREAM_NOT_MONOTONIC | PA_STREAM_FAIL_ON_SUSPEND; + int flags = PA_STREAM_NOT_MONOTONIC; if (!priv->cfg_latency_hacks) flags |= PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE; @@ -418,6 +418,11 @@ static int init(struct ao *ao) pa_threaded_mainloop_wait(priv->mainloop); } + if (pa_stream_is_suspended(priv->stream)) { + MP_ERR(ao, "The stream is suspended. Bailing out.\n"); + goto unlock_and_fail; + } + pa_threaded_mainloop_unlock(priv->mainloop); return 0;