Processing a UDP Wave Last PDU

The structure and fields of the UDP Wave Last PDU are specified in section

The client receives several UDP Wave PDUs and one UDP Wave Last PDU, each containing the same value within the cBlockNo field. These PDUs contain the fragments of an Audio FragData structure in the Data field.

The client MUST consume the original audio data sample. The sample is recreated as follows:

The UDP Wave Last PDU holds the final fragment of audio data. As a result, its data field contains data that belongs at the end of the recreated audio sample.

The cFragNo field determines the order of the fragments in the UDP Wave PDUs. The contents of the Data field in each of the UDP Wave PDUs MUST be concatenated in the order determined by the cFragNo field. The UDP Wave PDU whose cFragNo field is 0 represents the start of the audio data, followed by the PDU whose cFragNo is 1, and so on. The Data field of the UDP Wave Last PDU holds the audio data that is concatenated as the end of the sample. Concatenating all of these Data fields yields an AUDIO_FRAGDATA structure that reproduces the original sample.

The wFormatNo field is an index into the list of formats sent by the client in the Client Audio Formats and Version PDU. A value of i means the format of the audio data is the ith format of that list.

This PDU MUST have been sent over UDP and only if the client's version and the server's version are both at least 5.