qemu-patch-raspberry4/audio
Volker Rümelin 4db3e634c7 paaudio: drop recording stream in qpa_fini_in
Every call to pa_stream_peek which returns a data length > 0
should have a corresponding pa_stream_drop. A call to qpa_read
does not necessarily call pa_stream_drop immediately after a
call to pa_stream_peek. Test in qpa_fini_in if a last
pa_stream_drop is needed.

This prevents following messages in the libvirt log file after
a recording stream gets closed and a new one opened.

pulseaudio: pa_stream_drop failed
pulseaudio: Reason: Bad state
pulseaudio: pa_stream_drop failed
pulseaudio: Reason: Bad state

To reproduce start qemu with
-audiodev pa,id=audio0,in.mixing-engine=off
and in the guest start and stop Audacity several times.

Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-id: 20200104091122.13971-3-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: drop recording stream in qpa_fini_in 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