A method comprising: providing, by a computing device, a manifest for a media program to a client, the manifest including a set of bitrate representation links that correspond to a set of bitrates; maintaining, by the computing device, a pointer to a current segment or a chunk of the current segment that is currently being presented in the media program; receiving, by the computing device, a request using a bitrate representation link in the set of bitrate representation links; selecting, by the computing device, the current segment or the chunk of the current segment using the pointer for the bitrate that corresponds to the bitrate representation; sending, by the computing device, current segment or the chunk of the current segment to the client; continuing to send subsequent media segments after receiving the request until another request from the client is received, wherein the another request is a request to stop sending the media segments at the bitrate; wherein: the bitrate comprises a first bitrate, and the bitrate representation link comprises a first bitrate representation link, and the another request is sent using a second bitrate representation link that corresponds to a second bitrate that is different from the first bitrate; the method further comprising: switching, by the computing device, to the second bitrate when the second bitrate representation link is received; and waiting, by the computing device, until a segment boundary in the media program is encountered to switch to the second bitrate, wherein at least the current segment in the first bitrate is sent to the client before switching to a next current segment in the second bitrate. providing, by a computing device, a manifest for a media program to a client, the manifest including a set of bitrate representation links that correspond to a set of bitrates; maintaining, by the computing device, a pointer to a current segment or a chunk of the current segment that is currently being presented in the media program; receiving, by the computing device, a request using a bitrate representation link in the set of bitrate representation links; selecting, by the computing device, the current segment or the chunk of the current segment using the pointer for the bitrate that corresponds to the bitrate representation; sending, by the computing device, current segment or the chunk of the current segment to the client; continuing to send subsequent media segments after receiving the request until another request from the client is received, wherein the another request is a request to stop sending the media segments at the bitrate; wherein: the bitrate comprises a first bitrate, and the bitrate representation link comprises a first bitrate representation link, and the another request is sent using a second bitrate representation link that corresponds to a second bitrate that is different from the first bitrate; the method further comprising: switching, by the computing device, to the second bitrate when the second bitrate representation link is received; and waiting, by the computing device, until a segment boundary in the media program is encountered to switch to the second bitrate, wherein at least the current segment in the first bitrate is sent to the client before switching to a next current segment in the second bitrate. the bitrate comprises a first bitrate, and the bitrate representation link comprises a first bitrate representation link, and the another request is sent using a second bitrate representation link that corresponds to a second bitrate that is different from the first bitrate; the method further comprising: switching, by the computing device, to the second bitrate when the second bitrate representation link is received; and waiting, by the computing device, until a segment boundary in the media program is encountered to switch to the second bitrate, wherein at least the current segment in the first bitrate is sent to the client before switching to a next current segment in the second bitrate. switching, by the computing device, to the second bitrate when the second bitrate representation link is received; and waiting, by the computing device, until a segment boundary in the media program is encountered to switch to the second bitrate, wherein at least the current segment in the first bitrate is sent to the client before switching to a next current segment in the second bitrate.