pa_poll(): Simplify detection of invalid fds in select() emulation mode
[pulseaudio-mirror.git] / PROTOCOL
bloba15d1163e070946779d26cdb3bc2dda573f2f585
1 ### v8, implemented by >= 0.8
3 First version supported.
5 ### v9, implemented by >= 0.9.0
7 Reply for PA_COMMAND_CREATE_PLAYBACK_STREAM,
8 PA_COMMAND_CREATE_RECORD_STREAM now returns buffer_attrs that are used:
10 Four new fields in reply of PA_COMMAND_CREATE_PLAYBACK_STREAM:
12    maxlength
13    tlength
14    prebuf
15    minreq
17 Two new fields in reply of PA_COMMAND_CREATE_RECORD_STREAM:
19    maxlength
20    fragsize
22 ### v10, implemented by >= 0.9.5
24 New opcodes:
26  PA_COMMAND_MOVE_SINK_INPUT
27  PA_COMMAND_MOVE_SOURCE_OUTPUT
29 SHM data transfer support
31 ### v11, implemented by >= 0.9.7
33 Reply to to PA_COMMAND_GET_SINK_INPUT_INFO, PA_COMMAND_GET_SINK_INPUT_INFO_LIST gets new field at the end:
35  mute
37 New opcodes:
39  PA_COMMAND_SET_SINK_INPUT_MUTE
40  PA_COMMAND_SUSPEND_SINK
41  PA_COMMAND_SUSPEND_SOURCE
43 ### v12, implemented by >= 0.9.8
45 S32LE, S32BE is now known as sample spec.
47 Gained six new bool fields for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM request at the end:
49  no_remap_channels
50  no_remix_channels
51  fix_format
52  fix_rate
53  fix_channels
54  no_move
55  variable_rate
57 Reply to these opcodes now includes:
59  sample_spec
60  channel_map
61  device_index
62  device_name
63  suspended
65 New opcodes for changing buffer attrs:
67  PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR
68  PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR
70 New opcodes for changing sampling rate:
72  PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE
73  PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE
75 New opcodes for notifications:
77  PA_COMMAND_PLAYBACK_STREAM_SUSPENDED
78  PA_COMMAND_CAPTURE_STREAM_SUSPENDED
79  PA_COMMAND_PLAYBACK_STREAM_MOVED
80  PA_COMMAND_CAPTURE_STREAM_MOVED
82 ### v13, implemented by >= 0.9.11
84 New fields for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM request at the end:
86  peak_detect (bool)
87  adjust_latency  (bool)
89 Replace field "name" for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM at the end:
91  proplist
93 Replace field "name" for PA_COMMAND_SET_CLIENT_NAME request at the end:
95  proplist
97 On response of PA_COMMAND_SET_CLIENT_NAME:
99  client_index
101 New proplist field for sink, source, sink input, source output introspection opcodes and at the end:
103  proplist
105 New opcodes for proplist modifications
107   PA_COMMAND_UPDATE_RECORD_STREAM_PROPLIST
108   PA_COMMAND_UPDATE_PLAYBACK_STREAM_PROPLIST
109   PA_COMMAND_UPDATE_CLIENT_PROPLIST
110   PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST
111   PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST
112   PA_COMMAND_REMOVE_CLIENT_PROPLIST
114 New field for PA_COMMAND_PLAY_SAMPLE:
116   proplist
118 New field for PA_COMMAND_PLAY_SAMPLE response:
120   idx
122 New field for PA_COMMAND_CREATE_PLAYBACK_STREAM at the end:
124   start_muted
126 Buffer attributes for PA_COMMAND_CREATE_PLAYBACK_STREAM and
127 PA_COMMAND_CREATE_RECORD_STREAM may now be 0 for default values.
129 New field for PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
130 PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR at the end:
132   adjust_latency (bool)
134 new message:
136   PA_COMMAND_STARTED
138 ### v14, implemented by >= 0.9.12
140 new message:
142   PA_COMMAND_EXTENSION
144 PA_COMMAND_CREATE_PLAYBACK_STREAM:
146   bool volume_set at the end
148 PA_COMMAND_CREATE_RECORD_STREAM, PA_COMMAND_CREATE_PLAYBACK_STREAM:
150   bool early_requests at the end
152 New field for PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR,
153 PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR at the end:
155   early_requests (bool)
157 ### v15, implemented by >= 0.9.15
159 PA_COMMAND_CREATE_PLAYBACK_STREAM
161   bool muted at the end
163 PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM:
165   bool dont_inhibit_auto_suspend at the end
167 PA_COMMAND_GET_MODULE_INFO_LIST
169   remove bool auto_unload
170   add proplist at the end
172 new messages:
174   PA_COMMAND_GET_CARD_INFO
175   PA_COMMAND_GET_CARD_INFO_LIST
176   PA_COMMAND_SET_CARD_PROFILE
178   PA_COMMAND_CLIENT_EVENT
179   PA_COMMAND_PLAYBACK_STREAM_EVENT
180   PA_COMMAND_RECORD_STREAM_EVENT
182   PA_COMMAND_PLAYBACK_BUFFER_ATTR_CHANGED
183   PA_COMMAND_RECORD_BUFFER_ATTR_CHANGED
185 ### v16, implemented by >= 0.9.15
187 new messages:
189   PA_COMMAND_SET_SINK_PORT
190   PA_COMMAND_SET_SOURCE_PORT
192 ## v17, implemented by >= 0.9.20
194 new flag at end of CREATE_PLAYBACK_STREAM:
196     bool relative_volume
198 ## v18, implemented by >= 0.9.22
200 new flag at end of CREATE_PLAYBACK_STREAM:
202     bool passthrough
204 ## v19, implemented by >= 0.9.22
206 New flag at the end of sink input and source output introspection data:
208     bool corked
210 ## v20, implemented by >= 1.0
212 Two new flags at the end of sink input introspection data:
214     bool has_volume
215     bool volume_writable