audio.json (eb5c3932a383ba1ef3a911232c644f2e053ef66c) | audio.json (a937b6aa739f65f2cae2ad9a7eb65a309ad2a359) |
---|---|
1# -*- mode: python -*- 2# vim: filetype=python 3# 4# Copyright (C) 2015-2019 Zoltán Kővágó <DirtY.iCE.hu@gmail.com> 5# 6# This work is licensed under the terms of the GNU GPL, version 2 or later. 7# See the COPYING file in the top-level directory. 8 9## 10# = Audio 11## 12 13## 14# @AudiodevPerDirectionOptions: 15# 16# General audio backend options that are used for both playback and 17# recording. 18# | 1# -*- mode: python -*- 2# vim: filetype=python 3# 4# Copyright (C) 2015-2019 Zoltán Kővágó <DirtY.iCE.hu@gmail.com> 5# 6# This work is licensed under the terms of the GNU GPL, version 2 or later. 7# See the COPYING file in the top-level directory. 8 9## 10# = Audio 11## 12 13## 14# @AudiodevPerDirectionOptions: 15# 16# General audio backend options that are used for both playback and 17# recording. 18# |
19# @mixing-engine: use QEMU's mixing engine to mix all streams inside QEMU and 20# convert audio formats when not supported by the backend. When 21# set to off, fixed-settings must be also off (default on, 22# since 4.2) | 19# @mixing-engine: use QEMU's mixing engine to mix all streams inside 20# QEMU and convert audio formats when not supported by the 21# backend. When set to off, fixed-settings must be also off 22# (default on, since 4.2) |
23# | 23# |
24# @fixed-settings: use fixed settings for host input/output. When off, 25# frequency, channels and format must not be 26# specified (default true) | 24# @fixed-settings: use fixed settings for host input/output. When 25# off, frequency, channels and format must not be specified 26# (default true) |
27# | 27# |
28# @frequency: frequency to use when using fixed settings 29# (default 44100) | 28# @frequency: frequency to use when using fixed settings (default 29# 44100) |
30# 31# @channels: number of channels when using fixed settings (default 2) 32# 33# @voices: number of voices to use (default 1) 34# | 30# 31# @channels: number of channels when using fixed settings (default 2) 32# 33# @voices: number of voices to use (default 1) 34# |
35# @format: sample format to use when using fixed settings 36# (default s16) | 35# @format: sample format to use when using fixed settings (default 36# s16) |
37# 38# @buffer-length: the buffer length in microseconds 39# 40# Since: 4.0 41## 42{ 'struct': 'AudiodevPerDirectionOptions', 43 'data': { 44 '*mixing-engine': 'bool', --- 26 unchanged lines hidden (view full) --- 71# Options of the ALSA backend that are used for both playback and 72# recording. 73# 74# @dev: the name of the ALSA device to use (default 'default') 75# 76# @period-length: the period length in microseconds 77# 78# @try-poll: attempt to use poll mode, falling back to non-polling | 37# 38# @buffer-length: the buffer length in microseconds 39# 40# Since: 4.0 41## 42{ 'struct': 'AudiodevPerDirectionOptions', 43 'data': { 44 '*mixing-engine': 'bool', --- 26 unchanged lines hidden (view full) --- 71# Options of the ALSA backend that are used for both playback and 72# recording. 73# 74# @dev: the name of the ALSA device to use (default 'default') 75# 76# @period-length: the period length in microseconds 77# 78# @try-poll: attempt to use poll mode, falling back to non-polling |
79# access on failure (default true) | 79# access on failure (default true) |
80# 81# Since: 4.0 82## 83{ 'struct': 'AudiodevAlsaPerDirectionOptions', 84 'base': 'AudiodevPerDirectionOptions', 85 'data': { 86 '*dev': 'str', 87 '*period-length': 'uint32', --- 38 unchanged lines hidden (view full) --- 126 '*in': 'AudiodevPerDirectionOptions', 127 '*out': 'AudiodevPerDirectionOptions', 128 '*dev': 'str', 129 '*latency': 'uint32'} } 130 131## 132# @AudiodevCoreaudioPerDirectionOptions: 133# | 80# 81# Since: 4.0 82## 83{ 'struct': 'AudiodevAlsaPerDirectionOptions', 84 'base': 'AudiodevPerDirectionOptions', 85 'data': { 86 '*dev': 'str', 87 '*period-length': 'uint32', --- 38 unchanged lines hidden (view full) --- 126 '*in': 'AudiodevPerDirectionOptions', 127 '*out': 'AudiodevPerDirectionOptions', 128 '*dev': 'str', 129 '*latency': 'uint32'} } 130 131## 132# @AudiodevCoreaudioPerDirectionOptions: 133# |
134# Options of the Core Audio backend that are used for both playback and 135# recording. | 134# Options of the Core Audio backend that are used for both playback 135# and recording. |
136# 137# @buffer-count: number of buffers 138# 139# Since: 4.0 140## 141{ 'struct': 'AudiodevCoreaudioPerDirectionOptions', 142 'base': 'AudiodevPerDirectionOptions', 143 'data': { --- 19 unchanged lines hidden (view full) --- 163# @AudiodevDsoundOptions: 164# 165# Options of the DirectSound audio backend. 166# 167# @in: options of the capture stream 168# 169# @out: options of the playback stream 170# | 136# 137# @buffer-count: number of buffers 138# 139# Since: 4.0 140## 141{ 'struct': 'AudiodevCoreaudioPerDirectionOptions', 142 'base': 'AudiodevPerDirectionOptions', 143 'data': { --- 19 unchanged lines hidden (view full) --- 163# @AudiodevDsoundOptions: 164# 165# Options of the DirectSound audio backend. 166# 167# @in: options of the capture stream 168# 169# @out: options of the playback stream 170# |
171# @latency: add extra latency to playback in microseconds 172# (default 10000) | 171# @latency: add extra latency to playback in microseconds (default 172# 10000) |
173# 174# Since: 4.0 175## 176{ 'struct': 'AudiodevDsoundOptions', 177 'data': { 178 '*in': 'AudiodevPerDirectionOptions', 179 '*out': 'AudiodevPerDirectionOptions', 180 '*latency': 'uint32' } } 181 182## 183# @AudiodevJackPerDirectionOptions: 184# 185# Options of the JACK backend that are used for both playback and 186# recording. 187# | 173# 174# Since: 4.0 175## 176{ 'struct': 'AudiodevDsoundOptions', 177 'data': { 178 '*in': 'AudiodevPerDirectionOptions', 179 '*out': 'AudiodevPerDirectionOptions', 180 '*latency': 'uint32' } } 181 182## 183# @AudiodevJackPerDirectionOptions: 184# 185# Options of the JACK backend that are used for both playback and 186# recording. 187# |
188# @server-name: select from among several possible concurrent server instances 189# (default: environment variable $JACK_DEFAULT_SERVER if set, else "default") | 188# @server-name: select from among several possible concurrent server 189# instances (default: environment variable $JACK_DEFAULT_SERVER if 190# set, else "default") |
190# | 191# |
191# @client-name: the client name to use. The server will modify this name to 192# create a unique variant, if needed unless @exact-name is true (default: the 193# guest's name) | 192# @client-name: the client name to use. The server will modify this 193# name to create a unique variant, if needed unless @exact-name is 194# true (default: the guest's name) |
194# | 195# |
195# @connect-ports: if set, a regular expression of JACK client port name(s) to 196# monitor for and automatically connect to | 196# @connect-ports: if set, a regular expression of JACK client port 197# name(s) to monitor for and automatically connect to |
197# | 198# |
198# @start-server: start a jack server process if one is not already present 199# (default: false) | 199# @start-server: start a jack server process if one is not already 200# present (default: false) |
200# | 201# |
201# @exact-name: use the exact name requested otherwise JACK automatically 202# generates a unique one, if needed (default: false) | 202# @exact-name: use the exact name requested otherwise JACK 203# automatically generates a unique one, if needed (default: false) |
203# 204# Since: 5.1 205## 206{ 'struct': 'AudiodevJackPerDirectionOptions', 207 'base': 'AudiodevPerDirectionOptions', 208 'data': { 209 '*server-name': 'str', 210 '*client-name': 'str', --- 23 unchanged lines hidden (view full) --- 234# Options of the OSS backend that are used for both playback and 235# recording. 236# 237# @dev: file name of the OSS device (default '/dev/dsp') 238# 239# @buffer-count: number of buffers 240# 241# @try-poll: attempt to use poll mode, falling back to non-polling | 204# 205# Since: 5.1 206## 207{ 'struct': 'AudiodevJackPerDirectionOptions', 208 'base': 'AudiodevPerDirectionOptions', 209 'data': { 210 '*server-name': 'str', 211 '*client-name': 'str', --- 23 unchanged lines hidden (view full) --- 235# Options of the OSS backend that are used for both playback and 236# recording. 237# 238# @dev: file name of the OSS device (default '/dev/dsp') 239# 240# @buffer-count: number of buffers 241# 242# @try-poll: attempt to use poll mode, falling back to non-polling |
242# access on failure (default true) | 243# access on failure (default true) |
243# 244# Since: 4.0 245## 246{ 'struct': 'AudiodevOssPerDirectionOptions', 247 'base': 'AudiodevPerDirectionOptions', 248 'data': { 249 '*dev': 'str', 250 '*buffer-count': 'uint32', --- 4 unchanged lines hidden (view full) --- 255# 256# Options of the OSS audio backend. 257# 258# @in: options of the capture stream 259# 260# @out: options of the playback stream 261# 262# @try-mmap: try using memory-mapped access, falling back to | 244# 245# Since: 4.0 246## 247{ 'struct': 'AudiodevOssPerDirectionOptions', 248 'base': 'AudiodevPerDirectionOptions', 249 'data': { 250 '*dev': 'str', 251 '*buffer-count': 'uint32', --- 4 unchanged lines hidden (view full) --- 256# 257# Options of the OSS audio backend. 258# 259# @in: options of the capture stream 260# 261# @out: options of the playback stream 262# 263# @try-mmap: try using memory-mapped access, falling back to |
263# non-memory-mapped access on failure (default true) | 264# non-memory-mapped access on failure (default true) |
264# | 265# |
265# @exclusive: open device in exclusive mode (vmix won't work) 266# (default false) | 266# @exclusive: open device in exclusive mode (vmix won't work) (default 267# false) |
267# 268# @dsp-policy: set the timing policy of the device (between 0 and 10, | 268# 269# @dsp-policy: set the timing policy of the device (between 0 and 10, |
269# where smaller number means smaller latency but higher 270# CPU usage) or -1 to use fragment mode (option ignored 271# on some platforms) (default 5) | 270# where smaller number means smaller latency but higher CPU usage) 271# or -1 to use fragment mode (option ignored on some platforms) 272# (default 5) |
272# 273# Since: 4.0 274## 275{ 'struct': 'AudiodevOssOptions', 276 'data': { 277 '*in': 'AudiodevOssPerDirectionOptions', 278 '*out': 'AudiodevOssPerDirectionOptions', 279 '*try-mmap': 'bool', 280 '*exclusive': 'bool', 281 '*dsp-policy': 'uint32' } } 282 283## 284# @AudiodevPaPerDirectionOptions: 285# | 273# 274# Since: 4.0 275## 276{ 'struct': 'AudiodevOssOptions', 277 'data': { 278 '*in': 'AudiodevOssPerDirectionOptions', 279 '*out': 'AudiodevOssPerDirectionOptions', 280 '*try-mmap': 'bool', 281 '*exclusive': 'bool', 282 '*dsp-policy': 'uint32' } } 283 284## 285# @AudiodevPaPerDirectionOptions: 286# |
286# Options of the Pulseaudio backend that are used for both playback and 287# recording. | 287# Options of the Pulseaudio backend that are used for both playback 288# and recording. |
288# 289# @name: name of the sink/source to use 290# 291# @stream-name: name of the PulseAudio stream created by qemu. Can be | 289# 290# @name: name of the sink/source to use 291# 292# @stream-name: name of the PulseAudio stream created by qemu. Can be |
292# used to identify the stream in PulseAudio when you 293# create multiple PulseAudio devices or run multiple qemu 294# instances (default: audiodev's id, since 4.2) | 293# used to identify the stream in PulseAudio when you create 294# multiple PulseAudio devices or run multiple qemu instances 295# (default: audiodev's id, since 4.2) |
295# 296# @latency: latency you want PulseAudio to achieve in microseconds | 296# 297# @latency: latency you want PulseAudio to achieve in microseconds |
297# (default 15000) | 298# (default 15000) |
298# 299# Since: 4.0 300## 301{ 'struct': 'AudiodevPaPerDirectionOptions', 302 'base': 'AudiodevPerDirectionOptions', 303 'data': { 304 '*name': 'str', 305 '*stream-name': 'str', --- 22 unchanged lines hidden (view full) --- 328# @AudiodevPipewirePerDirectionOptions: 329# 330# Options of the Pipewire backend that are used for both playback and 331# recording. 332# 333# @name: name of the sink/source to use 334# 335# @stream-name: name of the Pipewire stream created by qemu. Can be | 299# 300# Since: 4.0 301## 302{ 'struct': 'AudiodevPaPerDirectionOptions', 303 'base': 'AudiodevPerDirectionOptions', 304 'data': { 305 '*name': 'str', 306 '*stream-name': 'str', --- 22 unchanged lines hidden (view full) --- 329# @AudiodevPipewirePerDirectionOptions: 330# 331# Options of the Pipewire backend that are used for both playback and 332# recording. 333# 334# @name: name of the sink/source to use 335# 336# @stream-name: name of the Pipewire stream created by qemu. Can be |
336# used to identify the stream in Pipewire when you 337# create multiple Pipewire devices or run multiple qemu 338# instances (default: audiodev's id) | 337# used to identify the stream in Pipewire when you create multiple 338# Pipewire devices or run multiple qemu instances (default: 339# audiodev's id) |
339# 340# @latency: latency you want Pipewire to achieve in microseconds | 340# 341# @latency: latency you want Pipewire to achieve in microseconds |
341# (default 46000) | 342# (default 46000) |
342# 343# Since: 8.1 344## 345{ 'struct': 'AudiodevPipewirePerDirectionOptions', 346 'base': 'AudiodevPerDirectionOptions', 347 'data': { 348 '*name': 'str', 349 '*stream-name': 'str', --- 117 unchanged lines hidden (view full) --- 467# @Audiodev: 468# 469# Options of an audio backend. 470# 471# @id: identifier of the backend 472# 473# @driver: the backend driver to use 474# | 343# 344# Since: 8.1 345## 346{ 'struct': 'AudiodevPipewirePerDirectionOptions', 347 'base': 'AudiodevPerDirectionOptions', 348 'data': { 349 '*name': 'str', 350 '*stream-name': 'str', --- 117 unchanged lines hidden (view full) --- 468# @Audiodev: 469# 470# Options of an audio backend. 471# 472# @id: identifier of the backend 473# 474# @driver: the backend driver to use 475# |
475# @timer-period: timer period (in microseconds, 0: use lowest possible) | 476# @timer-period: timer period (in microseconds, 0: use lowest 477# possible) |
476# 477# Since: 4.0 478## 479{ 'union': 'Audiodev', 480 'base': { 481 'id': 'str', 482 'driver': 'AudiodevDriver', 483 '*timer-period': 'uint32' }, --- 27 unchanged lines hidden (view full) --- 511## 512# @query-audiodevs: 513# 514# Returns information about audiodev configuration 515# 516# Returns: array of @Audiodev 517# 518# Since: 8.0 | 478# 479# Since: 4.0 480## 481{ 'union': 'Audiodev', 482 'base': { 483 'id': 'str', 484 'driver': 'AudiodevDriver', 485 '*timer-period': 'uint32' }, --- 27 unchanged lines hidden (view full) --- 513## 514# @query-audiodevs: 515# 516# Returns information about audiodev configuration 517# 518# Returns: array of @Audiodev 519# 520# Since: 8.0 |
519# | |
520## 521{ 'command': 'query-audiodevs', 522 'returns': ['Audiodev'] } | 521## 522{ 'command': 'query-audiodevs', 523 'returns': ['Audiodev'] } |