qemu-patch-raspberry4/audio
Volker Rümelin acc3b63e1b paaudio: try to drain the recording stream
There is no guarantee a single call to pa_stream_peek every
timer_period microseconds can read a recording stream faster
than the data gets produced at the source. Let qpa_read try to
drain the recording stream.

To reproduce the problem:

Start qemu with -audiodev pa,id=audio0,in.mixing-engine=off

On the host connect the qemu recording stream to the monitor of
a hardware output device. While the problem can also be seen
with a hardware input device, it's obvious with the monitor of
a hardware output device.

In the guest start audio recording with audacity and notice the
slow recording data rate.

Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-id: 20200104091122.13971-4-vr_qemu@t-online.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2020-01-06 08:47:16 +01:00
..
alsaaudio.c audio: basic support for multichannel audio 2019-10-18 08:14:05 +02:00
audio.c audio: fix audio recording 2019-11-20 09:11:12 +01:00
audio.h audio: support more than two channels in volume setting 2019-10-18 08:14:05 +02:00
audio_int.h audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
audio_legacy.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
audio_template.h audio: make mixeng optional 2019-10-18 08:14:05 +02:00
audio_win_int.c audio: use qapi AudioFormat instead of audfmt_e 2019-03-11 10:29:26 +01:00
audio_win_int.h Windows Waveform Audio driver (no ADC support yet) 2009-10-10 01:18:24 +04:00
coreaudio.c audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
dsound_template.h audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
dsoundaudio.c audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
Makefile.objs paaudio: port to the new audio backend api 2019-09-23 12:28:47 +02:00
mixeng.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mixeng.h audio: use size_t where makes sense 2019-08-21 09:13:37 +02:00
mixeng_template.h audio/mixeng_template.h: fix inline declaration 2013-10-26 13:09:34 +04:00
noaudio.c audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
ossaudio.c audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
paaudio.c paaudio: try to drain the recording stream 2020-01-06 08:47:16 +01:00
rate_template.h audio: use size_t where makes sense 2019-08-21 09:13:37 +02:00
sdlaudio.c audio: split ctl_* functions into enable_* and volume_* 2019-09-23 12:28:47 +02:00
spiceaudio.c audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
wavaudio.c audio: replace shift in audio_pcm_info with bytes_per_frame 2019-10-18 08:14:05 +02:00
wavcapture.c audio: basic support for multi backend audio 2019-08-21 09:13:37 +02:00