[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