audio/jack: honour the enable state of the audio device
commit81e0efb2e57cfdb076887b0f99ce6f0353952617
authorGeoffrey McRae <geoff@hostfission.com>
Sat, 13 Jun 2020 04:05:17 +0000 (13 14:05 +1000)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 17 Jun 2020 12:44:51 +0000 (17 14:44 +0200)
tree5efee53a6b54a3e50484c039bd22044a1095d341
parentde82640843769e84139b5b5a8ed60b076f0bcabe
audio/jack: honour the enable state of the audio device

When the guest closes the audio device we must start dropping input
samples from JACK and zeroing the output buffer samples. Failure to do
so causes sound artifacts during operations such as guest OS reboot, and
causes a hang of the input pipeline breaking it until QEMU is restated.

Closing and reconnecting to JACK was tested during these enable/disable
calls which works well for Linux guests, however Windows re-opens the
audio hardware repeatedly even when doing simple tasks like playing a
system sounds. As such it was decided it is better to feed silence to
JACK while the device is disabled.

Signed-off-by: Geoffrey McRae <geoff@hostfission.com>
Message-id: 20200613040518.38172-6-geoff@hostfission.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
audio/jackaudio.c