mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
Fix the documentation: the protocol file was not reflecting the code properly for version 22. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
306 lines
6.4 KiB
Text
306 lines
6.4 KiB
Text
### v8, implemented by >= 0.8
|
|
|
|
First version supported.
|
|
|
|
### v9, implemented by >= 0.9.0
|
|
|
|
Reply for PA_COMMAND_CREATE_PLAYBACK_STREAM,
|
|
PA_COMMAND_CREATE_RECORD_STREAM now returns buffer_attrs that are used:
|
|
|
|
Four new fields in reply of PA_COMMAND_CREATE_PLAYBACK_STREAM:
|
|
|
|
maxlength
|
|
tlength
|
|
prebuf
|
|
minreq
|
|
|
|
Two new fields in reply of PA_COMMAND_CREATE_RECORD_STREAM:
|
|
|
|
maxlength
|
|
fragsize
|
|
|
|
### v10, implemented by >= 0.9.5
|
|
|
|
New opcodes:
|
|
|
|
PA_COMMAND_MOVE_SINK_INPUT
|
|
PA_COMMAND_MOVE_SOURCE_OUTPUT
|
|
|
|
SHM data transfer support
|
|
|
|
### v11, implemented by >= 0.9.7
|
|
|
|
Reply to to PA_COMMAND_GET_SINK_INPUT_INFO, PA_COMMAND_GET_SINK_INPUT_INFO_LIST gets new field at the end:
|
|
|
|
mute
|
|
|
|
New opcodes:
|
|
|
|
PA_COMMAND_SET_SINK_INPUT_MUTE
|
|
PA_COMMAND_SUSPEND_SINK
|
|
PA_COMMAND_SUSPEND_SOURCE
|
|
|
|
### v12, implemented by >= 0.9.8
|
|
|
|
S32LE, S32BE is now known as sample spec.
|
|
|
|
Gained six new bool fields for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM request at the end:
|
|
|
|
no_remap_channels
|
|
no_remix_channels
|
|
fix_format
|
|
fix_rate
|
|
fix_channels
|
|
no_move
|
|
variable_rate
|
|
|
|
Reply to these opcodes now includes:
|
|
|
|
sample_spec
|
|
channel_map
|
|
device_index
|
|
device_name
|
|
suspended
|
|
|
|
New opcodes for changing buffer attrs:
|
|
|
|
PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR
|
|
PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR
|
|
|
|
New opcodes for changing sampling rate:
|
|
|
|
PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE
|
|
PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE
|
|
|
|
New opcodes for notifications:
|
|
|
|
PA_COMMAND_PLAYBACK_STREAM_SUSPENDED
|
|
PA_COMMAND_CAPTURE_STREAM_SUSPENDED
|
|
PA_COMMAND_PLAYBACK_STREAM_MOVED
|
|
PA_COMMAND_CAPTURE_STREAM_MOVED
|
|
|
|
### v13, implemented by >= 0.9.11
|
|
|
|
New fields for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM request at the end:
|
|
|
|
peak_detect (bool)
|
|
adjust_latency (bool)
|
|
|
|
Replace field "name" for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM at the end:
|
|
|
|
proplist
|
|
|
|
Replace field "name" for PA_COMMAND_SET_CLIENT_NAME request at the end:
|
|
|
|
proplist
|
|
|
|
On response of PA_COMMAND_SET_CLIENT_NAME:
|
|
|
|
client_index
|
|
|
|
New proplist field for sink, source, sink input, source output introspection opcodes and at the end:
|
|
|
|
proplist
|
|
|
|
New opcodes for proplist modifications
|
|
|
|
PA_COMMAND_UPDATE_RECORD_STREAM_PROPLIST
|
|
PA_COMMAND_UPDATE_PLAYBACK_STREAM_PROPLIST
|
|
PA_COMMAND_UPDATE_CLIENT_PROPLIST
|
|
PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST
|
|
PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST
|
|
PA_COMMAND_REMOVE_CLIENT_PROPLIST
|
|
|
|
New field for PA_COMMAND_PLAY_SAMPLE:
|
|
|
|
proplist
|
|
|
|
New field for PA_COMMAND_PLAY_SAMPLE response:
|
|
|
|
idx
|
|
|
|
New field for PA_COMMAND_CREATE_PLAYBACK_STREAM at the end:
|
|
|
|
start_muted
|
|
|
|
Buffer attributes for PA_COMMAND_CREATE_PLAYBACK_STREAM and
|
|
PA_COMMAND_CREATE_RECORD_STREAM may now be 0 for default values.
|
|
|
|
New field for PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
|
|
PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR at the end:
|
|
|
|
adjust_latency (bool)
|
|
|
|
new message:
|
|
|
|
PA_COMMAND_STARTED
|
|
|
|
### v14, implemented by >= 0.9.12
|
|
|
|
new message:
|
|
|
|
PA_COMMAND_EXTENSION
|
|
|
|
PA_COMMAND_CREATE_PLAYBACK_STREAM:
|
|
|
|
bool volume_set at the end
|
|
|
|
PA_COMMAND_CREATE_RECORD_STREAM, PA_COMMAND_CREATE_PLAYBACK_STREAM:
|
|
|
|
bool early_requests at the end
|
|
|
|
New field for PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
|
|
PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR at the end:
|
|
|
|
early_requests (bool)
|
|
|
|
### v15, implemented by >= 0.9.15
|
|
|
|
PA_COMMAND_CREATE_PLAYBACK_STREAM
|
|
|
|
bool muted at the end
|
|
|
|
PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM:
|
|
|
|
bool dont_inhibit_auto_suspend at the end
|
|
|
|
PA_COMMAND_GET_MODULE_INFO_LIST
|
|
|
|
remove bool auto_unload
|
|
add proplist at the end
|
|
|
|
new messages:
|
|
|
|
PA_COMMAND_GET_CARD_INFO
|
|
PA_COMMAND_GET_CARD_INFO_LIST
|
|
PA_COMMAND_SET_CARD_PROFILE
|
|
|
|
PA_COMMAND_CLIENT_EVENT
|
|
PA_COMMAND_PLAYBACK_STREAM_EVENT
|
|
PA_COMMAND_RECORD_STREAM_EVENT
|
|
|
|
PA_COMMAND_PLAYBACK_BUFFER_ATTR_CHANGED
|
|
PA_COMMAND_RECORD_BUFFER_ATTR_CHANGED
|
|
|
|
### v16, implemented by >= 0.9.15
|
|
|
|
new messages:
|
|
|
|
PA_COMMAND_SET_SINK_PORT
|
|
PA_COMMAND_SET_SOURCE_PORT
|
|
|
|
## v17, implemented by >= 0.9.20
|
|
|
|
new flag at end of CREATE_PLAYBACK_STREAM:
|
|
|
|
bool relative_volume
|
|
|
|
## v18, implemented by >= 0.9.22
|
|
|
|
new flag at end of CREATE_PLAYBACK_STREAM:
|
|
|
|
bool passthrough
|
|
|
|
## v19, implemented by >= 0.9.22
|
|
|
|
New flag at the end of sink input and source output introspection data:
|
|
|
|
bool corked
|
|
|
|
## v20, implemented by >= 1.0
|
|
|
|
Two new flags at the end of sink input introspection data:
|
|
|
|
bool has_volume
|
|
bool volume_writable
|
|
|
|
## v21, implemented by >= 1.0
|
|
|
|
Changes for format negotiation in the extended API.
|
|
|
|
New fields PA_COMMAND_CREATE_PLAYBACK_STREAM:
|
|
|
|
uint8_t n_formats
|
|
format_info format1
|
|
...
|
|
format_info formatn
|
|
|
|
One new field in reply from PA_COMMAND_CREATE_PLAYBACK_STREAM:
|
|
|
|
format_info format
|
|
|
|
New fields in reply from PA_COMMAND_GET_SINK_INFO (and thus
|
|
PA_COMMAND_GET_SINK_INFO_LIST)
|
|
|
|
uint8_t n_formats
|
|
format_info format1
|
|
...
|
|
format_info formatn
|
|
|
|
One new field in reply from PA_COMMAND_GET_SINK_INPUT_INFO (and thus
|
|
PA_COMMAND_GET_SINK_INPUT_INFO_LIST)
|
|
|
|
format_info format
|
|
|
|
## v22, implemented by >= 1.0
|
|
|
|
New fields PA_COMMAND_CREATE_RECORD_STREAM:
|
|
|
|
uint8_t n_formats
|
|
format_info format1
|
|
...
|
|
format_info formatn
|
|
volume
|
|
bool muted
|
|
bool volume_set
|
|
bool muted_set
|
|
bool relative_volume
|
|
bool passthrough
|
|
|
|
One new field in reply from PA_COMMAND_CREATE_RECORD_STREAM:
|
|
|
|
format_info format
|
|
|
|
New fields in reply from PA_COMMAND_GET_SOURCE_INFO (and thus
|
|
PA_COMMAND_GET_SOURCE_INFO_LIST)
|
|
|
|
uint8_t n_formats
|
|
format_info format1
|
|
...
|
|
format_info formatn
|
|
|
|
Five new fields in reply from PA_COMMAND_GET_SOURCE_OUTPUT_INFO (and thus
|
|
PA_COMMAND_GET_SOURCE_OUTPUT_INFO_LIST)
|
|
|
|
volume
|
|
bool mute
|
|
bool has_volume
|
|
bool volume_writable
|
|
format_info format
|
|
|
|
## v23, implemented by >= 1.0
|
|
|
|
New field in PA_COMMAND_UNDERFLOW:
|
|
|
|
int64_t index
|
|
|
|
## v24, implemented by >= 2.0
|
|
|
|
New field in all commands that send/receive port introspection data
|
|
(PA_COMMAND_GET_(SOURCE|SINK)_OUTPUT_INFO,
|
|
PA_COMMAND_GET_(SOURCE|SINK)_OUTPUT_INFO_LIST):
|
|
|
|
uint32_t available
|
|
|
|
The field is added once for every port.
|
|
|
|
## v25, implemented by >= 2.0
|
|
|
|
When port availability changes, send a subscription event for the
|
|
owning card.
|
|
|
|
#### If you just changed the protocol, read this
|
|
## module-tunnel depends on the sink/source/sink-input/source-input protocol
|
|
## internals, so if you changed these, you might have broken module-tunnel.
|
|
## Don't forget to test module-tunnel-{source,sink} when pushing protocol
|
|
## changes.
|