1. A computer-implemented method, comprising: determining, at a client device, media blocks that are needed for a media presentation; determining a position of one or more forward error correction (FEC) blocks that can be used for recovering missing data in the media blocks; determining one or more FEC files that contain the one or more FEC blocks; transmitting a first request for a first media file that is usable by the client device to provide the media presentation; receiving the first media file; transmitting a second request for a second media file that is usable by the client device to provide additional portions of the media presentation; receiving the second media file prior to completion of receiving the first media file; transmitting a third request for an FEC file that is usable by the client device to recover portions of either the first media file or the second media file not yet received by the client device; and receiving at least a portion of the FEC file prior to completion of receiving the first media file and the second media file.