Patent ID: 7317867

Claim:
A method of managing an input buffer in a media player for playing a media file, the media file comprising a stream of frames, each frame having at least a main_data field containing encoded media samples and a main_data_begin field indicating an overflow of the main_data field, the media player including a parser, an input buffer, a decoder, and a totalizer, the parser is capable of parsing the stream of frames to the decoder and informing the decoder whether to decode from the beginning of the media file, or from the middle of the media file, the method comprising: if the decoder is informed to decode from the middle of the media file, then: locating a first frame having a first main_data_begin field and a first main_data field, if a value in the totalizer is less than a value in the first main_data_begin field, adding a size of the first main_data field to the totalizer, and storing the first main_data field in the input buffer; and locating a second frame which is downstream to the first frame, the second frame having a second main_data_begin field and a second main_data field, if a value in the totalizer is equal to or larger than a value in the second main_data_begin field, decoding the stream of frames starting from the second frame using both the first main_data field stored in the input buffer and the second main_data field; and if the decoder is informed to decode from the beginning of the media file, then locating a third frame having a third main_data_begin field with a value of zero and a third main_data field, and decoding the stream of frames starting from the third frame.