Low latency real-time audio streaming
First Claim
Patent Images
1. A method for audio streaming in a computing device, the method comprising:
- providing an interface to an adapter driver associated with an audio device;
configuring, via the interface by the adapter driver and a wave real-time (WaveRT) port driver associated with the computing device, direct access by a client of the computing device and by the audio device to a cyclic buffer for rendering and/or capturing an audio stream, the direct access being independent of any copying by a port driver on the computer system of the audio stream to any buffer;
monitoring, via the interface to the adapter driver, latency between a write position and a play position in the cyclic buffer, the monitoring not requiring a transition from kernel-mode;
obtaining, via the interface, clock register values; and
synchronizing audio streams between the audio device and a second audio device as a function of the clock register values, the first and second audio devices having respective and unsynchronized hardware clock registers.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for audio streaming in a computing device are described. In one aspect an interface to an adapter driver is provided. The adapter driver is associated with an audio device. The adapter driver and a wave real-time (WaveRT) port driver associated with the computing device use the interface to configure direct access by a client of the computing device and by the audio device to a cyclic buffer. The direct access is for rendering and/or capturing an audio stream. The direct access is independent of any copying by a port driver on the computer system of the audio stream to any buffer.
58 Citations
30 Claims
-
1. A method for audio streaming in a computing device, the method comprising:
-
providing an interface to an adapter driver associated with an audio device; configuring, via the interface by the adapter driver and a wave real-time (WaveRT) port driver associated with the computing device, direct access by a client of the computing device and by the audio device to a cyclic buffer for rendering and/or capturing an audio stream, the direct access being independent of any copying by a port driver on the computer system of the audio stream to any buffer; monitoring, via the interface to the adapter driver, latency between a write position and a play position in the cyclic buffer, the monitoring not requiring a transition from kernel-mode; obtaining, via the interface, clock register values; and synchronizing audio streams between the audio device and a second audio device as a function of the clock register values, the first and second audio devices having respective and unsynchronized hardware clock registers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium having stored thereon computer-program instructions for audio streaming in a computing device, the computer-program instructions being executable by a processor, the computer-program instructions comprising instructions for:
-
providing an interface to an adapter driver associated with an audio device; configuring, via the interface by the adapter driver and a wave real-time (WaveRT) port driver associated with the computing device, direct access by a client of the computing device and by the audio device to a cyclic buffer for rendering and/or capturing an audio stream, the direct access being independent of any copying by a port driver on the computer system of the audio stream to any buffer; monitoring, via the interface to the adapter driver, latency between a write position and a play position in the cyclic buffer, the monitoring not requiring a transition from kernel-mode; obtaining, via the interface, clock register values; and synchronizing audio streams between the audio device and a second audio device as a function of the clock register values, the first and second audio devices having respective and unsynchronized hardware clock registers. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computing device comprising:
-
a processor; and a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor for real-time audio streaming, the computer-program instructions comprising instructions for; providing an interface to an adapter driver associated with an audio device; configuring, via the interface by the adapter driver and a wave real-time (WaveRT) port driver associated with the computing device, direct access by a client of the computing device and by the audio device to a cyclic buffer for rendering and/or capturing an audio stream, the direct access being independent of any copying by a port driver on the computer system of the audio stream to any buffer; monitoring, via the interface to the adapter driver, latency between a write position and a play position in the cyclic buffer, the monitoring not requiring a transition from kernel-mode; obtaining, via the interface, clock register values; and synchronizing audio streams between the audio device and a second audio device as a function of the clock register values, the first and second audio devices having respective and unsynchronized hardware clock registers. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification