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## 6919c628f2SMarc-André Lureau# @AudiodevDBusOptions: 7019c628f2SMarc-André Lureau# 7119c628f2SMarc-André Lureau# Options of the D-Bus audio backend. 7219c628f2SMarc-André Lureau# 7319c628f2SMarc-André Lureau# @in: options of the capture stream 7419c628f2SMarc-André Lureau# 7519c628f2SMarc-André Lureau# @out: options of the playback stream 7619c628f2SMarc-André Lureau# 7719c628f2SMarc-André Lureau# @nsamples: set the number of samples per read/write calls (default to 480, 7819c628f2SMarc-André Lureau# 10ms at 48kHz). 7919c628f2SMarc-André Lureau# 8019c628f2SMarc-André Lureau# Since: 10.0 8119c628f2SMarc-André Lureau## 8219c628f2SMarc-André Lureau{ 'struct': 'AudiodevDBusOptions', 8319c628f2SMarc-André Lureau 'data': { 8419c628f2SMarc-André Lureau '*in': 'AudiodevPerDirectionOptions', 8519c628f2SMarc-André Lureau '*out': 'AudiodevPerDirectionOptions', 8619c628f2SMarc-André Lureau '*nsamples': 'uint32'} } 8719c628f2SMarc-André Lureau 8819c628f2SMarc-André Lureau## 898c3a7d00SKővágó, Zoltán# @AudiodevAlsaPerDirectionOptions: 908c3a7d00SKővágó, Zoltán# 918c3a7d00SKővágó, Zoltán# Options of the ALSA backend that are used for both playback and 928c3a7d00SKővágó, Zoltán# recording. 938c3a7d00SKővágó, Zoltán# 948c3a7d00SKővágó, Zoltán# @dev: the name of the ALSA device to use (default 'default') 958c3a7d00SKővágó, Zoltán# 968c3a7d00SKővágó, Zoltán# @period-length: the period length in microseconds 978c3a7d00SKővágó, Zoltán# 988c3a7d00SKővágó, Zoltán# @try-poll: attempt to use poll mode, falling back to non-polling 99f6ccfd5dSBALATON Zoltan# access on failure (default false) 1008c3a7d00SKővágó, Zoltán# 1018c3a7d00SKővágó, Zoltán# Since: 4.0 1028c3a7d00SKővágó, Zoltán## 1038c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevAlsaPerDirectionOptions', 1048c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 1058c3a7d00SKővágó, Zoltán 'data': { 1068c3a7d00SKővágó, Zoltán '*dev': 'str', 1078c3a7d00SKővágó, Zoltán '*period-length': 'uint32', 1088c3a7d00SKővágó, Zoltán '*try-poll': 'bool' } } 1098c3a7d00SKővágó, Zoltán 1108c3a7d00SKővágó, Zoltán## 1118c3a7d00SKővágó, Zoltán# @AudiodevAlsaOptions: 1128c3a7d00SKővágó, Zoltán# 1138c3a7d00SKővágó, Zoltán# Options of the ALSA audio backend. 1148c3a7d00SKővágó, Zoltán# 1158c3a7d00SKővágó, Zoltán# @in: options of the capture stream 1168c3a7d00SKővágó, Zoltán# 1178c3a7d00SKővágó, Zoltán# @out: options of the playback stream 1188c3a7d00SKővágó, Zoltán# 1198c3a7d00SKővágó, Zoltán# @threshold: set the threshold (in microseconds) when playback starts 1208c3a7d00SKővágó, Zoltán# 1218c3a7d00SKővágó, Zoltán# Since: 4.0 1228c3a7d00SKővágó, Zoltán## 1238c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevAlsaOptions', 1248c3a7d00SKővágó, Zoltán 'data': { 1258c3a7d00SKővágó, Zoltán '*in': 'AudiodevAlsaPerDirectionOptions', 1268c3a7d00SKővágó, Zoltán '*out': 'AudiodevAlsaPerDirectionOptions', 1278c3a7d00SKővágó, Zoltán '*threshold': 'uint32' } } 1288c3a7d00SKővágó, Zoltán 1298c3a7d00SKővágó, Zoltán## 130663df1ccSAlexandre Ratchov# @AudiodevSndioOptions: 131663df1ccSAlexandre Ratchov# 132663df1ccSAlexandre Ratchov# Options of the sndio audio backend. 133663df1ccSAlexandre Ratchov# 134663df1ccSAlexandre Ratchov# @in: options of the capture stream 135663df1ccSAlexandre Ratchov# 136663df1ccSAlexandre Ratchov# @out: options of the playback stream 137663df1ccSAlexandre Ratchov# 138663df1ccSAlexandre Ratchov# @dev: the name of the sndio device to use (default 'default') 139663df1ccSAlexandre Ratchov# 140663df1ccSAlexandre Ratchov# @latency: play buffer size (in microseconds) 141663df1ccSAlexandre Ratchov# 142663df1ccSAlexandre Ratchov# Since: 7.2 143663df1ccSAlexandre Ratchov## 144663df1ccSAlexandre Ratchov{ 'struct': 'AudiodevSndioOptions', 145663df1ccSAlexandre Ratchov 'data': { 146663df1ccSAlexandre Ratchov '*in': 'AudiodevPerDirectionOptions', 147663df1ccSAlexandre Ratchov '*out': 'AudiodevPerDirectionOptions', 148663df1ccSAlexandre Ratchov '*dev': 'str', 149663df1ccSAlexandre Ratchov '*latency': 'uint32'} } 150663df1ccSAlexandre Ratchov 151663df1ccSAlexandre Ratchov## 1528c3a7d00SKővágó, Zoltán# @AudiodevCoreaudioPerDirectionOptions: 1538c3a7d00SKővágó, Zoltán# 154a937b6aaSMarkus Armbruster# Options of the Core Audio backend that are used for both playback 155a937b6aaSMarkus Armbruster# and recording. 1568c3a7d00SKővágó, Zoltán# 1578c3a7d00SKővágó, Zoltán# @buffer-count: number of buffers 1588c3a7d00SKővágó, Zoltán# 1598c3a7d00SKővágó, Zoltán# Since: 4.0 1608c3a7d00SKővágó, Zoltán## 1618c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevCoreaudioPerDirectionOptions', 1628c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 1638c3a7d00SKővágó, Zoltán 'data': { 1648c3a7d00SKővágó, Zoltán '*buffer-count': 'uint32' } } 1658c3a7d00SKővágó, Zoltán 1668c3a7d00SKővágó, Zoltán## 1678c3a7d00SKővágó, Zoltán# @AudiodevCoreaudioOptions: 1688c3a7d00SKővágó, Zoltán# 1698c3a7d00SKővágó, Zoltán# Options of the coreaudio audio backend. 1708c3a7d00SKővágó, Zoltán# 1718c3a7d00SKővágó, Zoltán# @in: options of the capture stream 1728c3a7d00SKővágó, Zoltán# 1738c3a7d00SKővágó, Zoltán# @out: options of the playback stream 1748c3a7d00SKővágó, Zoltán# 1758c3a7d00SKővágó, Zoltán# Since: 4.0 1768c3a7d00SKővágó, Zoltán## 1778c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevCoreaudioOptions', 1788c3a7d00SKővágó, Zoltán 'data': { 1798c3a7d00SKővágó, Zoltán '*in': 'AudiodevCoreaudioPerDirectionOptions', 1808c3a7d00SKővágó, Zoltán '*out': 'AudiodevCoreaudioPerDirectionOptions' } } 1818c3a7d00SKővágó, Zoltán 1828c3a7d00SKővágó, Zoltán## 1838c3a7d00SKővágó, Zoltán# @AudiodevDsoundOptions: 1848c3a7d00SKővágó, Zoltán# 1858c3a7d00SKővágó, Zoltán# Options of the DirectSound audio backend. 1868c3a7d00SKővágó, Zoltán# 1878c3a7d00SKővágó, Zoltán# @in: options of the capture stream 1888c3a7d00SKővágó, Zoltán# 1898c3a7d00SKővágó, Zoltán# @out: options of the playback stream 1908c3a7d00SKővágó, Zoltán# 191a937b6aaSMarkus Armbruster# @latency: add extra latency to playback in microseconds (default 192a937b6aaSMarkus Armbruster# 10000) 1938c3a7d00SKővágó, Zoltán# 1948c3a7d00SKővágó, Zoltán# Since: 4.0 1958c3a7d00SKővágó, Zoltán## 1968c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevDsoundOptions', 1978c3a7d00SKővágó, Zoltán 'data': { 1988c3a7d00SKővágó, Zoltán '*in': 'AudiodevPerDirectionOptions', 1998c3a7d00SKővágó, Zoltán '*out': 'AudiodevPerDirectionOptions', 2008c3a7d00SKővágó, Zoltán '*latency': 'uint32' } } 2018c3a7d00SKővágó, Zoltán 2028c3a7d00SKővágó, Zoltán## 2032e445703SGeoffrey McRae# @AudiodevJackPerDirectionOptions: 2042e445703SGeoffrey McRae# 2052e445703SGeoffrey McRae# Options of the JACK backend that are used for both playback and 2062e445703SGeoffrey McRae# recording. 2072e445703SGeoffrey McRae# 208a937b6aaSMarkus Armbruster# @server-name: select from among several possible concurrent server 209a937b6aaSMarkus Armbruster# instances (default: environment variable $JACK_DEFAULT_SERVER if 210a937b6aaSMarkus Armbruster# set, else "default") 2112e445703SGeoffrey McRae# 212a937b6aaSMarkus Armbruster# @client-name: the client name to use. The server will modify this 213a937b6aaSMarkus Armbruster# name to create a unique variant, if needed unless @exact-name is 214a937b6aaSMarkus Armbruster# true (default: the guest's name) 2152e445703SGeoffrey McRae# 216a937b6aaSMarkus Armbruster# @connect-ports: if set, a regular expression of JACK client port 217a937b6aaSMarkus Armbruster# name(s) to monitor for and automatically connect to 2182e445703SGeoffrey McRae# 219a937b6aaSMarkus Armbruster# @start-server: start a jack server process if one is not already 220a937b6aaSMarkus Armbruster# present (default: false) 2212e445703SGeoffrey McRae# 222a937b6aaSMarkus Armbruster# @exact-name: use the exact name requested otherwise JACK 223a937b6aaSMarkus Armbruster# automatically generates a unique one, if needed (default: false) 2242e445703SGeoffrey McRae# 2252e445703SGeoffrey McRae# Since: 5.1 2262e445703SGeoffrey McRae## 2272e445703SGeoffrey McRae{ 'struct': 'AudiodevJackPerDirectionOptions', 2282e445703SGeoffrey McRae 'base': 'AudiodevPerDirectionOptions', 2292e445703SGeoffrey McRae 'data': { 2302e445703SGeoffrey McRae '*server-name': 'str', 2312e445703SGeoffrey McRae '*client-name': 'str', 2322e445703SGeoffrey McRae '*connect-ports': 'str', 2332e445703SGeoffrey McRae '*start-server': 'bool', 2342e445703SGeoffrey McRae '*exact-name': 'bool' } } 2352e445703SGeoffrey McRae 2362e445703SGeoffrey McRae## 2372e445703SGeoffrey McRae# @AudiodevJackOptions: 2382e445703SGeoffrey McRae# 2392e445703SGeoffrey McRae# Options of the JACK audio backend. 2402e445703SGeoffrey McRae# 2412e445703SGeoffrey McRae# @in: options of the capture stream 2422e445703SGeoffrey McRae# 2432e445703SGeoffrey McRae# @out: options of the playback stream 2442e445703SGeoffrey McRae# 2452e445703SGeoffrey McRae# Since: 5.1 2462e445703SGeoffrey McRae## 2472e445703SGeoffrey McRae{ 'struct': 'AudiodevJackOptions', 2482e445703SGeoffrey McRae 'data': { 2492e445703SGeoffrey McRae '*in': 'AudiodevJackPerDirectionOptions', 2502e445703SGeoffrey McRae '*out': 'AudiodevJackPerDirectionOptions' } } 2512e445703SGeoffrey McRae 2522e445703SGeoffrey McRae## 2538c3a7d00SKővágó, Zoltán# @AudiodevOssPerDirectionOptions: 2548c3a7d00SKővágó, Zoltán# 2558c3a7d00SKővágó, Zoltán# Options of the OSS backend that are used for both playback and 2568c3a7d00SKővágó, Zoltán# recording. 2578c3a7d00SKővágó, Zoltán# 2588c3a7d00SKővágó, Zoltán# @dev: file name of the OSS device (default '/dev/dsp') 2598c3a7d00SKővágó, Zoltán# 2608c3a7d00SKővágó, Zoltán# @buffer-count: number of buffers 2618c3a7d00SKővágó, Zoltán# 2628c3a7d00SKővágó, Zoltán# @try-poll: attempt to use poll mode, falling back to non-polling 2638c3a7d00SKővágó, Zoltán# access on failure (default true) 2648c3a7d00SKővágó, Zoltán# 2658c3a7d00SKővágó, Zoltán# Since: 4.0 2668c3a7d00SKővágó, Zoltán## 2678c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevOssPerDirectionOptions', 2688c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 2698c3a7d00SKővágó, Zoltán 'data': { 2708c3a7d00SKővágó, Zoltán '*dev': 'str', 2718c3a7d00SKővágó, Zoltán '*buffer-count': 'uint32', 2728c3a7d00SKővágó, Zoltán '*try-poll': 'bool' } } 2738c3a7d00SKővágó, Zoltán 2748c3a7d00SKővágó, Zoltán## 2758c3a7d00SKővágó, Zoltán# @AudiodevOssOptions: 2768c3a7d00SKővágó, Zoltán# 2778c3a7d00SKővágó, Zoltán# Options of the OSS audio backend. 2788c3a7d00SKővágó, Zoltán# 2798c3a7d00SKővágó, Zoltán# @in: options of the capture stream 2808c3a7d00SKővágó, Zoltán# 2818c3a7d00SKővágó, Zoltán# @out: options of the playback stream 2828c3a7d00SKővágó, Zoltán# 2838c3a7d00SKővágó, Zoltán# @try-mmap: try using memory-mapped access, falling back to 2848c3a7d00SKővágó, Zoltán# non-memory-mapped access on failure (default true) 2858c3a7d00SKővágó, Zoltán# 286a937b6aaSMarkus Armbruster# @exclusive: open device in exclusive mode (vmix won't work) (default 287a937b6aaSMarkus Armbruster# false) 2888c3a7d00SKővágó, Zoltán# 2898c3a7d00SKővágó, Zoltán# @dsp-policy: set the timing policy of the device (between 0 and 10, 290a937b6aaSMarkus Armbruster# where smaller number means smaller latency but higher CPU usage) 291a937b6aaSMarkus Armbruster# or -1 to use fragment mode (option ignored on some platforms) 292a937b6aaSMarkus Armbruster# (default 5) 2938c3a7d00SKővágó, Zoltán# 2948c3a7d00SKővágó, Zoltán# Since: 4.0 2958c3a7d00SKővágó, Zoltán## 2968c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevOssOptions', 2978c3a7d00SKővágó, Zoltán 'data': { 2988c3a7d00SKővágó, Zoltán '*in': 'AudiodevOssPerDirectionOptions', 2998c3a7d00SKővágó, Zoltán '*out': 'AudiodevOssPerDirectionOptions', 3008c3a7d00SKővágó, Zoltán '*try-mmap': 'bool', 3018c3a7d00SKővágó, Zoltán '*exclusive': 'bool', 3028c3a7d00SKővágó, Zoltán '*dsp-policy': 'uint32' } } 3038c3a7d00SKővágó, Zoltán 3048c3a7d00SKővágó, Zoltán## 3058c3a7d00SKővágó, Zoltán# @AudiodevPaPerDirectionOptions: 3068c3a7d00SKővágó, Zoltán# 307a937b6aaSMarkus Armbruster# Options of the Pulseaudio backend that are used for both playback 308a937b6aaSMarkus Armbruster# and recording. 3098c3a7d00SKővágó, Zoltán# 3108c3a7d00SKővágó, Zoltán# @name: name of the sink/source to use 3118c3a7d00SKővágó, Zoltán# 312*62632254SMarkus Armbruster# @stream-name: name of the PulseAudio stream created by QEMU. Can be 313a937b6aaSMarkus Armbruster# used to identify the stream in PulseAudio when you create 314*62632254SMarkus Armbruster# multiple PulseAudio devices or run multiple QEMU instances 315a937b6aaSMarkus Armbruster# (default: audiodev's id, since 4.2) 316f47dffe8SKővágó, Zoltán# 317f6142777SMartin Schrodt# @latency: latency you want PulseAudio to achieve in microseconds 318f6142777SMartin Schrodt# (default 15000) 319f6142777SMartin Schrodt# 3208c3a7d00SKővágó, Zoltán# Since: 4.0 3218c3a7d00SKővágó, Zoltán## 3228c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevPaPerDirectionOptions', 3238c3a7d00SKővágó, Zoltán 'base': 'AudiodevPerDirectionOptions', 3248c3a7d00SKővágó, Zoltán 'data': { 325f6142777SMartin Schrodt '*name': 'str', 326f47dffe8SKővágó, Zoltán '*stream-name': 'str', 327f6142777SMartin Schrodt '*latency': 'uint32' } } 3288c3a7d00SKővágó, Zoltán 3298c3a7d00SKővágó, Zoltán## 3308c3a7d00SKővágó, Zoltán# @AudiodevPaOptions: 3318c3a7d00SKővágó, Zoltán# 3328c3a7d00SKővágó, Zoltán# Options of the PulseAudio audio backend. 3338c3a7d00SKővágó, Zoltán# 3348c3a7d00SKővágó, Zoltán# @in: options of the capture stream 3358c3a7d00SKővágó, Zoltán# 3368c3a7d00SKővágó, Zoltán# @out: options of the playback stream 3378c3a7d00SKővágó, Zoltán# 3388c3a7d00SKővágó, Zoltán# @server: PulseAudio server address (default: let PulseAudio choose) 3398c3a7d00SKővágó, Zoltán# 3408c3a7d00SKővágó, Zoltán# Since: 4.0 3418c3a7d00SKővágó, Zoltán## 3428c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevPaOptions', 3438c3a7d00SKővágó, Zoltán 'data': { 3448c3a7d00SKővágó, Zoltán '*in': 'AudiodevPaPerDirectionOptions', 3458c3a7d00SKővágó, Zoltán '*out': 'AudiodevPaPerDirectionOptions', 3468c3a7d00SKővágó, Zoltán '*server': 'str' } } 3478c3a7d00SKővágó, Zoltán 3488c3a7d00SKővágó, Zoltán## 349c2d3d1c2SDorinda Bassey# @AudiodevPipewirePerDirectionOptions: 350c2d3d1c2SDorinda Bassey# 35120c51248SMarc-André Lureau# Options of the PipeWire backend that are used for both playback and 352c2d3d1c2SDorinda Bassey# recording. 353c2d3d1c2SDorinda Bassey# 354c2d3d1c2SDorinda Bassey# @name: name of the sink/source to use 355c2d3d1c2SDorinda Bassey# 356*62632254SMarkus Armbruster# @stream-name: name of the PipeWire stream created by QEMU. Can be 35720c51248SMarc-André Lureau# used to identify the stream in PipeWire when you create multiple 358*62632254SMarkus Armbruster# PipeWire devices or run multiple QEMU instances (default: 359a937b6aaSMarkus Armbruster# audiodev's id) 360c2d3d1c2SDorinda Bassey# 36120c51248SMarc-André Lureau# @latency: latency you want PipeWire to achieve in microseconds 362c2d3d1c2SDorinda Bassey# (default 46000) 363c2d3d1c2SDorinda Bassey# 364c2d3d1c2SDorinda Bassey# Since: 8.1 365c2d3d1c2SDorinda Bassey## 366c2d3d1c2SDorinda Bassey{ 'struct': 'AudiodevPipewirePerDirectionOptions', 367c2d3d1c2SDorinda Bassey 'base': 'AudiodevPerDirectionOptions', 368c2d3d1c2SDorinda Bassey 'data': { 369c2d3d1c2SDorinda Bassey '*name': 'str', 370c2d3d1c2SDorinda Bassey '*stream-name': 'str', 371c2d3d1c2SDorinda Bassey '*latency': 'uint32' } } 372c2d3d1c2SDorinda Bassey 373c2d3d1c2SDorinda Bassey## 374c2d3d1c2SDorinda Bassey# @AudiodevPipewireOptions: 375c2d3d1c2SDorinda Bassey# 37620c51248SMarc-André Lureau# Options of the PipeWire audio backend. 377c2d3d1c2SDorinda Bassey# 378c2d3d1c2SDorinda Bassey# @in: options of the capture stream 379c2d3d1c2SDorinda Bassey# 380c2d3d1c2SDorinda Bassey# @out: options of the playback stream 381c2d3d1c2SDorinda Bassey# 382c2d3d1c2SDorinda Bassey# Since: 8.1 383c2d3d1c2SDorinda Bassey## 384c2d3d1c2SDorinda Bassey{ 'struct': 'AudiodevPipewireOptions', 385c2d3d1c2SDorinda Bassey 'data': { 386c2d3d1c2SDorinda Bassey '*in': 'AudiodevPipewirePerDirectionOptions', 387c2d3d1c2SDorinda Bassey '*out': 'AudiodevPipewirePerDirectionOptions' } } 388c2d3d1c2SDorinda Bassey 389c2d3d1c2SDorinda Bassey## 3905a0926c2SVolker Rümelin# @AudiodevSdlPerDirectionOptions: 3915a0926c2SVolker Rümelin# 3925a0926c2SVolker Rümelin# Options of the SDL audio backend that are used for both playback and 3935a0926c2SVolker Rümelin# recording. 3945a0926c2SVolker Rümelin# 3955a0926c2SVolker Rümelin# @buffer-count: number of buffers (default 4) 3965a0926c2SVolker Rümelin# 3975a0926c2SVolker Rümelin# Since: 6.0 3985a0926c2SVolker Rümelin## 3995a0926c2SVolker Rümelin{ 'struct': 'AudiodevSdlPerDirectionOptions', 4005a0926c2SVolker Rümelin 'base': 'AudiodevPerDirectionOptions', 4015a0926c2SVolker Rümelin 'data': { 4025a0926c2SVolker Rümelin '*buffer-count': 'uint32' } } 4035a0926c2SVolker Rümelin 4045a0926c2SVolker Rümelin## 4055a0926c2SVolker Rümelin# @AudiodevSdlOptions: 4065a0926c2SVolker Rümelin# 4075a0926c2SVolker Rümelin# Options of the SDL audio backend. 4085a0926c2SVolker Rümelin# 4095a0926c2SVolker Rümelin# @in: options of the recording stream 4105a0926c2SVolker Rümelin# 4115a0926c2SVolker Rümelin# @out: options of the playback stream 4125a0926c2SVolker Rümelin# 4135a0926c2SVolker Rümelin# Since: 6.0 4145a0926c2SVolker Rümelin## 4155a0926c2SVolker Rümelin{ 'struct': 'AudiodevSdlOptions', 4165a0926c2SVolker Rümelin 'data': { 4175a0926c2SVolker Rümelin '*in': 'AudiodevSdlPerDirectionOptions', 4185a0926c2SVolker Rümelin '*out': 'AudiodevSdlPerDirectionOptions' } } 4195a0926c2SVolker Rümelin 4205a0926c2SVolker Rümelin## 4218c3a7d00SKővágó, Zoltán# @AudiodevWavOptions: 4228c3a7d00SKővágó, Zoltán# 4238c3a7d00SKővágó, Zoltán# Options of the wav audio backend. 4248c3a7d00SKővágó, Zoltán# 4258c3a7d00SKővágó, Zoltán# @in: options of the capture stream 4268c3a7d00SKővágó, Zoltán# 4278c3a7d00SKővágó, Zoltán# @out: options of the playback stream 4288c3a7d00SKővágó, Zoltán# 4298c3a7d00SKővágó, Zoltán# @path: name of the wav file to record (default 'qemu.wav') 4308c3a7d00SKővágó, Zoltán# 4318c3a7d00SKővágó, Zoltán# Since: 4.0 4328c3a7d00SKővágó, Zoltán## 4338c3a7d00SKővágó, Zoltán{ 'struct': 'AudiodevWavOptions', 4348c3a7d00SKővágó, Zoltán 'data': { 4358c3a7d00SKővágó, Zoltán '*in': 'AudiodevPerDirectionOptions', 4368c3a7d00SKővágó, Zoltán '*out': 'AudiodevPerDirectionOptions', 4378c3a7d00SKővágó, Zoltán '*path': 'str' } } 4388c3a7d00SKővágó, Zoltán 4398c3a7d00SKővágó, Zoltán## 4408c3a7d00SKővágó, Zoltán# @AudioFormat: 4418c3a7d00SKővágó, Zoltán# 4428c3a7d00SKővágó, Zoltán# An enumeration of possible audio formats. 4438c3a7d00SKővágó, Zoltán# 444019b5ba7SVolker Rümelin# @u8: unsigned 8 bit integer 445019b5ba7SVolker Rümelin# 446019b5ba7SVolker Rümelin# @s8: signed 8 bit integer 447019b5ba7SVolker Rümelin# 448019b5ba7SVolker Rümelin# @u16: unsigned 16 bit integer 449019b5ba7SVolker Rümelin# 450019b5ba7SVolker Rümelin# @s16: signed 16 bit integer 451019b5ba7SVolker Rümelin# 452019b5ba7SVolker Rümelin# @u32: unsigned 32 bit integer 453019b5ba7SVolker Rümelin# 454019b5ba7SVolker Rümelin# @s32: signed 32 bit integer 455019b5ba7SVolker Rümelin# 456019b5ba7SVolker Rümelin# @f32: single precision floating-point (since 5.0) 457019b5ba7SVolker Rümelin# 4588c3a7d00SKővágó, Zoltán# Since: 4.0 4598c3a7d00SKővágó, Zoltán## 4608c3a7d00SKővágó, Zoltán{ 'enum': 'AudioFormat', 461ed2a4a79SKővágó, Zoltán 'data': [ 'u8', 's8', 'u16', 's16', 'u32', 's32', 'f32' ] } 4628c3a7d00SKővágó, Zoltán 4638c3a7d00SKővágó, Zoltán## 4648c3a7d00SKővágó, Zoltán# @AudiodevDriver: 4658c3a7d00SKővágó, Zoltán# 4668c3a7d00SKővágó, Zoltán# An enumeration of possible audio backend drivers. 4678c3a7d00SKővágó, Zoltán# 4682e445703SGeoffrey McRae# @jack: JACK audio backend (since 5.1) 4692e445703SGeoffrey McRae# 4708c3a7d00SKővágó, Zoltán# Since: 4.0 4718c3a7d00SKővágó, Zoltán## 4728c3a7d00SKővágó, Zoltán{ 'enum': 'AudiodevDriver', 4737a92a857SDaniel P. Berrangé 'data': [ 'none', 4747a92a857SDaniel P. Berrangé { 'name': 'alsa', 'if': 'CONFIG_AUDIO_ALSA' }, 4757a92a857SDaniel P. Berrangé { 'name': 'coreaudio', 'if': 'CONFIG_AUDIO_COREAUDIO' }, 4767a92a857SDaniel P. Berrangé { 'name': 'dbus', 'if': 'CONFIG_DBUS_DISPLAY' }, 4777a92a857SDaniel P. Berrangé { 'name': 'dsound', 'if': 'CONFIG_AUDIO_DSOUND' }, 4787a92a857SDaniel P. Berrangé { 'name': 'jack', 'if': 'CONFIG_AUDIO_JACK' }, 4797a92a857SDaniel P. Berrangé { 'name': 'oss', 'if': 'CONFIG_AUDIO_OSS' }, 4807a92a857SDaniel P. Berrangé { 'name': 'pa', 'if': 'CONFIG_AUDIO_PA' }, 481c2d3d1c2SDorinda Bassey { 'name': 'pipewire', 'if': 'CONFIG_AUDIO_PIPEWIRE' }, 4827a92a857SDaniel P. Berrangé { 'name': 'sdl', 'if': 'CONFIG_AUDIO_SDL' }, 4837a92a857SDaniel P. Berrangé { 'name': 'sndio', 'if': 'CONFIG_AUDIO_SNDIO' }, 4847a92a857SDaniel P. Berrangé { 'name': 'spice', 'if': 'CONFIG_SPICE' }, 4857a92a857SDaniel P. Berrangé 'wav' ] } 4868c3a7d00SKővágó, Zoltán 4878c3a7d00SKővágó, Zoltán## 4888c3a7d00SKővágó, Zoltán# @Audiodev: 4898c3a7d00SKővágó, Zoltán# 4908c3a7d00SKővágó, Zoltán# Options of an audio backend. 4918c3a7d00SKővágó, Zoltán# 4928c3a7d00SKővágó, Zoltán# @id: identifier of the backend 4938c3a7d00SKővágó, Zoltán# 4948c3a7d00SKővágó, Zoltán# @driver: the backend driver to use 4958c3a7d00SKővágó, Zoltán# 496a937b6aaSMarkus Armbruster# @timer-period: timer period (in microseconds, 0: use lowest 497a937b6aaSMarkus Armbruster# possible) 4988c3a7d00SKővágó, Zoltán# 4998c3a7d00SKővágó, Zoltán# Since: 4.0 5008c3a7d00SKővágó, Zoltán## 5018c3a7d00SKővágó, Zoltán{ 'union': 'Audiodev', 5028c3a7d00SKővágó, Zoltán 'base': { 5038c3a7d00SKővágó, Zoltán 'id': 'str', 5048c3a7d00SKővágó, Zoltán 'driver': 'AudiodevDriver', 5058c3a7d00SKővágó, Zoltán '*timer-period': 'uint32' }, 5068c3a7d00SKővágó, Zoltán 'discriminator': 'driver', 5078c3a7d00SKővágó, Zoltán 'data': { 5088c3a7d00SKővágó, Zoltán 'none': 'AudiodevGenericOptions', 5097a92a857SDaniel P. Berrangé 'alsa': { 'type': 'AudiodevAlsaOptions', 5107a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_ALSA' }, 5117a92a857SDaniel P. Berrangé 'coreaudio': { 'type': 'AudiodevCoreaudioOptions', 5127a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_COREAUDIO' }, 51319c628f2SMarc-André Lureau 'dbus': { 'type': 'AudiodevDBusOptions', 5147a92a857SDaniel P. Berrangé 'if': 'CONFIG_DBUS_DISPLAY' }, 5157a92a857SDaniel P. Berrangé 'dsound': { 'type': 'AudiodevDsoundOptions', 5167a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_DSOUND' }, 5177a92a857SDaniel P. Berrangé 'jack': { 'type': 'AudiodevJackOptions', 5187a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_JACK' }, 5197a92a857SDaniel P. Berrangé 'oss': { 'type': 'AudiodevOssOptions', 5207a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_OSS' }, 5217a92a857SDaniel P. Berrangé 'pa': { 'type': 'AudiodevPaOptions', 5227a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_PA' }, 523c2d3d1c2SDorinda Bassey 'pipewire': { 'type': 'AudiodevPipewireOptions', 524c2d3d1c2SDorinda Bassey 'if': 'CONFIG_AUDIO_PIPEWIRE' }, 5257a92a857SDaniel P. Berrangé 'sdl': { 'type': 'AudiodevSdlOptions', 5267a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_SDL' }, 5277a92a857SDaniel P. Berrangé 'sndio': { 'type': 'AudiodevSndioOptions', 5287a92a857SDaniel P. Berrangé 'if': 'CONFIG_AUDIO_SNDIO' }, 5297a92a857SDaniel P. Berrangé 'spice': { 'type': 'AudiodevGenericOptions', 5307a92a857SDaniel P. Berrangé 'if': 'CONFIG_SPICE' }, 5318c3a7d00SKővágó, Zoltán 'wav': 'AudiodevWavOptions' } } 532637d1809SDaniel P. Berrangé 533637d1809SDaniel P. Berrangé## 534637d1809SDaniel P. Berrangé# @query-audiodevs: 535637d1809SDaniel P. Berrangé# 536e1a80c32SPierrick Bouvier# Return information about audiodev configuration 537637d1809SDaniel P. Berrangé# 538637d1809SDaniel P. Berrangé# Returns: array of @Audiodev 539637d1809SDaniel P. Berrangé# 540637d1809SDaniel P. Berrangé# Since: 8.0 541637d1809SDaniel P. Berrangé## 542637d1809SDaniel P. Berrangé{ 'command': 'query-audiodevs', 543637d1809SDaniel P. Berrangé 'returns': ['Audiodev'] } 544