Patent ID: 7711841

Claim:
A method for reducing effects of network and other variations on playback of media being streamed from a streaming server, the method comprising: defining a lower limit for a level of a streaming buffer; receiving a media stream from a streaming media server as a stream of media data; playing back the media stream from the streaming buffer at a playback rate; monitoring the level of the streaming buffer during the playback of the media file to determine whether the level of the streaming buffer is below the lower limit; and if it is determined that the level of the streaming buffer is below the lower limit, setting the playback rate at a value that is less than an intended playback rate for the media stream, wherein the value of the set playback rate depends on the level of the streaming buffer; wherein defining the lower limit for the level of the streaming buffer comprises evaluating a slow playback condition, and wherein the slow playback condition comprises a margin for the streaming buffer, and wherein the slow playback condition is given by: ( B ( t )+ tli−tfi )<( B Target +T−B L margin ) wherein B(t) is the level of the streaming buffer at time t, wherein (tli−tfi) indicates how much media data was added to the streaming buffer between time t and time t+T, wherein B Target is a target level for the streaming buffer, wherein T is a period of time, and wherein B L margin is the margin for the streaming buffer.