From 0f6aae914f7a60e0970cab400a8416543369bbdc 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 2a795309f..2c785872e 100644 --- a/spa/plugins/alsa/alsa-pcm.c +++ b/spa/plugins/alsa/alsa-pcm.c @@ -3877,7 +3877,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);