banner art

How Advanced Fast Start works

For Advanced Fast Start to work effectively, adequate bandwidth must be available above the encoded bit rate of a stream. For example, if 1,200 kilobits per second (Kbps) of bandwidth is available for an 800 Kbps stream, Windows Media Player can use an acceleration rate of 1.5 times the encoded bit rate. On the other hand, if no additional bandwidth is available, the Player must fill its buffer before it begins playing a stream and no benefit can be gained from either Advanced Fast Start or Fast Start.

To use Advanced Fast Start, it must be enabled on both Windows Media Player 10 and Windows Media Services because it depends on communication between the two components when the Player initially requests a stream.

Advanced Fast Start requires that the Windows Media server send an accelerated bit rate stream. Therefore, this feature is only available for unicast streaming.

The following process describes how Advanced Fast Start works after the Player sends a request and the server has successfully located the requested content and authorized the Player to receive it:

  1. The server analyzes the content, and calculates the following data for a number of acceleration rates:

    Largest underflow amount. Underflow occurs when the Player renders the data faster than it is being received. When underflow occurs, the Player must stop and buffer more data. Therefore, underflow must be avoided in order to maintain a quality user experience. The largest underflow amount is the largest amount of extra data that the client will require during a given acceleration period to avoid underflow. The higher the acceleration rate and longer the acceleration period, the less likely it is that underflow will occur. The server initially determines a fixed acceleration period.

    Time of underflow. The time that the largest underflow amount occurs.

    The server typically sends the client data at the following acceleration rates: 1.0, 1.2, 1.5, 2.0, and 3.0. For example, the data might show that with an acceleration rate of 1.2, the client will need 150 KB of additional data in its buffer after five seconds to avoid underflow.

  2. The Player calculates the current bandwidth between the client and server, and then requests the most appropriate acceleration rate from the server.
  3. The server streams the content at the requested acceleration rate.
  4. The Player buffers the minimum amount of data, checks to make sure that adequate data has been received, and then begins playing the content. Meanwhile, its buffer continues to fill at the requested acceleration rate.
  5. When its buffer is full, the Player sends a message to the server to end acceleration, and begins streaming at the encoded bit rate.

Related topics

© 2005 Microsoft Corporation. All rights reserved.