paaudio: send recorded data in smaller chunks
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>
This commit is contained in:
parent
00413ed9c2
commit
d9a8b27a7e
@ -568,8 +568,9 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
|||||||
ss.channels = as->nchannels;
|
ss.channels = as->nchannels;
|
||||||
ss.rate = as->freq;
|
ss.rate = as->freq;
|
||||||
|
|
||||||
ba.fragsize = pa_usec_to_bytes(ppdo->latency, &ss);
|
ba.fragsize = pa_usec_to_bytes((g->dev->timer_period >> 1) * 3, &ss);
|
||||||
ba.maxlength = pa_usec_to_bytes(ppdo->latency * 2, &ss);
|
ba.maxlength = pa_usec_to_bytes(
|
||||||
|
MAX(ppdo->latency, g->dev->timer_period * 3), &ss);
|
||||||
ba.minreq = -1;
|
ba.minreq = -1;
|
||||||
ba.prebuf = -1;
|
ba.prebuf = -1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user