mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-28 05:40:21 -04:00
This is the beginning of work to support compressed formats natively in PulseAudio. This adds a pa_stream_new_extended() that takes a format structure, sends it to the server (=> protocol extension) and has the server negotiate with the appropropriate sink to figure out what format it should use. This is work in progress, and works only with PCM streams. Actual compressed format support in some sink needs to be implemented, and extensive testing is required. More details on how this is supposed to work is available at: http://pulseaudio.org/wiki/PassthroughSupport
230 lines
4.7 KiB
Text
230 lines
4.7 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
|