2.2.3.7 UDP Wave Last PDU (SNDUDPWAVELAST)

The UDP Wave Last PDU is a PDU used to send the final 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

wTotalSize

wTimeStamp

...

wFormatNo

cBlockNo

bPad

Data (variable)

...

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

wTotalSize (2 bytes): A 16-bit unsigned integer that represents the total size of the audio data sent in successive PDUs. The amount of audio data in previous UDP Wave PDUs plus the amount of audio data in this PDU MUST be equivalent to wTotalSize.

wTimeStamp (2 bytes): A 16-bit unsigned integer representing the time stamp of the audio data.

wFormatNo (2 bytes): A 16-bit unsigned integer that represents an index into the list of formats exchanged between the client and server during the initialization phase, as described in section 3.1.1.2.

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.

bPad (3 bytes): A 24-bit unsigned integer. This field is unused. The value is arbitrary and MUST be ignored on receipt.

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