def->id,
qemuAudioDriverTypeToString(def->type));
+ if (def->timerPeriod)
+ virBufferAsprintf(&buf, ",timer-period=%u",
+ def->timerPeriod);
+
qemuBuildAudioCommonArg(&buf, "in", &def->input);
qemuBuildAudioCommonArg(&buf, "out", &def->output);
virCommandAddEnvPair(cmd, "QEMU_AUDIO_DRV",
qemuAudioDriverTypeToString(audio->type));
+ if (audio->timerPeriod)
+ virCommandAddEnvFormat(cmd, "QEMU_AUDIO_TIMER_PERIOD=%u",
+ audio->timerPeriod);
+
qemuBuildAudioCommonEnv(cmd, "QEMU_AUDIO_ADC_", &audio->input);
qemuBuildAudioCommonEnv(cmd, "QEMU_AUDIO_DAC_", &audio->output);
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=alsa \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=alsa,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32,in.dev=/dev/dsp0,out.dev=/dev/dsp1 \
+-audiodev id=audio1,driver=alsa,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32,in.dev=/dev/dsp0,out.dev=/dev/dsp1 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='alsa'>
+ <audio id='1' type='alsa' timerPeriod='50'>
<input mixingEngine='yes' fixedSettings='yes' voices='1' dev='/dev/dsp0'>
<settings frequency='44100' channels='2' format='s16'/>
</input>
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=coreaudio \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=coreaudio,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.buffer-length=200,out.frequency=22050,out.channels=4,out.format=f32,out.buffer-count=42 \
+-audiodev id=audio1,driver=coreaudio,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.buffer-length=200,out.frequency=22050,out.channels=4,out.format=f32,out.buffer-count=42 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='coreaudio'>
+ <audio id='1' type='coreaudio' timerPeriod='50'>
<input mixingEngine='yes' fixedSettings='yes' voices='1'>
<settings frequency='44100' channels='2' format='s16'/>
</input>
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=wav \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=wav,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32,path=audio.wav \
+-audiodev id=audio1,driver=wav,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32,path=audio.wav \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='file' path='audio.wav'>
+ <audio id='1' type='file' timerPeriod='50' path='audio.wav'>
<input mixingEngine='yes' fixedSettings='yes' voices='1'>
<settings frequency='44100' channels='2' format='s16'/>
</input>
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=none \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=none,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32 \
+-audiodev id=audio1,driver=none,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='none'>
+ <audio id='1' type='none' timerPeriod='50'>
<input mixingEngine='yes' fixedSettings='yes' voices='1'>
<settings frequency='44100' channels='2' format='s16'/>
</input>
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=oss \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=oss,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32,in.dev=/dev/dsp0,in.buffer-count=30,in.try-poll=on,out.dev=/dev/dsp1,out.buffer-count=30,out.try-poll=off \
+-audiodev id=audio1,driver=oss,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32,in.dev=/dev/dsp0,in.buffer-count=30,in.try-poll=on,out.dev=/dev/dsp1,out.buffer-count=30,out.try-poll=off \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='oss'>
+ <audio id='1' type='oss' timerPeriod='50'>
<input mixingEngine='yes' fixedSettings='yes' voices='1' dev='/dev/dsp0' bufferCount='30' tryPoll='yes'>
<settings frequency='44100' channels='2' format='s16'/>
</input>
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=pa \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=pa,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.buffer-length=200,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.buffer-length=200,out.frequency=22050,out.channels=4,out.format=f32,in.name=fish,out.name=fish,server=acme.example.org \
+-audiodev id=audio1,driver=pa,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.buffer-length=200,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.buffer-length=200,out.frequency=22050,out.channels=4,out.format=f32,in.name=fish,out.name=fish,server=acme.example.org \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='pulseaudio' serverName='acme.example.org'>
+ <audio id='1' type='pulseaudio' timerPeriod='50' serverName='acme.example.org'>
<input mixingEngine='yes' fixedSettings='yes' voices='1' bufferLength='200' name='fish'>
<settings frequency='44100' channels='2' format='s16'/>
</input>
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=sdl \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=sdl,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.buffer-length=200,out.frequency=22050,out.channels=4,out.format=f32 \
+-audiodev id=audio1,driver=sdl,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.buffer-length=200,out.frequency=22050,out.channels=4,out.format=f32 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='sdl' driver='pulseaudio'>
+ <audio id='1' type='sdl' timerPeriod='50' driver='pulseaudio'>
<input mixingEngine='yes' fixedSettings='yes' voices='1'>
<settings frequency='44100' channels='2' format='s16'/>
</input>
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=spice \
+QEMU_AUDIO_TIMER_PERIOD=50 \
QEMU_AUDIO_ADC_FIXED_SETTINGS=on \
QEMU_AUDIO_ADC_VOICES=1 \
QEMU_AUDIO_ADC_FIXED_FREQ=44100 \
-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
--audiodev id=audio1,driver=spice,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32 \
+-audiodev id=audio1,driver=spice,timer-period=50,in.mixing-engine=on,in.fixed-settings=on,in.voices=1,in.frequency=44100,in.channels=2,in.format=s16,out.mixing-engine=on,out.fixed-settings=on,out.voices=2,out.frequency=22050,out.channels=4,out.format=f32 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
- <audio id='1' type='spice'>
+ <audio id='1' type='spice' timerPeriod='50'>
<input mixingEngine='yes' fixedSettings='yes' voices='1'>
<settings frequency='44100' channels='2' format='s16'/>
</input>