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
This commit is contained in:
Wim Taymans 2025-09-02 18:52:38 +02:00
parent 9606b37776
commit 0f6aae914f

View file

@ -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);