3.2.5.11 Receiving a LinkViewerToMacStartPlaying Message

The server MUST first follow the steps specified in section 3.2.5.1. Also, the server MUST verify that the LinkViewerToMacStartPlaying message adheres to the syntax specified in section 2.2.4.25.

The server MUST verify that the value of the openFileId field of the LinkViewerToMacStartPlaying message is identical to the value of the File-ID variable.

If the value of the State variable is READY, the server MUST seek to the position in the content specified by the position, asfOffset, and locationId fields, as appropriate. If the value of the State variable is STREAMING, the server MUST ignore the position, asfOffset, and locationId fields.

The server MUST set the value of the Incarnation variable to the value of the playIncarnation field of the LinkViewerToMacReadBlock message.

If the server did not previously receive a LinkViewerToMacStreamSwitch message, and the Client-Version variable indicates that the client is Windows Media Services 4.0 or Windows Media Services 4.1 (as specified in section 2.2.4.17), the server MUST assume that all streams (2) in the content are selected.

Otherwise, if the server did not previously receive a LinkViewerToMacStreamSwitch message, the server MUST assume that none of the streams in the content are selected.

The server MUST send a LinkMacToViewerReportStartedPlaying (section 2.2.4.10) message.

The value of the State variable in the abstract data model MUST be set to STREAMING.

The Idle-Timeout timer MUST be stopped.

After this, the server MUST send the ASF data packets of the current playlist entry, as specified in section 3.2.5.11.1.

If the LinkViewerToMacStartPlaying message includes the dwAccelBandwidth and dwAccelDuration fields, an initial amount of Data packets given by the dwAccelDuration field SHOULD be transmitted at the bit rate given by the dwAccelBandwidth field.<49>