2.2.1.4 TSMM_CLIENT_NOTIFICATION Structure

This message is sent from the client to the server to notify of certain events happening on the client.


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

Header

...

A

B

Reserved

cbData

pData (variable)

...

...

Header (8 bytes): TSMM_VIDEO_PACKET_HEADER defined in 2.2.1.1.

A - PresentationId (1 byte): UINT8 ([MS-DTYP] section 2.2.47). This is the same number as the PresentationId field in the TSMM_PRESENTATION_REQUEST message.

B - NotificationType (1 byte): UINT8. A number that identifies which notification type the client is sending. The following values are supported:

  • 0x01 – Network Error – This message SHOULD be sent whenever the client detects missing or out-of-order packets. The server will then send an I-Frame (keyframe) in response to try and minimize graphics artifacts. cbData MUST be set to zero.

  • 0x02 – Frame Rate Override – This message MUST be sent whenever the client cannot decode incoming frames fast enough. cbData MUST be set to the length of pData (in bytes), and pData MUST contain a TSMM_CLIENT_NOTIFICATION_FRAMERATE_OVERRIDE structure.

Reserved (2 bytes): UINT16 ([MS-DTYP] section 2.2.48). This field is reserved and MUST be ignored.

cbData (4 bytes): UINT32 ([MS-DTYP] section 2.2.49). Length of extra data (in bytes) appended to this structure, starting at pData.

pData (variable): Array of UINT8. The data in the field is dependent on the value of the NotificationType field.