Patent ID: 7254310

Claim:
In a computing system that receives streaming multimedia data from a data source, the computing system including a backing store configured to store data packets of the multimedia data that can be accessed by at least one reader, wherein the computing system is configured to assign presentation timestamps to the data packets prior to storing the data packets, and wherein the presentation timestamps correspond with a desired presentation of the multimedia data, a method for synchronizing the rate of a system clock that is associated with a reader reading the multimedia data with the rate of a capture graph clock that is used when assigning the presentation timestamps to the data packets of the multimedia data, the method comprising: an act of receiving streaming multimedia data from a data source the streaming multimedia data including a plurality of data packets; an act of assigning presentation timestamps to the plurality of data packets as they are received according to a capture graph clock that is included in the computing system; an act of storing each of the plurality of data packets in the backing store upon assigning presentation timestamps to the data packets; an act, for each data packet that is read from the backing store with a reader, of comparing the presentation timestamp of each data packet with a system clock time that occurs on a system clock when each data packet is read by the reader; an act of using at least one presentation timestamp and at least one system clock time to compute a clock scaling value that can be used to synchronize the rate of the system clock with the rate of the capture graph clock; and an act of using the clock scaling value to adjust the rate for the system clock to the rate of the capture graph clock.