3.2.5.1.1.2 Sending a Client Audio Formats and Version PDU

The structure and fields of the Client Audio Formats and Version PDU are specified in section 2.2.2.2.

The client MUST acknowledge the Server Audio Formats and Version PDU message by sending its own version and capabilities information, in a Client Audio Formats and Version PDU. The list of formats sent by the client MUST be a subset of the list of formats that was sent by the server in the preceding Server Audio Formats and Version PDU. Formats that do not appear in the server list MUST NOT be sent by the client in this message.

The list of formats sent by the client will be referenced in the data transfer sequence. The wFormatNo field of the WaveInfo PDU, the Wave2 PDU, the UDP Wave Last PDU, and the Wave Encrypt PDU messages all represent an index into this list. A value of I refers to the Ith format of this list and means that the audio data is encoded in the Ith format of the list.

If the client wants to allow the server to send audio data over UDP, as described in the data transfer sequence, the client MUST set the wDGramPort field to a valid nonzero UDP port on the client machine. However, setting the wDGramPort field to a valid nonzero UDP port on the client machine does not guarantee that the server will send audio data over UDP. The server MAY<12> send all audio data over virtual channels and no data over UDP.

If the client does not want to allow the server to send audio data over UDP, thereby forcing all audio data to be sent over virtual channels, the client MUST set the wDGramPort field to 0.