Export (0) Print
Expand All

4.9 Streaming, Stopping, and Striding Playback

The following sequence occurs between a client and server when streaming a file and then stopping it, followed by striding and stopping the file again by using either the pipelined or the non-pipelined mode of the protocol.

  1. The client sends a Describe request to retrieve the ASF header.

  2. The server responds with a $H (Header) packet.

  3. The client sends a Play request for the file, selecting one or more streams.

  4. The server responds with a $H (Header) packet and $D (Data) packets.

  5. The client stops streaming.

    Note  When the non-pipelined mode of the protocol is used, the client stops streaming the file by terminating the TCP connection.

    Note  When the pipelined mode of the protocol is used, the client stops streaming by sending the xStopStrm token on a Pragma header in a Stop request to the server.

  6. When the pipelined mode of the protocol is used, the server acknowledges if a Stop request is received.

  7. The client sends a Log request to the server.

  8. The server responds with a confirmation that it received the log.

  9. The client sends a Play request for the same file at any rate, fast-forward or rewind, selecting one or more streams. The client can specify the rate using the rate token on the Pragma header. If this header is not specified, the server assumes that the rate is 1.0.

    Note  Playback rate for a stream can be changed only if the stream supports striding. If striding is supported, the server reports it in the features token on the Pragma header. If $M (Metadata) is present, it overrides the features token on a Pragma header.

  10. The server responds with a $H (Header) packet and $D (Data) packets.

The following figure shows the previously described sequence.

9a178461-80f7-4995-b3f1-2e3da4c79fba

Figure 12: Stream, stop, stride, and stop packet sequencing

 
Show:
© 2014 Microsoft