Patent attributes
An application and audio driver communicate audio data via a ring buffer using a system interface. An application reads or writes data from the buffer in a unit of data. Positions within the buffer correspond to a particular time. To write data to the buffer at a particular position in the buffer that corresponds to a particular time, an application is awaken a period of time (“client-side offset”) before the driver reaches the position. The period of time is computed based on a variety factors. One factor is the amount of time the system interface assumes an application uses to write the unit of data to the buffer. For operations that entail the application inserting data into the buffer, the application may specify a weight value to apply to the factor to reduce it and the latency period.