[pulseaudio-discuss] [PATCH v2 2/3] protocol-native: Lower default minreq in low-latency scenarios

Tanu Kaskinen tanuk at iki.fi
Fri Mar 22 00:55:56 PDT 2013


On Thu, 2013-03-21 at 19:10 +0100, David Henningsson wrote:
> If minreq is not explicitly specified, it was always initialized to
> 20 ms (DEFAULT_PROCESS_MSEC). However when the total latency is not
> much higher than 20 ms, this is way too high. Instead use
> tlength/4 as a measure: this will give a decent sink_usec in all
> modes (both traditional, adjust latency and early request modes).
> 
> This greatly improves PulseAudio's ability to ask for data in time
> in low-latency scenarios.
> 
> Signed-off-by: David Henningsson <david.henningsson at canonical.com>
> ---
>  src/pulsecore/protocol-native.c |   10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)

Looks good to me, apart from the grammar error.

> 
> diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
> index 519a0f2..5fabf94 100644
> --- a/src/pulsecore/protocol-native.c
> +++ b/src/pulsecore/protocol-native.c
> @@ -939,8 +939,14 @@ static void fix_playback_buffer_attr(playback_stream *s) {
>      if (s->buffer_attr.tlength <= 0)
>          s->buffer_attr.tlength = (uint32_t) frame_size;
>  
> -    if (s->buffer_attr.minreq == (uint32_t) -1)
> -        s->buffer_attr.minreq = (uint32_t) pa_usec_to_bytes_round_up(DEFAULT_PROCESS_MSEC*PA_USEC_PER_MSEC, &s->sink_input->sample_spec);
> +    if (s->buffer_attr.minreq == (uint32_t) -1) {
> +        uint32_t process = (uint32_t) pa_usec_to_bytes_round_up(DEFAULT_PROCESS_MSEC*PA_USEC_PER_MSEC, &s->sink_input->sample_spec);
> +        /* With low-latency, tlength/4 gives a decent default in both traditional, adjust latency and early request modes. */

"Both" is not the right word for three modes.

-- 
Tanu



More information about the pulseaudio-discuss mailing list