Patent ID: 8442126

Claim:
A computer-implemented method for synchronizing video and audio content, the method comprising: receiving a stream that represents (a) one or more frames and (b) one or more audio samples that at least partially correspond to the one or more video frames; and for each video frame of the one or more video frames, outputting at least (a) a first data structure that refers to a location in memory of the video frame, and (b) a second data structure that refers to a location in memory of an audio sample, of the one or more audio samples, that at least partially corresponds to the video frame; wherein both the first data structure and the second data structure indicate a time at which both the video frame and the audio sample should be presented; wherein the one or more video frames, which are represented in the stream, include a particular video frame; wherein the step of outputting includes: outputting a particular first data structure that refers to the location in memory of the particular video frame, and outputting a particular second data structure that refers to the location in memory of a particular audio sample that at least partially corresponds to the particular video frame; sending the particular first data structure that refers to the particular video frame to a thread that performs an operation on the particular video frame without sending the particular video frame to the thread; wherein the thread accesses the particular video frame from the memory based on the location indicated in the particular first data structure for the particular video frame; after the thread performs the operation on the particular video frame, sending the particular first data structure to a file writing module that writes the particular video frame to an output file; wherein the method is performed by one or more computing devices.