]> code.delx.au - pulseaudio/blobdiff - PROTOCOL
Use pa_hashmap_remove_and_free() where appropriate
[pulseaudio] / PROTOCOL
index 7468cd47619ec54b2d15007fa9ebd9b27343fb16..850b953ab227f12eaeee43091d35e08eb666dbcb 100644 (file)
--- a/PROTOCOL
+++ b/PROTOCOL
@@ -30,7 +30,7 @@ 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:
+Reply to PA_COMMAND_GET_SINK_INPUT_INFO, PA_COMMAND_GET_SINK_INPUT_INFO_LIST gets new field at the end:
 
  mute
 
@@ -250,6 +250,12 @@ New fields PA_COMMAND_CREATE_RECORD_STREAM:
     format_info format1
     ...
     format_info formatn
+    volume
+    bool muted
+    bool volume_set
+    bool muted_set
+    bool relative_volume
+    bool passthrough
 
 One new field in reply from PA_COMMAND_CREATE_RECORD_STREAM:
 
@@ -266,11 +272,11 @@ PA_COMMAND_GET_SOURCE_INFO_LIST)
 Five new fields in reply from PA_COMMAND_GET_SOURCE_OUTPUT_INFO (and thus
 PA_COMMAND_GET_SOURCE_OUTPUT_INFO_LIST)
 
-    format_info format
     volume
     bool mute
     bool has_volume
     bool volume_writable
+    format_info format
 
 ## v23, implemented by >= 1.0
 
@@ -281,8 +287,8 @@ New field in PA_COMMAND_UNDERFLOW:
 ## 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):
+(PA_COMMAND_GET_(SOURCE|SINK)_INFO,
+PA_COMMAND_GET_(SOURCE|SINK)_INFO_LIST):
 
     uint32_t available
 
@@ -293,6 +299,58 @@ The field is added once for every port.
 When port availability changes, send a subscription event for the
 owning card.
 
+## v26, implemented by >= 2.0
+
+In reply from PA_COMMAND_GET_CARD_INFO (and thus
+PA_COMMAND_GET_CARD_INFO_LIST), the following is added:
+
+    uint32_t n_ports
+
+...followed by n_ports extended port entries, which look like this:
+
+    string name
+    string description
+    uint32_t priority
+    uint32_t available
+    uint8_t direction
+    proplist
+    uint32_t n_profiles
+    string profile_name_1
+    ...
+    string profile_name_n
+
+Profile names must match earlier sent profile names for the same card.
+
+## v27, implemented by >= 3.0
+
+New opcodes:
+    PA_COMMAND_SET_PORT_LATENCY_OFFSET
+
+New field in the card commands that send/receive port introspection data
+PA_COMMAND_GET_CARD_INFO(_LIST)):
+
+    int64_t latency_offset
+
+The field is added once for every port.
+
+## v28, implemented by >= 4.0
+
+New value for encoding format type in format_info
+PA_COMMAND_CREATE_(PLAYBACK|RECORDING)_STREAM and its reply,
+In reply from PA_COMMAND_GET_(SOURCE|SOURCE_OUTPUT|SINK|SINK_INPUT)_INFO[_LIST],
+SUBCOMMAND_SAVE_FORMATS, in reply from SUBCOMMAND_READ_FORMATS[_ALL]
+
+    (uint8_t ) PA_ENCODING_MPEG2_AAC_IEC61937 := 6
+
+## v29, implemented by >= 5.0
+#
+New field in all commands that send/receive profile introspection data
+(PA_COMMAND_GET_CARD_INFO)
+
+    uint32 available
+
+The field is added once for every profile.
+
 #### 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.