[pulseaudio-discuss] [PATCH] protocol-native: fix bytes-to-usec conversion of "on-the-fly" data
Arun Raghavan
arun at arunraghavan.net
Tue Jul 18 03:17:43 UTC 2017
On Mon, 17 Jul 2017, at 10:17 PM, Tanu Kaskinen wrote:
> On Sat, 2017-07-15 at 11:20 +0530, Arun Raghavan wrote:
> >
> > On Tue, 11 Jul 2017, at 11:46 PM, Tanu Kaskinen wrote:
> > > 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 266b676de..d5d032950 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);
> > > --
> >
> > Looks good. Let's get this into 11.0, maybe?
>
> Ok, I'll push this to master. Would you like to have also
>
> simple: Change latency estimation to account for already-read data
> in pa_simple_get_latency().
>
> and
>
> simple: fix negative latency handling
>
> in 11.0? Those improve latency reporting for the simple API.
I thought about that, and if you're confident there's no chance of
regressing there, maybe a freeze exception is okay.
-- Arun
More information about the pulseaudio-discuss
mailing list