Using a plurality of buffers to provide audio for synchronized playback to multiple audio devices having separate device clocks
AssigneeApple Inc.
InventorsJeffrey C. Moore, William G. Stewart, Gerhard Lengeling
Life of this patent
Estimating the term…
Abstract
According to one embodiment, a media system communicates with an aggregate device that includes multiple media output devices. When providing media data for presentation, the system adjusts for device clock drift by resampling the media data provided to a media output device based at least in part on a device clock rate difference between a device clock of one of the media output devices and a device clock of another of the media output devices.
Claims18
A method for providing audio data to multiple audio output devices, the method comprising:
- writing audio data into a plurality of buffers associated with a plurality of audio output devices, the plurality of audio output devices having separate device clocks;
- determining a difference between a device clock rate of a first audio output device of the plurality of audio output devices and a device clock rate of a second audio output device of the plurality of audio output devices;
- resampling audio data to be written into a buffer of the plurality of buffers based at least in part on said difference;
- wherein the method is performed by a computing device.
A system comprising:
- one or more processors;
- a plurality of buffers corresponding to a plurality of audio devices, the plurality of audio devices having separate device clocks;
- and a system-side handling input/output unit configured to:
- write audio data into the plurality of buffers, determine a difference between a device clock rate of a first audio device of the plurality of audio devices and a device clock rate of a second audio device of the plurality of audio devices, and resample audio data to be written into a buffer of the plurality of buffers based at least in part on said difference.
One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of operations including:
- writing audio data into a plurality of buffers associated with a plurality of audio output devices, the plurality of audio output devices having separate device clocks;
- determining a difference between a device clock rate of a first audio output device of the plurality of audio output devices and a device clock rate of a second audio output device of the plurality of audio output devices;
- resampling audio data to be written into a buffer of the plurality of buffers based at least in part on said difference.
Dependencies are inferred from the claim text.