merge glitch-free branch back into trunk
[platform/upstream/pulseaudio.git] / PROTOCOL
1 ### v8, implemented by >= 0.8
2
3 First version supported.
4
5 ### v9, implemented by >= 0.9.0
6
7 Reply for PA_COMMAND_CREATE_PLAYBACK_STREAM,
8 PA_COMMAND_CREATE_RECORD_STREAM now returns buffer_attrs that are used:
9
10 Four new fields in reply of PA_COMMAND_CREATE_PLAYBACK_STREAM:
11
12    maxlength
13    tlength
14    prebuf
15    minreq
16
17 Two new fields in reply of PA_COMMAND_CREATE_RECORD_STREAM:
18
19    maxlength
20    fragsize
21
22 ### v10, implemented by >= 0.9.5
23
24 New opcodes:
25
26  PA_COMMAND_MOVE_SINK_INPUT
27  PA_COMMAND_MOVE_SOURCE_OUTPUT
28
29 SHM data transfer support
30
31 ### v11, implemented by >= 0.9.7
32
33 Reply to to PA_COMMAND_GET_SINK_INPUT_INFO, PA_COMMAND_GET_SINK_INPUT_INFO_LIST gets new field at the end:
34
35  mute
36
37 New opcodes:
38
39  PA_COMMAND_SET_SINK_INPUT_MUTE
40  PA_COMMAND_SUSPEND_SINK
41  PA_COMMAND_SUSPEND_SOURCE
42
43 ### v12, implemented by >= 0.9.8
44
45 S32LE, S32BE is now known as sample spec.
46
47 Gained six new bool fields for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM request at the end:
48
49  no_remap_channels
50  no_remix_channels
51  fix_format
52  fix_rate
53  fix_channels
54  no_move
55  variable_rate
56
57 Reply to these opcodes now includes:
58
59  sample_spec
60  channel_map
61  device_index
62  device_name
63  suspended
64
65 New opcodes for changing buffer attrs:
66
67  PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR
68  PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR
69
70 New opcodes for changing sampling rate:
71
72  PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE
73  PA_COMMAND_UPDATE_RECORD_STREAM_SAMPLE_RATE
74
75 New opcodes for notifications:
76
77  PA_COMMAND_PLAYBACK_STREAM_SUSPENDED
78  PA_COMMAND_CAPTURE_STREAM_SUSPENDED
79  PA_COMMAND_PLAYBACK_STREAM_MOVED
80  PA_COMMAND_CAPTURE_STREAM_MOVED
81
82 ### v13, implemented  by >= 0.9.11
83
84 New fields for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM request at the end:
85
86  peak_detect (bool)
87
88 Replace field "name" for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM at the end:
89
90  proplist
91
92 Replace field "name" for PA_COMMAND_SET_CLIENT_NAME request at the end:
93
94  proplist
95
96 On response of PA_COMMAND_SET_CLIENT_NAME:
97
98  client_index
99
100 New proplist field for sink, source, sink input, source output introspection opcodes and at the end:
101
102  proplist
103
104 New opcodes for proplist modifications
105
106   PA_COMMAND_UPDATE_RECORD_STREAM_PROPLIST
107   PA_COMMAND_UPDATE_PLAYBACK_STREAM_PROPLIST
108   PA_COMMAND_UPDATE_CLIENT_PROPLIST
109   PA_COMMAND_REMOVE_RECORD_STREAM_PROPLIST
110   PA_COMMAND_REMOVE_PLAYBACK_STREAM_PROPLIST
111   PA_COMMAND_REMOVE_CLIENT_PROPLIST
112
113 New field for PA_COMMAND_PLAY_SAMPLE:
114
115   proplist
116
117 New field for PA_COMMAND_PLAY_SAMPLE response:
118
119   idx
120
121 New field for PA_COMMAND_CREATE_PLAYBACK_STREAM at the end:
122
123   start_muted
124
125 Buffer attributes for PA_COMMAND_CREATE_PLAYBACK_STREAM and
126 PA_COMMAND_CREATE_RECORD_STREAM may now be 0 for default values.