1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
### 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 filed 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
|