Patent ID: 8886762

Claim:
A computer-implemented method, comprising: receiving streaming content from a server; storing and queuing a portion of the content stream for playback at a client-side display device; receiving, from the server and in response to a request, and in a communication that is separate from the content stream, intermediate duration information corresponding to a duration of the content stream available to be streamed from the server at a time of the request; calculating, at a client-side application, an estimated current duration of the content stream based on the intermediate duration information, wherein the estimated current duration is calculated without obtaining additional duration information from the server beyond the intermediate duration information, and wherein the estimated current duration is greater than the duration of the content stream available to be streamed from the server at the time of the request; wherein calculating the estimated current duration at the client-side application comprises: (a) setting a timestamp associated with the content stream, the timestamp representing a time that the intermediate duration information is received from the server; (b) identifying a current client-side system time associated with a system timer; (c) determining a difference between the current client-side system time and the time represented by the timestamp; (d) adding to the determined difference the intermediate duration information; and (e) storing a result of performing (a), (b), (c) and (d) as the estimated current duration; generating a timeline control based on the estimated current duration, the timeline control presenting a representation of the estimated current duration and allowing navigation forward and backward in the content stream; and displaying the timeline control at the client-side display device.