Patent ID: 8279946

Claim:
A method of decoding a multimedia file using a processor according to usage of said processor, said multimedia file comprising a video data stream including a series of encoded frames and an audio data stream to be played in synchronization with said video data stream as said frames are decoded, said method comprising: at a first periodic interval: determining if a target frame rate for said video data stream can be achieved while meeting a predetermined usage threshold for said processor; if said usage threshold is not met: determining a first scaling factor required to meet said usage threshold; modifying said target frame rate according to said first scaling factor to determine a current frame rate; and decoding subsequent frames at a first modified frame rate while playing said audio data stream therewith; if said usage threshold is met: decoding said frames of said video data stream and playing said video data stream at said target frame rate while playing said audio data stream therewith; and at a second periodic interval which is longer than said first periodic interval: determining if said video data stream and said audio data stream are out of synchronization; if said video data stream and said audio data stream are out of synchronization, determining a second scaling factor to enable said video data stream to resynchronize with said audio data stream; applying said second scaling factor to a current frame rate to determine a second modified frame rate; and if said second modified frame rate exceeds a capped frame rate, decoding subsequent frames at said capped frame rate and not decoding one or more frames scheduled to be decoded within a next time interval.