Patent ID: 9635431
Date: 2017-04-25
CPC Classifications: H04L,H04N

Claim:
1. An apparatus comprising: a client device comprising a processor coupled to a memory and configured to obtain a plurality of playlists for a given item of media content from one or more servers over a network; the playlists comprising at least a sliding-window playlist and an on-demand playlist for the given item of media content with each such playlist identifying a plurality of media segments of the given item of media content; the client device being further configured to play back portions of the given item of media content utilizing respective ones of the sliding-window and on-demand playlists; the client device further comprising: a display screen configured to present media content output; a set of navigational controls associated with the display screen; and an application program stored in the memory and executed by the processor and configured to control playback operations of the client device responsive to activation of particular ones of the navigational controls; wherein the application program implements a navigation state machine that controls switching of the client device between playback of media segments from the sliding-window playlist and playback of media segments from the on-demand playlist responsive to user navigation within a timeline of the given item of media content using one or more of the navigational controls; wherein the navigation state machine comprises a live mode navigation state in which the client device plays back media segments from the sliding-window playlist and an on-demand mode navigation state in which the client device plays back media segments from the on-demand playlist; and wherein responsive to user navigation to a playback point within the timeline that is outside of a time window of the on-demand playlist but inside a specified go-live time window in the on-demand mode navigation state, the navigation state machine transitions from the on-demand mode navigation state to the live mode navigation state.