3.1.5.11 Receiving a Play Response

The client MUST first follow the steps specified in section 3.1.5.3.

The value of the Client-State variable MUST be set to STREAMING.

The client MUST communicate the X-StartupProfile header (section2.2.1.12), if present, to the higher layer.

If the response includes a Pragma header with an xResetStrm (section 2.2.1.4.37) token, the client SHOULD treat it the same way it would treat receiving a $C (Stream Change Notification) packet with a zero-value Reason field, as specified in section 3.1.5.14. However, unlike the case of a playlist entry change, the client MUST NOT send a PlayNextEntry request in this situation.

If the response includes a Pragma header with an expect-new-header 2.2.1.4.7 token, and the value of this token is set to 0 or omitted, then the client SHOULD assume that the packet that immediately follows the $H (Header) packet in the packet that the server will transmit in response to a Play request will not be a $C (Stream Change Notification) packet. If the value of this token is set to 1, then the server is intending to transmit a $C (Stream Change Notification) packet in response to the Play request. The client MUST therefore assume that the packet that immediately follows the $H (Header) packet that the server will transmit in response to a Play request will be a $C (Stream Change Notification) packet.

If the server's product name is "Cougar" and the version number is greater than or equal to 9.0 according to the Server-Version variable, the client MUST set the value of the Expected-Packets variable to $M.

Otherwise, if the server's version number is greater than or equal to 9.0, the client MUST set the value of the Expected-Packets variable to $H, $M.

Otherwise, the client MUST set the value of the Expected-Packets variable to $H.

The client MUST then process the rules in section 3.1.5.2.