| 
									
										
										
										
											2007-11-21 01:21:00 +00:00
										 |  |  | ### 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 | 
					
						
							| 
									
										
										
										
											2008-05-15 23:34:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-03 18:56:10 +02:00
										 |  |  | ### v13, implemented by >= 0.9.11 | 
					
						
							| 
									
										
										
										
											2008-05-15 23:34:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | New fields for PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM request at the end: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  peak_detect (bool) | 
					
						
							| 
									
										
										
										
											2008-05-15 23:36:44 +00:00
										 |  |  |  adjust_latency  (bool) | 
					
						
							| 
									
										
										
										
											2008-05-15 23:34:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2008-05-15 23:36:44 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-03 18:31:46 +02:00
										 |  |  | New field for PA_COMMAND_SET_PLAYBACK_STREAM_BUFFER_ATTR, | 
					
						
							| 
									
										
										
										
											2008-05-15 23:36:44 +00:00
										 |  |  | PA_COMMAND_SET_RECORD_STREAM_BUFFER_ATTR at the end: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   adjust_latency (bool) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | new message: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   PA_COMMAND_STARTED | 
					
						
							| 
									
										
										
										
											2008-08-03 18:56:10 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | ### v14, implemented by >= 0.9.12 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | new message: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   PA_COMMAND_EXTENSION | 
					
						
							| 
									
										
										
										
											2008-08-18 17:49:18 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-03 18:31:46 +02:00
										 |  |  | PA_COMMAND_CREATE_PLAYBACK_STREAM: | 
					
						
							| 
									
										
										
										
											2008-08-18 17:49:18 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   bool volume_set at the end | 
					
						
							| 
									
										
										
										
											2008-09-03 18:31:46 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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) | 
					
						
							| 
									
										
										
										
											2008-10-26 19:32:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-16 03:13:42 +01:00
										 |  |  | ### v15, implemented by >= 0.9.15 | 
					
						
							| 
									
										
										
										
											2008-10-26 19:32:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | PA_COMMAND_CREATE_PLAYBACK_STREAM | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   bool muted at the end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PA_COMMAND_CREATE_PLAYBACK_STREAM, PA_COMMAND_CREATE_RECORD_STREAM: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-19 22:02:28 +01:00
										 |  |  |   bool dont_inhibit_auto_suspend at the end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PA_COMMAND_GET_MODULE_INFO_LIST | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   remove bool auto_unload | 
					
						
							|  |  |  |   add proplist at the end | 
					
						
							| 
									
										
										
										
											2009-03-30 18:46:12 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2009-06-17 04:54:11 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | ### v16, implemented by >= 0.9.15 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | new messages: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   PA_COMMAND_SET_SINK_PORT | 
					
						
							|  |  |  |   PA_COMMAND_SET_SOURCE_PORT | 
					
						
							| 
									
										
										
										
											2009-10-29 00:46:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## v17, implemented by >= 0.9.20 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | new flag at end of CREATE_PLAYBACK_STREAM: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     bool relative_volume | 
					
						
							| 
									
										
										
										
											2010-07-16 16:46:28 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## v18, implemented by >= 0.9.22 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | new flag at end of CREATE_PLAYBACK_STREAM: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     bool passthrough | 
					
						
							| 
									
										
										
										
											2010-10-04 11:48:43 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## v19, implemented by >= 0.9.22 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-14 13:41:06 +02:00
										 |  |  | New flag at the end of sink input and source output introspection data: | 
					
						
							| 
									
										
										
										
											2010-10-04 11:48:43 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     bool corked | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-14 13:41:06 +02:00
										 |  |  | ## v20, implemented by >= 1.0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Two new flags at the end of sink input introspection data: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     bool has_volume | 
					
						
							| 
									
										
										
										
											2011-03-27 23:00:26 +03:00
										 |  |  |     bool volume_writable | 
					
						
							| 
									
										
										
										
											2011-02-28 13:23:23 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | ## 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 | 
					
						
							| 
									
										
										
										
											2011-03-08 23:30:24 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2011-03-08 23:31:59 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | One new field in reply from PA_COMMAND_GET_SINK_INPUT_INFO (and thus | 
					
						
							|  |  |  | PA_COMMAND_GET_SINK_INPUT_INFO_LIST) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     format_info format | 
					
						
							| 
									
										
										
										
											2011-05-17 21:56:10 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## v22, implemented by >= 1.0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | New fields PA_COMMAND_CREATE_RECORD_STREAM: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     uint8_t n_formats | 
					
						
							|  |  |  |     format_info format1 | 
					
						
							|  |  |  |     ... | 
					
						
							|  |  |  |     format_info formatn | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | One new field in reply from PA_COMMAND_CREATE_RECORD_STREAM: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     format_info format | 
					
						
							| 
									
										
										
										
											2011-05-16 22:15:57 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2011-05-17 22:31:10 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-16 22:23:24 +01:00
										 |  |  | Five new fields in reply from PA_COMMAND_GET_SOURCE_OUTPUT_INFO (and thus | 
					
						
							| 
									
										
										
										
											2011-05-17 22:31:10 +01:00
										 |  |  | PA_COMMAND_GET_SOURCE_OUTPUT_INFO_LIST) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-16 22:23:24 +01:00
										 |  |  |     format_info format | 
					
						
							| 
									
										
										
										
											2011-05-17 22:31:10 +01:00
										 |  |  |     volume | 
					
						
							|  |  |  |     bool mute | 
					
						
							|  |  |  |     bool has_volume | 
					
						
							|  |  |  |     bool volume_writable | 
					
						
							| 
									
										
										
										
											2011-08-04 10:33:54 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## v23, implemented by >= 1.0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | New field in PA_COMMAND_UNDERFLOW: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     int64_t index | 
					
						
							| 
									
										
										
										
											2011-08-15 15:19:10 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-25 15:17:11 +01:00
										 |  |  | ## 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-25 15:17:14 +01:00
										 |  |  | ## v25, implemented by >= 2.0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When port availability changes, send a subscription event for the | 
					
						
							|  |  |  | owning card. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-15 15:19:10 +05:30
										 |  |  | #### 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. |