From 881d0e44d08bf91571f5771b975c2f99fe7f902d Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 2 Sep 2025 18:52:38 +0200 Subject: [PATCH] alsa: don't add MAX_LATENCY when using IRQ scheduling The Max latency property only works for timer based scheduling so that we don't select a quantum larger than we can handle in our buffer. With IRQ based scheduling this does not make sense because we will reconfigure the buffer completely when we change quantums and so the currently selected buffer size does not limit the latency in any way. Fixes #4877 --- spa/plugins/alsa/alsa-pcm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c index e3d746e04..31fbddd10 100644 --- a/spa/plugins/alsa/alsa-pcm.c +++ b/spa/plugins/alsa/alsa-pcm.c @@ -3875,7 +3875,7 @@ void spa_alsa_emit_node_info(struct state *state, bool full) items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_MEDIA_CLASS, state->props.media_class); items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_NODE_DRIVER, "true"); - if (state->have_format) + if (state->have_format && !state->disable_tsched) snprintf(latency, sizeof(latency), "%lu/%d", state->buffer_frames / (2 * state->frame_scale), state->rate); items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_NODE_MAX_LATENCY, latency[0] ? latency : NULL);