2.2.3.6 UDP Wave PDU (SNDUDPWAVE)

The UDP Wave PDU is a PDU used to send a fragment of audio data from the server to the client. This packet is only used when the client and server versions are both at least 5. This PDU MUST be sent over UDP.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Type

cBlockNo

cFragNo (variable)

...

Data (variable)

...

Type (1 byte): An 8-bit unsigned integer. This field MUST be set to SNDC_UDPWAVE (0x0A).

cBlockNo (1 byte): An 8-bit unsigned integer specifying the block ID of the audio data. When the client notifies the server that it has consumed the audio data, it sends a Wave Confirm PDU containing this field in its cConfirmedBlockNo field.

cFragNo (variable): An 8-bit or 16-bit unsigned integer specifying the order of the audio data fragment in the overall audio sample. The 0x80 bit of the first byte is used to determine if the field is one or two bytes in length. If the first byte is less than 0x80, then the field is 1 byte. If the first byte is greater than or equal to 0x80, then this field is 2 bytes. To calculate the value of the field, the second byte holds 8 low-order bits, while the first byte holds 7 high-order bits.

Data (variable): A portion of an Audio FragData structure. Several UDP Wave PDUs and a UDP Wave Last PDU contain pieces of a structure conforming to Audio FragData. This algorithm is specified in section 3.2.5.2.1.5.