3.1.5.13 Receiving an EndOfStream Request

The client MUST validate that the request adheres to the syntax as specified in section 2.2.7.3.

The client MUST send an EndOfStream response.

If the RTP-Info header is present in the request, for each stream specified on that header, the client MUST compare the value of the seq parameter against the value of the Sequence Number field (defined in [RFC3550] section 5.1) in the RTP header of the most recent RTP packet. If the seq parameter indicates that the server has transmitted one or more RTP packets that have not yet been received by the client, the client SHOULD wait for those remaining RTP packets to be received and process the rules, as specified in section 3.1.5.12, for each RTP packet that is received. Processing of the rules, as specified in section 3.1.5.13, MUST continue once the missing RTP packets are received.

If the message body of the request does not contain the "End-Of-Playlist-Entry: true" syntax element, the State variable MUST be set to READY.

If the message body of the request does contain the "End-Of-Playlist-Entry: true" syntax element, this syntax element MUST not cause a change to the value of the State variable.

If the Keepalive timer is stopped, it MUST be started.

If the variable X Playlist Change Notice Variable is equal to "true", then the client MUST NOT send a LogPlay request. Otherwise, the client MUST send a LogPlay (section 2.2.7.7) request.

If the client will submit remote-log remote events by using the SendEvent request, as specified in section 3.1.4.9, the logging information included in the LogPlay request MUST be a streaming log, as specified in [MS-WMLOG] section 2.6. Otherwise, the logging information MUST be a legacy style log, as specified in [MS-WMLOG] section 2.5.

If the client sent a LogPlay request, the client MUST be prepared to receive the response to that request. How to process that response is specified in section 3.1.5.14.

If the State variable is PLAYING, the client MUST also be prepared to receive an Announce request. How to process this request is specified in section 3.1.5.15.

Otherwise, the client MUST be prepared for a higher-layer triggered event to occur.