From e7d7b29c174f0b97d8a06de6fa3b555e64cc267a Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Tue, 11 Jul 2017 21:16:17 +0300 Subject: [PATCH] protocol-native: fix bytes-to-usec conversion of "on-the-fly" data The on_the_fly_snapshot variable contains the amount of bytes that has been sent from the source IO thread to the main thread, but not yet pushed to the stream memblockq. The data is in the stream format, but the bytes-to-usec conversion used the source format, which caused random latency reporting errors. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=81075 --- src/pulsecore/protocol-native.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index 068e0c00e..866e2c640 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -2922,7 +2922,7 @@ static void command_get_record_latency(pa_pdispatch *pd, uint32_t command, uint3 pa_tagstruct_put_usec(reply, s->current_monitor_latency); pa_tagstruct_put_usec(reply, s->current_source_latency + - pa_bytes_to_usec(s->on_the_fly_snapshot, &s->source_output->source->sample_spec)); + pa_bytes_to_usec(s->on_the_fly_snapshot, &s->source_output->sample_spec)); pa_tagstruct_put_boolean(reply, pa_source_get_state(s->source_output->source) == PA_SOURCE_RUNNING && pa_source_output_get_state(s->source_output) == PA_SOURCE_OUTPUT_RUNNING);