From 1531f78965a9500836593c0167c828cd3dfca09c Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 19 Jul 2021 11:50:28 +0200 Subject: [PATCH] jack: ensure transport frame_rate is not 0 Try harder to get the transport frame_rate from the position. If we can't find an activation structure, use the configured frame_rate instead of 0. Fixes #1432 --- pipewire-jack/src/pipewire-jack.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c index 80a432152..ad0166c2c 100644 --- a/pipewire-jack/src/pipewire-jack.c +++ b/pipewire-jack/src/pipewire-jack.c @@ -5251,11 +5251,14 @@ jack_transport_state_t jack_transport_query (const jack_client_t *client, spa_return_val_if_fail(c != NULL, JackTransportStopped); - if (SPA_LIKELY((a = c->rt.driver_activation) != NULL)) + if (SPA_LIKELY((a = c->rt.driver_activation) != NULL)) { jack_state = position_to_jack(a, pos); - else if (pos != NULL) + } else if ((a = c->driver_activation) != NULL) { + jack_state = position_to_jack(a, pos); + } else if (pos != NULL) { memset(pos, 0, sizeof(jack_position_t)); - + pos->frame_rate = jack_get_sample_rate((jack_client_t*)client); + } return jack_state; }