Provided is a method for caching a media stream such as a television
channel or a radio station such that a viewer or listener may receive an
entire programming segment regardless of when in the segment the stream
is accessed. The beginning of a segment is recalled, or downloaded, to a
local cache during a switch to the channel transmitting the segment and
associated with a playback marker. The segment is also cached as the
segment is transmitted. The user views the segment from the beginning,
first from the cache downloaded when the channel is switched and, then,
from the local cache stored as the programmed is viewed. In the case of
broadcast media, a number of streams are designated as monitored streams.
The programming on monitored streams is segmented into programs or
smaller segments and the segments are cached on local memory as the
programs are broadcast.