From b16b80601d08dfc5e133dae047f098bcddecad40 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 29 Mar 2023 15:13:00 +0200 Subject: [PATCH] alsa: start playback right away in IRQ mode --- spa/plugins/alsa/alsa-pcm.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c index ed09baef1..0ffcf0230 100644 --- a/spa/plugins/alsa/alsa-pcm.c +++ b/spa/plugins/alsa/alsa-pcm.c @@ -2756,9 +2756,13 @@ int spa_alsa_start(struct state *state) state->alsa_recovering = false; state->alsa_started = false; - /* start capture now, playback will start after first write */ - if (state->stream == SND_PCM_STREAM_PLAYBACK) + /* start capture now, playback will start after first write. Without tsched, we start + * right away so that the fds become active in poll right away. */ + if (state->stream == SND_PCM_STREAM_PLAYBACK) { spa_alsa_silence(state, state->start_delay + state->threshold + state->headroom); + if (state->disable_tsched) + do_start(state); + } else if ((err = do_start(state)) < 0) return err;