[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 19/30] paaudio: send recorded data in smaller chunks
From: |
Gerd Hoffmann |
Subject: |
[PULL 19/30] paaudio: send recorded data in smaller chunks |
Date: |
Fri, 15 Jan 2021 14:21:35 +0100 |
From: Volker RĂ¼melin <vr_qemu@t-online.de>
Tell PulseAudio to send recorded audio data in smaller chunks
than timer_period, so there's a good chance that qemu can read
recorded audio data every time it looks for new data.
PulseAudio tries to send buffer updates at a fragsize / 2 rate.
With fragsize = timer_period / 2 * 3 the update rate is 75% of
timer_period. The lower limit for the recording buffer size
maxlength is fragsize * 2.
Signed-off-by: Volker RĂ¼melin <vr_qemu@t-online.de>
Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de
Message-Id: <20210110100239.27588-19-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
audio/paaudio.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 318686829428..1e6f4448ce37 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -568,8 +568,9 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings
*as, void *drv_opaque)
ss.channels = as->nchannels;
ss.rate = as->freq;
- ba.fragsize = pa_usec_to_bytes(ppdo->latency, &ss);
- ba.maxlength = pa_usec_to_bytes(ppdo->latency * 2, &ss);
+ ba.fragsize = pa_usec_to_bytes((g->dev->timer_period >> 1) * 3, &ss);
+ ba.maxlength = pa_usec_to_bytes(
+ MAX(ppdo->latency, g->dev->timer_period * 3), &ss);
ba.minreq = -1;
ba.prebuf = -1;
--
2.29.2
- [PULL 27/30] audio: Fix lines over 90 characters, (continued)
- [PULL 27/30] audio: Fix lines over 90 characters, Gerd Hoffmann, 2021/01/15
- [PULL 06/30] sdlaudio: fill remaining sample buffer with silence, Gerd Hoffmann, 2021/01/15
- [PULL 28/30] audio: Don't use '%#' in format strings, Gerd Hoffmann, 2021/01/15
- [PULL 23/30] dsoundaudio: fix log message, Gerd Hoffmann, 2021/01/15
- [PULL 24/30] audio: Add braces for statements/fix braces' position, Gerd Hoffmann, 2021/01/15
- [PULL 13/30] paaudio: avoid to clip samples multiple times, Gerd Hoffmann, 2021/01/15
- [PULL 14/30] paaudio: wait for PA_STREAM_READY in qpa_write(), Gerd Hoffmann, 2021/01/15
- [PULL 25/30] audio: Add spaces around operator/delete redundant spaces, Gerd Hoffmann, 2021/01/15
- [PULL 29/30] audio: Suspect code indent for conditional statements, Gerd Hoffmann, 2021/01/15
- [PULL 17/30] paaudio: comment bugs in functions qpa_init_*, Gerd Hoffmann, 2021/01/15
- [PULL 19/30] paaudio: send recorded data in smaller chunks,
Gerd Hoffmann <=
- [PULL 26/30] audio: foo* bar" should be "foo *bar"., Gerd Hoffmann, 2021/01/15
- [PULL 30/30] audio: space prohibited between function name and parenthesis'(', Gerd Hoffmann, 2021/01/15
- [PULL 16/30] paaudio: remove unneeded code, Gerd Hoffmann, 2021/01/15
- Re: [PULL 00/30] Audio 20210115 patches, no-reply, 2021/01/15
- Re: [PULL 00/30] Audio 20210115 patches, Peter Maydell, 2021/01/16