1.7 Versioning and Capability Negotiation

Supported Transports: This protocol is be implemented on top of TCP/UDP as specified in the Miracast v1.1 specification [WF-DTS1.1].

Capability Negotiation: This extension performs explicit capability negation in the M3 capabilities message as defined in the Miracast protocol.

A new optional RTSP parameter 'microsoft_cursor' is used to query for hardware cursor support and capabilities. The following is the ABNF format for the response from the sink to the microsoft_cursor using the GET_PARAMETER command as specified in [WF-DTS1.1] section 6.2.2.

 microsoft-cursor = "none" / sink-cursor-caps 
 ;  "none" means the sink does not support this hardware cursor extension
 ;  otherwise it is assumed that the sink can support per pixel 8bit 
 ;  alpha blending of hardware cursor.
 sink-cursor-caps = xor-support SP x-max SP y-max SP port
 xor-support = "none" / "full"
 ;  "none" means the sink does not support XOR blending operations at 
 ;  all, "full" indicates the sink can perform the XOR blending 
 ;  operations. 
 x-max     = 4HEXDIG
 ;  the maximum width of the cursor the sink supports in pixels, the sink
 ;  supports this width for all cursor formats.
 y-max     = 4HEXDIG
 ;  the maximum height of the cursor the sink supports in pixels, the   
 ;  sink supports this height for all cursor formats.
 port      = 4HEXDIG
 ;  this is the UDP port to which the source sends the mouse cursor
 ;  position and shape changes.

In the case that a device supports Intel Fast Cursor as well, the following information also applies. A new optional RTSP parameter 'intel_fast_cursor' is used to query for Intel Fast Cursor support and capabilities. The following is the ABNF format for the response from the sink to the intel_fast_cursor using the GET_PARAMTETER command, as specified in [WF-DTS1.1] section 6.2.2.

 intel-fast-cursor = "intel_fast_cursor:" SP "port=" fast-cursor-port
 fast-cursor-port = IPPORT

Fast cursor ports are a value from the port range (49152 to 65535) with the exception of older Intel WiDi devices that can only support fast cursor messages on port 1232.

Note that a sink that supports the Intel Fast Cursor extension ignores a fast cursor message if: (1) it does not conform to the ABNF rules; (2) the x parameter is equal to or greater than the width parameter; (3) the y parameter is equal to or greater than the height parameter; or (4) the sink has transmitted a UIBC packet within the previous 100ms. If a sink receives a fast cursor message containing the current-position ABNF rule, the sink displays a locally rendered cursor at the indicated location. If a sink receives a fast cursor message containing the hidden ABNF rule (see section 2.2.2), the sink does not display any locally rendered cursors. If it has been more than 100ms since a fast cursor message was received, a sink does not display any locally rendered cursors.