Patent ID: 7620137

Claim:
A method for correcting clock drift associated with a received data stream comprising: storing the data stream in a receive buffer according to a first clock rate; pulling the data stream from the receive buffer according to a second clock rate, wherein pulling the data stream from the receive buffer according to the second clock rate is initially delayed according to a pre-roll delay that corresponds to an optimal buffer depth; processing the data stream pulled from the receive buffer with a filter graph to render and output the data stream; estimating a buffer depth fill rate associated with the receive buffer in response to a rate of change and an intersect of a series of instantaneous receive buffer depths; estimating a clock drift from the estimated buffer depth fill; determining a clock rate adjustment level associated with the estimated clock drift; and adjusting the second clock rate associated with rendering the received data stream according to the clock rate adjustment level in response to the rate of change and intersect of the series of instantaneous receive buffer depths, such that the adjustment compensates for the clock drift and converges on a selected buffer depth responsive to the rate of change and intersect of the series of instantaneous receive buffer depths.