18c3a7d00SKővágó, Zoltán# -*- mode: python -*- 27e7237cdSVictor Toso# vim: filetype=python 38c3a7d00SKővágó, Zoltán# 48c3a7d00SKővágó, Zoltán# Copyright (C) 2015-2019 Zoltán Kővágó <DirtY.iCE.hu@gmail.com> 58c3a7d00SKővágó, Zoltán# 68c3a7d00SKővágó, Zoltán# This work is licensed under the terms of the GNU GPL, version 2 or later. 78c3a7d00SKővágó, Zoltán# See the COPYING file in the top-level directory. 88c3a7d00SKővágó, Zoltán 98c3a7d00SKővágó, Zoltán## 10a1d12a21SMarkus Armbruster# = Audio 11a1d12a21SMarkus Armbruster## 12a1d12a21SMarkus Armbruster 13a1d12a21SMarkus Armbruster## 148c3a7d00SKővágó, Zoltán# @AudiodevPerDirectionOptions: 158c3a7d00SKővágó, Zoltán# 168c3a7d00SKővágó, Zoltán# General audio backend options that are used for both playback and 178c3a7d00SKővágó, Zoltán# recording. 188c3a7d00SKővágó, Zoltán# 19a937b6aaSMarkus Armbruster# @mixing-engine: use QEMU's mixing engine to mix all streams inside 20a937b6aaSMarkus Armbruster# QEMU and convert audio formats when not supported by the 21a937b6aaSMarkus Armbruster# backend. When set to off, fixed-settings must be also off 22a937b6aaSMarkus Armbruster# (default on, since 4.2) 238efac073SKővágó, Zoltán# 24a937b6aaSMarkus Armbruster# @fixed-settings: use fixed settings for host input/output. When 25a937b6aaSMarkus Armbruster# off, frequency, channels and format must not be specified 26a937b6aaSMarkus Armbruster# (default true) 278c3a7d00SKővágó, Zoltán# 28a937b6aaSMarkus Armbruster# @frequency: frequency to use when using fixed settings (default 29a937b6aaSMarkus Armbruster# 44100) 308c3a7d00SKővágó, Zoltán# 318c3a7d00SKővágó, Zoltán# @channels: number of channels when using fixed settings (default 2) 328c3a7d00SKővágó, Zoltán# 338c3a7d00SKővágó, Zoltán# @voices: number of voices to use (default 1) 348c3a7d00SKővágó, Zoltán# 35a937b6aaSMarkus Armbruster# @format: sample format to use when using fixed settings (default 36a937b6aaSMarkus Armbruster# s16) 378c3a7d00SKővágó, Zoltán# 388c3a7d00SKővágó, Zoltán# @buffer-length: the buffer length in microseconds 398c3a7d00SKővágó, Zoltán# 408c3a7d00SKővágó, Zoltán# Since: 4.0 418c3a7d00SKővágó, Zoltán## 428c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevPerDirectionOptions', 438c3a7d00SKővágó, Zoltán 'data': { 448efac073SKővágó, Zoltán '*mixing-engine': 'bool', 458c3a7d00SKővágó, Zoltán '*fixed-settings': 'bool', 468c3a7d00SKővágó, Zoltán '*frequency': 'uint32', 478c3a7d00SKővágó, Zoltán '*channels': 'uint32', 488c3a7d00SKővágó, Zoltán '*voices': 'uint32', 498c3a7d00SKővágó, Zoltán '*format': 'AudioFormat', 508c3a7d00SKővágó, Zoltán '*buffer-length': 'uint32' } } 518c3a7d00SKővágó, Zoltán 528c3a7d00SKővágó, Zoltán## 538c3a7d00SKővágó, Zoltán# @AudiodevGenericOptions: 548c3a7d00SKővágó, Zoltán# 558c3a7d00SKővágó, Zoltán# Generic driver-specific options. 568c3a7d00SKővágó, Zoltán# 578c3a7d00SKővágó, Zoltán# @in: options of the capture stream 588c3a7d00SKővágó, Zoltán# 598c3a7d00SKővágó, Zoltán# @out: options of the playback stream 608c3a7d00SKővágó, Zoltán# 618c3a7d00SKővágó, Zoltán# Since: 4.0 628c3a7d00SKővágó, Zoltán## 638c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevGenericOptions', 648c3a7d00SKővágó, Zoltán 'data': { 658c3a7d00SKővágó, Zoltán '*in': 'AudiodevPerDirectionOptions', 668c3a7d00SKővágó, Zoltán '*out': 'AudiodevPerDirectionOptions' } } 678c3a7d00SKővágó, Zoltán 688c3a7d00SKővágó, Zoltán## 698c3a7d00SKővágó, Zoltán# @AudiodevAlsaPerDirectionOptions: 708c3a7d00SKővágó, Zoltán# 718c3a7d00SKővágó, Zoltán# Options of the ALSA backend that are used for both playback and 728c3a7d00SKővágó, Zoltán# recording. 738c3a7d00SKővágó, Zoltán# 748c3a7d00SKővágó, Zoltán# @dev: the name of the ALSA device to use (default 'default') 758c3a7d00SKővágó, Zoltán# 768c3a7d00SKővágó, Zoltán# @period-length: the period length in microseconds 778c3a7d00SKővágó, Zoltán# 788c3a7d00SKővágó, Zoltán# @try-poll: attempt to use poll mode, falling back to non-polling 798c3a7d00SKővágó, Zoltán# access on failure (default true) 808c3a7d00SKővágó, Zoltán# 818c3a7d00SKővágó, Zoltán# Since: 4.0 828c3a7d00SKővágó, Zoltán## 838c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevAlsaPerDirectionOptions', 848c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 858c3a7d00SKővágó, Zoltán 'data': { 868c3a7d00SKővágó, Zoltán '*dev': 'str', 878c3a7d00SKővágó, Zoltán '*period-length': 'uint32', 888c3a7d00SKővágó, Zoltán '*try-poll': 'bool' } } 898c3a7d00SKővágó, Zoltán 908c3a7d00SKővágó, Zoltán## 918c3a7d00SKővágó, Zoltán# @AudiodevAlsaOptions: 928c3a7d00SKővágó, Zoltán# 938c3a7d00SKővágó, Zoltán# Options of the ALSA audio backend. 948c3a7d00SKővágó, Zoltán# 958c3a7d00SKővágó, Zoltán# @in: options of the capture stream 968c3a7d00SKővágó, Zoltán# 978c3a7d00SKővágó, Zoltán# @out: options of the playback stream 988c3a7d00SKővágó, Zoltán# 998c3a7d00SKővágó, Zoltán# @threshold: set the threshold (in microseconds) when playback starts 1008c3a7d00SKővágó, Zoltán# 1018c3a7d00SKővágó, Zoltán# Since: 4.0 1028c3a7d00SKővágó, Zoltán## 1038c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevAlsaOptions', 1048c3a7d00SKővágó, Zoltán 'data': { 1058c3a7d00SKővágó, Zoltán '*in': 'AudiodevAlsaPerDirectionOptions', 1068c3a7d00SKővágó, Zoltán '*out': 'AudiodevAlsaPerDirectionOptions', 1078c3a7d00SKővágó, Zoltán '*threshold': 'uint32' } } 1088c3a7d00SKővágó, Zoltán 1098c3a7d00SKővágó, Zoltán## 110663df1ccSAlexandre Ratchov# @AudiodevSndioOptions: 111663df1ccSAlexandre Ratchov# 112663df1ccSAlexandre Ratchov# Options of the sndio audio backend. 113663df1ccSAlexandre Ratchov# 114663df1ccSAlexandre Ratchov# @in: options of the capture stream 115663df1ccSAlexandre Ratchov# 116663df1ccSAlexandre Ratchov# @out: options of the playback stream 117663df1ccSAlexandre Ratchov# 118663df1ccSAlexandre Ratchov# @dev: the name of the sndio device to use (default 'default') 119663df1ccSAlexandre Ratchov# 120663df1ccSAlexandre Ratchov# @latency: play buffer size (in microseconds) 121663df1ccSAlexandre Ratchov# 122663df1ccSAlexandre Ratchov# Since: 7.2 123663df1ccSAlexandre Ratchov## 124663df1ccSAlexandre Ratchov{ 'struct': 'AudiodevSndioOptions', 125663df1ccSAlexandre Ratchov 'data': { 126663df1ccSAlexandre Ratchov '*in': 'AudiodevPerDirectionOptions', 127663df1ccSAlexandre Ratchov '*out': 'AudiodevPerDirectionOptions', 128663df1ccSAlexandre Ratchov '*dev': 'str', 129663df1ccSAlexandre Ratchov '*latency': 'uint32'} } 130663df1ccSAlexandre Ratchov 131663df1ccSAlexandre Ratchov## 1328c3a7d00SKővágó, Zoltán# @AudiodevCoreaudioPerDirectionOptions: 1338c3a7d00SKővágó, Zoltán# 134a937b6aaSMarkus Armbruster# Options of the Core Audio backend that are used for both playback 135a937b6aaSMarkus Armbruster# and recording. 1368c3a7d00SKővágó, Zoltán# 1378c3a7d00SKővágó, Zoltán# @buffer-count: number of buffers 1388c3a7d00SKővágó, Zoltán# 1398c3a7d00SKővágó, Zoltán# Since: 4.0 1408c3a7d00SKővágó, Zoltán## 1418c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevCoreaudioPerDirectionOptions', 1428c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 1438c3a7d00SKővágó, Zoltán 'data': { 1448c3a7d00SKővágó, Zoltán '*buffer-count': 'uint32' } } 1458c3a7d00SKővágó, Zoltán 1468c3a7d00SKővágó, Zoltán## 1478c3a7d00SKővágó, Zoltán# @AudiodevCoreaudioOptions: 1488c3a7d00SKővágó, Zoltán# 1498c3a7d00SKővágó, Zoltán# Options of the coreaudio audio backend. 1508c3a7d00SKővágó, Zoltán# 1518c3a7d00SKővágó, Zoltán# @in: options of the capture stream 1528c3a7d00SKővágó, Zoltán# 1538c3a7d00SKővágó, Zoltán# @out: options of the playback stream 1548c3a7d00SKővágó, Zoltán# 1558c3a7d00SKővágó, Zoltán# Since: 4.0 1568c3a7d00SKővágó, Zoltán## 1578c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevCoreaudioOptions', 1588c3a7d00SKővágó, Zoltán 'data': { 1598c3a7d00SKővágó, Zoltán '*in': 'AudiodevCoreaudioPerDirectionOptions', 1608c3a7d00SKővágó, Zoltán '*out': 'AudiodevCoreaudioPerDirectionOptions' } } 1618c3a7d00SKővágó, Zoltán 1628c3a7d00SKővágó, Zoltán## 1638c3a7d00SKővágó, Zoltán# @AudiodevDsoundOptions: 1648c3a7d00SKővágó, Zoltán# 1658c3a7d00SKővágó, Zoltán# Options of the DirectSound audio backend. 1668c3a7d00SKővágó, Zoltán# 1678c3a7d00SKővágó, Zoltán# @in: options of the capture stream 1688c3a7d00SKővágó, Zoltán# 1698c3a7d00SKővágó, Zoltán# @out: options of the playback stream 1708c3a7d00SKővágó, Zoltán# 171a937b6aaSMarkus Armbruster# @latency: add extra latency to playback in microseconds (default 172a937b6aaSMarkus Armbruster# 10000) 1738c3a7d00SKővágó, Zoltán# 1748c3a7d00SKővágó, Zoltán# Since: 4.0 1758c3a7d00SKővágó, Zoltán## 1768c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevDsoundOptions', 1778c3a7d00SKővágó, Zoltán 'data': { 1788c3a7d00SKővágó, Zoltán '*in': 'AudiodevPerDirectionOptions', 1798c3a7d00SKővágó, Zoltán '*out': 'AudiodevPerDirectionOptions', 1808c3a7d00SKővágó, Zoltán '*latency': 'uint32' } } 1818c3a7d00SKővágó, Zoltán 1828c3a7d00SKővágó, Zoltán## 1832e445703SGeoffrey McRae# @AudiodevJackPerDirectionOptions: 1842e445703SGeoffrey McRae# 1852e445703SGeoffrey McRae# Options of the JACK backend that are used for both playback and 1862e445703SGeoffrey McRae# recording. 1872e445703SGeoffrey McRae# 188a937b6aaSMarkus Armbruster# @server-name: select from among several possible concurrent server 189a937b6aaSMarkus Armbruster# instances (default: environment variable $JACK_DEFAULT_SERVER if 190a937b6aaSMarkus Armbruster# set, else "default") 1912e445703SGeoffrey McRae# 192a937b6aaSMarkus Armbruster# @client-name: the client name to use. The server will modify this 193a937b6aaSMarkus Armbruster# name to create a unique variant, if needed unless @exact-name is 194a937b6aaSMarkus Armbruster# true (default: the guest's name) 1952e445703SGeoffrey McRae# 196a937b6aaSMarkus Armbruster# @connect-ports: if set, a regular expression of JACK client port 197a937b6aaSMarkus Armbruster# name(s) to monitor for and automatically connect to 1982e445703SGeoffrey McRae# 199a937b6aaSMarkus Armbruster# @start-server: start a jack server process if one is not already 200a937b6aaSMarkus Armbruster# present (default: false) 2012e445703SGeoffrey McRae# 202a937b6aaSMarkus Armbruster# @exact-name: use the exact name requested otherwise JACK 203a937b6aaSMarkus Armbruster# automatically generates a unique one, if needed (default: false) 2042e445703SGeoffrey McRae# 2052e445703SGeoffrey McRae# Since: 5.1 2062e445703SGeoffrey McRae## 2072e445703SGeoffrey McRae{ 'struct': 'AudiodevJackPerDirectionOptions', 2082e445703SGeoffrey McRae 'base': 'AudiodevPerDirectionOptions', 2092e445703SGeoffrey McRae 'data': { 2102e445703SGeoffrey McRae '*server-name': 'str', 2112e445703SGeoffrey McRae '*client-name': 'str', 2122e445703SGeoffrey McRae '*connect-ports': 'str', 2132e445703SGeoffrey McRae '*start-server': 'bool', 2142e445703SGeoffrey McRae '*exact-name': 'bool' } } 2152e445703SGeoffrey McRae 2162e445703SGeoffrey McRae## 2172e445703SGeoffrey McRae# @AudiodevJackOptions: 2182e445703SGeoffrey McRae# 2192e445703SGeoffrey McRae# Options of the JACK audio backend. 2202e445703SGeoffrey McRae# 2212e445703SGeoffrey McRae# @in: options of the capture stream 2222e445703SGeoffrey McRae# 2232e445703SGeoffrey McRae# @out: options of the playback stream 2242e445703SGeoffrey McRae# 2252e445703SGeoffrey McRae# Since: 5.1 2262e445703SGeoffrey McRae## 2272e445703SGeoffrey McRae{ 'struct': 'AudiodevJackOptions', 2282e445703SGeoffrey McRae 'data': { 2292e445703SGeoffrey McRae '*in': 'AudiodevJackPerDirectionOptions', 2302e445703SGeoffrey McRae '*out': 'AudiodevJackPerDirectionOptions' } } 2312e445703SGeoffrey McRae 2322e445703SGeoffrey McRae## 2338c3a7d00SKővágó, Zoltán# @AudiodevOssPerDirectionOptions: 2348c3a7d00SKővágó, Zoltán# 2358c3a7d00SKővágó, Zoltán# Options of the OSS backend that are used for both playback and 2368c3a7d00SKővágó, Zoltán# recording. 2378c3a7d00SKővágó, Zoltán# 2388c3a7d00SKővágó, Zoltán# @dev: file name of the OSS device (default '/dev/dsp') 2398c3a7d00SKővágó, Zoltán# 2408c3a7d00SKővágó, Zoltán# @buffer-count: number of buffers 2418c3a7d00SKővágó, Zoltán# 2428c3a7d00SKővágó, Zoltán# @try-poll: attempt to use poll mode, falling back to non-polling 2438c3a7d00SKővágó, Zoltán# access on failure (default true) 2448c3a7d00SKővágó, Zoltán# 2458c3a7d00SKővágó, Zoltán# Since: 4.0 2468c3a7d00SKővágó, Zoltán## 2478c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevOssPerDirectionOptions', 2488c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 2498c3a7d00SKővágó, Zoltán 'data': { 2508c3a7d00SKővágó, Zoltán '*dev': 'str', 2518c3a7d00SKővágó, Zoltán '*buffer-count': 'uint32', 2528c3a7d00SKővágó, Zoltán '*try-poll': 'bool' } } 2538c3a7d00SKővágó, Zoltán 2548c3a7d00SKővágó, Zoltán## 2558c3a7d00SKővágó, Zoltán# @AudiodevOssOptions: 2568c3a7d00SKővágó, Zoltán# 2578c3a7d00SKővágó, Zoltán# Options of the OSS audio backend. 2588c3a7d00SKővágó, Zoltán# 2598c3a7d00SKővágó, Zoltán# @in: options of the capture stream 2608c3a7d00SKővágó, Zoltán# 2618c3a7d00SKővágó, Zoltán# @out: options of the playback stream 2628c3a7d00SKővágó, Zoltán# 2638c3a7d00SKővágó, Zoltán# @try-mmap: try using memory-mapped access, falling back to 2648c3a7d00SKővágó, Zoltán# non-memory-mapped access on failure (default true) 2658c3a7d00SKővágó, Zoltán# 266a937b6aaSMarkus Armbruster# @exclusive: open device in exclusive mode (vmix won't work) (default 267a937b6aaSMarkus Armbruster# false) 2688c3a7d00SKővágó, Zoltán# 2698c3a7d00SKővágó, Zoltán# @dsp-policy: set the timing policy of the device (between 0 and 10, 270a937b6aaSMarkus Armbruster# where smaller number means smaller latency but higher CPU usage) 271a937b6aaSMarkus Armbruster# or -1 to use fragment mode (option ignored on some platforms) 272a937b6aaSMarkus Armbruster# (default 5) 2738c3a7d00SKővágó, Zoltán# 2748c3a7d00SKővágó, Zoltán# Since: 4.0 2758c3a7d00SKővágó, Zoltán## 2768c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevOssOptions', 2778c3a7d00SKővágó, Zoltán 'data': { 2788c3a7d00SKővágó, Zoltán '*in': 'AudiodevOssPerDirectionOptions', 2798c3a7d00SKővágó, Zoltán '*out': 'AudiodevOssPerDirectionOptions', 2808c3a7d00SKővágó, Zoltán '*try-mmap': 'bool', 2818c3a7d00SKővágó, Zoltán '*exclusive': 'bool', 2828c3a7d00SKővágó, Zoltán '*dsp-policy': 'uint32' } } 2838c3a7d00SKővágó, Zoltán 2848c3a7d00SKővágó, Zoltán## 2858c3a7d00SKővágó, Zoltán# @AudiodevPaPerDirectionOptions: 2868c3a7d00SKővágó, Zoltán# 287a937b6aaSMarkus Armbruster# Options of the Pulseaudio backend that are used for both playback 288a937b6aaSMarkus Armbruster# and recording. 2898c3a7d00SKővágó, Zoltán# 2908c3a7d00SKővágó, Zoltán# @name: name of the sink/source to use 2918c3a7d00SKővágó, Zoltán# 292f47dffe8SKővágó, Zoltán# @stream-name: name of the PulseAudio stream created by qemu. Can be 293a937b6aaSMarkus Armbruster# used to identify the stream in PulseAudio when you create 294a937b6aaSMarkus Armbruster# multiple PulseAudio devices or run multiple qemu instances 295a937b6aaSMarkus Armbruster# (default: audiodev's id, since 4.2) 296f47dffe8SKővágó, Zoltán# 297f6142777SMartin Schrodt# @latency: latency you want PulseAudio to achieve in microseconds 298f6142777SMartin Schrodt# (default 15000) 299f6142777SMartin Schrodt# 3008c3a7d00SKővágó, Zoltán# Since: 4.0 3018c3a7d00SKővágó, Zoltán## 3028c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevPaPerDirectionOptions', 3038c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 3048c3a7d00SKővágó, Zoltán 'data': { 305f6142777SMartin Schrodt '*name': 'str', 306f47dffe8SKővágó, Zoltán '*stream-name': 'str', 307f6142777SMartin Schrodt '*latency': 'uint32' } } 3088c3a7d00SKővágó, Zoltán 3098c3a7d00SKővágó, Zoltán## 3108c3a7d00SKővágó, Zoltán# @AudiodevPaOptions: 3118c3a7d00SKővágó, Zoltán# 3128c3a7d00SKővágó, Zoltán# Options of the PulseAudio audio backend. 3138c3a7d00SKővágó, Zoltán# 3148c3a7d00SKővágó, Zoltán# @in: options of the capture stream 3158c3a7d00SKővágó, Zoltán# 3168c3a7d00SKővágó, Zoltán# @out: options of the playback stream 3178c3a7d00SKővágó, Zoltán# 3188c3a7d00SKővágó, Zoltán# @server: PulseAudio server address (default: let PulseAudio choose) 3198c3a7d00SKővágó, Zoltán# 3208c3a7d00SKővágó, Zoltán# Since: 4.0 3218c3a7d00SKővágó, Zoltán## 3228c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevPaOptions', 3238c3a7d00SKővágó, Zoltán 'data': { 3248c3a7d00SKővágó, Zoltán '*in': 'AudiodevPaPerDirectionOptions', 3258c3a7d00SKővágó, Zoltán '*out': 'AudiodevPaPerDirectionOptions', 3268c3a7d00SKővágó, Zoltán '*server': 'str' } } 3278c3a7d00SKővágó, Zoltán 3288c3a7d00SKővágó, Zoltán## 329c2d3d1c2SDorinda Bassey# @AudiodevPipewirePerDirectionOptions: 330c2d3d1c2SDorinda Bassey# 331*20c51248SMarc-André Lureau# Options of the PipeWire backend that are used for both playback and 332c2d3d1c2SDorinda Bassey# recording. 333c2d3d1c2SDorinda Bassey# 334c2d3d1c2SDorinda Bassey# @name: name of the sink/source to use 335c2d3d1c2SDorinda Bassey# 336*20c51248SMarc-André Lureau# @stream-name: name of the PipeWire stream created by qemu. Can be 337*20c51248SMarc-André Lureau# used to identify the stream in PipeWire when you create multiple 338*20c51248SMarc-André Lureau# PipeWire devices or run multiple qemu instances (default: 339a937b6aaSMarkus Armbruster# audiodev's id) 340c2d3d1c2SDorinda Bassey# 341*20c51248SMarc-André Lureau# @latency: latency you want PipeWire to achieve in microseconds 342c2d3d1c2SDorinda Bassey# (default 46000) 343c2d3d1c2SDorinda Bassey# 344c2d3d1c2SDorinda Bassey# Since: 8.1 345c2d3d1c2SDorinda Bassey## 346c2d3d1c2SDorinda Bassey{ 'struct': 'AudiodevPipewirePerDirectionOptions', 347c2d3d1c2SDorinda Bassey 'base': 'AudiodevPerDirectionOptions', 348c2d3d1c2SDorinda Bassey 'data': { 349c2d3d1c2SDorinda Bassey '*name': 'str', 350c2d3d1c2SDorinda Bassey '*stream-name': 'str', 351c2d3d1c2SDorinda Bassey '*latency': 'uint32' } } 352c2d3d1c2SDorinda Bassey 353c2d3d1c2SDorinda Bassey## 354c2d3d1c2SDorinda Bassey# @AudiodevPipewireOptions: 355c2d3d1c2SDorinda Bassey# 356*20c51248SMarc-André Lureau# Options of the PipeWire audio backend. 357c2d3d1c2SDorinda Bassey# 358c2d3d1c2SDorinda Bassey# @in: options of the capture stream 359c2d3d1c2SDorinda Bassey# 360c2d3d1c2SDorinda Bassey# @out: options of the playback stream 361c2d3d1c2SDorinda Bassey# 362c2d3d1c2SDorinda Bassey# Since: 8.1 363c2d3d1c2SDorinda Bassey## 364c2d3d1c2SDorinda Bassey{ 'struct': 'AudiodevPipewireOptions', 365c2d3d1c2SDorinda Bassey 'data': { 366c2d3d1c2SDorinda Bassey '*in': 'AudiodevPipewirePerDirectionOptions', 367c2d3d1c2SDorinda Bassey '*out': 'AudiodevPipewirePerDirectionOptions' } } 368c2d3d1c2SDorinda Bassey 369c2d3d1c2SDorinda Bassey## 3705a0926c2SVolker Rümelin# @AudiodevSdlPerDirectionOptions: 3715a0926c2SVolker Rümelin# 3725a0926c2SVolker Rümelin# Options of the SDL audio backend that are used for both playback and 3735a0926c2SVolker Rümelin# recording. 3745a0926c2SVolker Rümelin# 3755a0926c2SVolker Rümelin# @buffer-count: number of buffers (default 4) 3765a0926c2SVolker Rümelin# 3775a0926c2SVolker Rümelin# Since: 6.0 3785a0926c2SVolker Rümelin## 3795a0926c2SVolker Rümelin{ 'struct': 'AudiodevSdlPerDirectionOptions', 3805a0926c2SVolker Rümelin 'base': 'AudiodevPerDirectionOptions', 3815a0926c2SVolker Rümelin 'data': { 3825a0926c2SVolker Rümelin '*buffer-count': 'uint32' } } 3835a0926c2SVolker Rümelin 3845a0926c2SVolker Rümelin## 3855a0926c2SVolker Rümelin# @AudiodevSdlOptions: 3865a0926c2SVolker Rümelin# 3875a0926c2SVolker Rümelin# Options of the SDL audio backend. 3885a0926c2SVolker Rümelin# 3895a0926c2SVolker Rümelin# @in: options of the recording stream 3905a0926c2SVolker Rümelin# 3915a0926c2SVolker Rümelin# @out: options of the playback stream 3925a0926c2SVolker Rümelin# 3935a0926c2SVolker Rümelin# Since: 6.0 3945a0926c2SVolker Rümelin## 3955a0926c2SVolker Rümelin{ 'struct': 'AudiodevSdlOptions', 3965a0926c2SVolker Rümelin 'data': { 3975a0926c2SVolker Rümelin '*in': 'AudiodevSdlPerDirectionOptions', 3985a0926c2SVolker Rümelin '*out': 'AudiodevSdlPerDirectionOptions' } } 3995a0926c2SVolker Rümelin 4005a0926c2SVolker Rümelin## 4018c3a7d00SKővágó, Zoltán# @AudiodevWavOptions: 4028c3a7d00SKővágó, Zoltán# 4038c3a7d00SKővágó, Zoltán# Options of the wav audio backend. 4048c3a7d00SKővágó, Zoltán# 4058c3a7d00SKővágó, Zoltán# @in: options of the capture stream 4068c3a7d00SKővágó, Zoltán# 4078c3a7d00SKővágó, Zoltán# @out: options of the playback stream 4088c3a7d00SKővágó, Zoltán# 4098c3a7d00SKővágó, Zoltán# @path: name of the wav file to record (default 'qemu.wav') 4108c3a7d00SKővágó, Zoltán# 4118c3a7d00SKővágó, Zoltán# Since: 4.0 4128c3a7d00SKővágó, Zoltán## 4138c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevWavOptions', 4148c3a7d00SKővágó, Zoltán 'data': { 4158c3a7d00SKővágó, Zoltán '*in': 'AudiodevPerDirectionOptions', 4168c3a7d00SKővágó, Zoltán '*out': 'AudiodevPerDirectionOptions', 4178c3a7d00SKővágó, Zoltán '*path': 'str' } } 4188c3a7d00SKővágó, Zoltán 4198c3a7d00SKővágó, Zoltán## 4208c3a7d00SKővágó, Zoltán# @AudioFormat: 4218c3a7d00SKővágó, Zoltán# 4228c3a7d00SKővágó, Zoltán# An enumeration of possible audio formats. 4238c3a7d00SKővágó, Zoltán# 424019b5ba7SVolker Rümelin# @u8: unsigned 8 bit integer 425019b5ba7SVolker Rümelin# 426019b5ba7SVolker Rümelin# @s8: signed 8 bit integer 427019b5ba7SVolker Rümelin# 428019b5ba7SVolker Rümelin# @u16: unsigned 16 bit integer 429019b5ba7SVolker Rümelin# 430019b5ba7SVolker Rümelin# @s16: signed 16 bit integer 431019b5ba7SVolker Rümelin# 432019b5ba7SVolker Rümelin# @u32: unsigned 32 bit integer 433019b5ba7SVolker Rümelin# 434019b5ba7SVolker Rümelin# @s32: signed 32 bit integer 435019b5ba7SVolker Rümelin# 436019b5ba7SVolker Rümelin# @f32: single precision floating-point (since 5.0) 437019b5ba7SVolker Rümelin# 4388c3a7d00SKővágó, Zoltán# Since: 4.0 4398c3a7d00SKővágó, Zoltán## 4408c3a7d00SKővágó, Zoltán{ 'enum': 'AudioFormat', 441ed2a4a79SKővágó, Zoltán 'data': [ 'u8', 's8', 'u16', 's16', 'u32', 's32', 'f32' ] } 4428c3a7d00SKővágó, Zoltán 4438c3a7d00SKővágó, Zoltán## 4448c3a7d00SKővágó, Zoltán# @AudiodevDriver: 4458c3a7d00SKővágó, Zoltán# 4468c3a7d00SKővágó, Zoltán# An enumeration of possible audio backend drivers. 4478c3a7d00SKővágó, Zoltán# 4482e445703SGeoffrey McRae# @jack: JACK audio backend (since 5.1) 4492e445703SGeoffrey McRae# 4508c3a7d00SKővágó, Zoltán# Since: 4.0 4518c3a7d00SKővágó, Zoltán## 4528c3a7d00SKővágó, Zoltán{ 'enum': 'AudiodevDriver', 4537a92a857SDaniel P. Berrangé 'data': [ 'none', 4547a92a857SDaniel P. Berrangé { 'name': 'alsa', 'if': 'CONFIG_AUDIO_ALSA' }, 4557a92a857SDaniel P. Berrangé { 'name': 'coreaudio', 'if': 'CONFIG_AUDIO_COREAUDIO' }, 4567a92a857SDaniel P. Berrangé { 'name': 'dbus', 'if': 'CONFIG_DBUS_DISPLAY' }, 4577a92a857SDaniel P. Berrangé { 'name': 'dsound', 'if': 'CONFIG_AUDIO_DSOUND' }, 4587a92a857SDaniel P. Berrangé { 'name': 'jack', 'if': 'CONFIG_AUDIO_JACK' }, 4597a92a857SDaniel P. Berrangé { 'name': 'oss', 'if': 'CONFIG_AUDIO_OSS' }, 4607a92a857SDaniel P. Berrangé { 'name': 'pa', 'if': 'CONFIG_AUDIO_PA' }, 461c2d3d1c2SDorinda Bassey { 'name': 'pipewire', 'if': 'CONFIG_AUDIO_PIPEWIRE' }, 4627a92a857SDaniel P. Berrangé { 'name': 'sdl', 'if': 'CONFIG_AUDIO_SDL' }, 4637a92a857SDaniel P. Berrangé { 'name': 'sndio', 'if': 'CONFIG_AUDIO_SNDIO' }, 4647a92a857SDaniel P. Berrangé { 'name': 'spice', 'if': 'CONFIG_SPICE' }, 4657a92a857SDaniel P. Berrangé 'wav' ] } 4668c3a7d00SKővágó, Zoltán 4678c3a7d00SKővágó, Zoltán## 4688c3a7d00SKővágó, Zoltán# @Audiodev: 4698c3a7d00SKővágó, Zoltán# 4708c3a7d00SKővágó, Zoltán# Options of an audio backend. 4718c3a7d00SKővágó, Zoltán# 4728c3a7d00SKővágó, Zoltán# @id: identifier of the backend 4738c3a7d00SKővágó, Zoltán# 4748c3a7d00SKővágó, Zoltán# @driver: the backend driver to use 4758c3a7d00SKővágó, Zoltán# 476a937b6aaSMarkus Armbruster# @timer-period: timer period (in microseconds, 0: use lowest 477a937b6aaSMarkus Armbruster# possible) 4788c3a7d00SKővágó, Zoltán# 4798c3a7d00SKővágó, Zoltán# Since: 4.0 4808c3a7d00SKővágó, Zoltán## 4818c3a7d00SKővágó, Zoltán{ 'union': 'Audiodev', 4828c3a7d00SKővágó, Zoltán 'base': { 4838c3a7d00SKővágó, Zoltán 'id': 'str', 4848c3a7d00SKővágó, Zoltán 'driver': 'AudiodevDriver', 4858c3a7d00SKővágó, Zoltán '*timer-period': 'uint32' }, 4868c3a7d00SKővágó, Zoltán 'discriminator': 'driver', 4878c3a7d00SKővágó, Zoltán 'data': { 4888c3a7d00SKővágó, Zoltán 'none': 'AudiodevGenericOptions', 4897a92a857SDaniel P. Berrangé 'alsa': { 'type': 'AudiodevAlsaOptions', 4907a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_ALSA' }, 4917a92a857SDaniel P. Berrangé 'coreaudio': { 'type': 'AudiodevCoreaudioOptions', 4927a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_COREAUDIO' }, 4937a92a857SDaniel P. Berrangé 'dbus': { 'type': 'AudiodevGenericOptions', 4947a92a857SDaniel P. Berrangé 'if': 'CONFIG_DBUS_DISPLAY' }, 4957a92a857SDaniel P. Berrangé 'dsound': { 'type': 'AudiodevDsoundOptions', 4967a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_DSOUND' }, 4977a92a857SDaniel P. Berrangé 'jack': { 'type': 'AudiodevJackOptions', 4987a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_JACK' }, 4997a92a857SDaniel P. Berrangé 'oss': { 'type': 'AudiodevOssOptions', 5007a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_OSS' }, 5017a92a857SDaniel P. Berrangé 'pa': { 'type': 'AudiodevPaOptions', 5027a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_PA' }, 503c2d3d1c2SDorinda Bassey 'pipewire': { 'type': 'AudiodevPipewireOptions', 504c2d3d1c2SDorinda Bassey 'if': 'CONFIG_AUDIO_PIPEWIRE' }, 5057a92a857SDaniel P. Berrangé 'sdl': { 'type': 'AudiodevSdlOptions', 5067a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_SDL' }, 5077a92a857SDaniel P. Berrangé 'sndio': { 'type': 'AudiodevSndioOptions', 5087a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_SNDIO' }, 5097a92a857SDaniel P. Berrangé 'spice': { 'type': 'AudiodevGenericOptions', 5107a92a857SDaniel P. Berrangé 'if': 'CONFIG_SPICE' }, 5118c3a7d00SKővágó, Zoltán 'wav': 'AudiodevWavOptions' } } 512637d1809SDaniel P. Berrangé 513637d1809SDaniel P. Berrangé## 514637d1809SDaniel P. Berrangé# @query-audiodevs: 515637d1809SDaniel P. Berrangé# 516637d1809SDaniel P. Berrangé# Returns information about audiodev configuration 517637d1809SDaniel P. Berrangé# 518637d1809SDaniel P. Berrangé# Returns: array of @Audiodev 519637d1809SDaniel P. Berrangé# 520637d1809SDaniel P. Berrangé# Since: 8.0 521637d1809SDaniel P. Berrangé## 522637d1809SDaniel P. Berrangé{ 'command': 'query-audiodevs', 523637d1809SDaniel P. Berrangé 'returns': ['Audiodev'] } 524