A method comprising: receiving a plurality of media data file portions on a client electronic device from a remote distribution server computer, wherein each media data file portion is an initial chronological portion of a larger media data file and is associated with a media data stream of a residual chronological portion of the larger media data file; allowing a user to select a previously received specific media data file portion for rendering, wherein the specific media data file portion is chosen from the plurality of media data file portions and wherein a rendering time of the specific media data file portion is at least as long as an anticipated time required to obtain a specific media data stream associated with the specific media data file portion from an on-demand media server computer; upon the user selecting the specific media data file portion, rendering at least a portion of the specific media data file portion and obtaining at least a portion of the specific media data stream and rendering at least a portion of the previously obtained specific media data stream; wherein said rendering at least a portion of the specific media data file portion and at least a portion of the specific media data stream includes: processing the specific media data file portion to generate a first normalized packetized stream; processing the specific media data stream to generate a second normalized packetized stream; and combining, using a packet loss tolerant stitching algorithm, at least a portion of the first normalized packetized stream and at least a portion of the second normalized packetized stream to generate a loss-compensated media data stream, wherein missing packets are skipped in the loss-compensated media data stream. receiving a plurality of media data file portions on a client electronic device from a remote distribution server computer, wherein each media data file portion is an initial chronological portion of a larger media data file and is associated with a media data stream of a residual chronological portion of the larger media data file; allowing a user to select a previously received specific media data file portion for rendering, wherein the specific media data file portion is chosen from the plurality of media data file portions and wherein a rendering time of the specific media data file portion is at least as long as an anticipated time required to obtain a specific media data stream associated with the specific media data file portion from an on-demand media server computer; upon the user selecting the specific media data file portion, rendering at least a portion of the specific media data file portion and obtaining at least a portion of the specific media data stream and rendering at least a portion of the previously obtained specific media data stream; wherein said rendering at least a portion of the specific media data file portion and at least a portion of the specific media data stream includes: processing the specific media data file portion to generate a first normalized packetized stream; processing the specific media data stream to generate a second normalized packetized stream; and combining, using a packet loss tolerant stitching algorithm, at least a portion of the first normalized packetized stream and at least a portion of the second normalized packetized stream to generate a loss-compensated media data stream, wherein missing packets are skipped in the loss-compensated media data stream. processing the specific media data file portion to generate a first normalized packetized stream; processing the specific media data stream to generate a second normalized packetized stream; and combining, using a packet loss tolerant stitching algorithm, at least a portion of the first normalized packetized stream and at least a portion of the second normalized packetized stream to generate a loss-compensated media data stream, wherein missing packets are skipped in the loss-compensated media data stream.