From 63cc6e920f83068966d9f9d5d082ba12b003bb64 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 17 Jul 2018 17:39:15 +0200 Subject: [PATCH] jack: update for rate of the graph --- src/pipewire-jack.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pipewire-jack.c b/src/pipewire-jack.c index fc5d3e2a5..d3f65c428 100644 --- a/src/pipewire-jack.c +++ b/src/pipewire-jack.c @@ -689,7 +689,11 @@ on_rtsocket_condition(void *data, int fd, enum spa_io mask) c->bufsize_callback(c->buffer_size, c->bufsize_arg); } - sample_rate = c->quantum->rate.denom; + if (c->quantum->rate.denom != 0) + sample_rate = c->quantum->rate.num / c->quantum->rate.denom; + else + sample_rate = c->sample_rate; + if (sample_rate != c->sample_rate) { pw_log_info("jack %p: sample_rate %d", c, sample_rate); c->sample_rate = sample_rate; @@ -697,9 +701,12 @@ on_rtsocket_condition(void *data, int fd, enum spa_io mask) c->srate_callback(c->sample_rate, c->srate_arg); } + c->jack_position.unique_1++; c->jack_position.usecs = c->quantum->nsec/1000; c->jack_position.frame_rate = c->sample_rate; c->jack_position.frame = c->quantum->position; + c->jack_position.valid = 0; + c->jack_position.unique_2 = c->jack_position.unique_1; if (c->sync_callback) { c->sync_callback(JackTransportRolling,