Abstract:
A client device presents streaming media and includes a stream manager for controlling streams, a request accelerator for making network requests for content, a source component coupled to the stream manager and the request accelerator for determining which requests to make, a network connection, and a media player. A process for rate estimation is provided that will react quickly to reception rate changes. The rate estimator can use an adaptive windowed average and take into account the video buffer level and the change in video buffer level in a way so to guarantee that the rate adjusts fast enough if there is a need, while keeping the windowing width large (and thus the measurement variance) large. A guarantee might be that when a rate drop or rise happens, the estimator adjusts its estimate within a time proportional to a buffer drain rate or buffer fill level.
Abstract:
A client device presents streaming media and includes a stream manager, a request accelerator, and a source component coupled to the stream manager and the request accelerator for determining which requests to make. A rate selection process can make rate decisions so that the buffer is filled when it is low, avoiding erratically changing rates and can choose the correct steady rate quickly. Multimedia download strategies can be used for HTTP that allow for accurate rate estimations, achieving link capacity even if network delays and packet loss rates are high, achieving timely delivery of the stream, and achieving relatively steady download rates with little short term variability. A receiver might use multiple HTTP connections, decompose media requests into smaller chunk requests, synchronize the connections using TCP flow control mechanisms, and request data in bursts. In addition, the receiver might use an HTTP pipelining process to keep the connections busy.
Abstract:
A client/receiver downloads data over a network path between a source and the receiver coupled by the network path and stores the media data in a presentation buffer of the receiver and from there it is consumed by a presentation element. The receiver monitors a presentation buffer fill level that represents what portion of the presentation buffer contains media data not yet consumed by a presentation element. The receiver makes requests for additional data to download. If the fill level is above a high fill threshold, the receiver does not make further requests and eventually the fill level goes down. If the fill level is below a low fill threshold, the receiver restarts the downloading and updates the fill level as media data is consumed by the presentation element. The fill level might be measured in units of memory storage capacity and/or units of presentation time.