Thin Audio Gateway virtual device interface

Thin Audio Gateway is a virtual audio solution similar to Virtual Audio Cable (VAC). While VAC creates virtual audio "pipes" called "virtual cables", to transfer from the playback pin/endpoint to the recording one, Thin Audio Gateway creates independent pins/endpoints and presents them to a host application from the "back side" of normal Windows audio data exchange.

Thin Audio Gateway is a WDM/KS (Kernel Streaming) kernel-mode driver. Once loaded, it creates a pair of waveform audio pins, playback and recording. Windows Audio Subsystem maps the playback pin to a high-level "Speakers" endpoint, and maps the recording pin to the "Microphone" endpoint. Both endpoints are accessible via any high-level audio interface: WASAPI, MME, DirectSound, Media Foundation etc. KS pins can be directly accessed by KS-aware applications supporting RT Audio (WaveRT) protocol.

From the driver's point of view, host application acts like a hardware audio adapter. If the host application is not running, driver pins are
marked as "unplugged". When the host application is started, it connects to the driver, and the pins become ready. For each pin, the driver creates a circular (ring) buffer and maps it into host application's address space.

When an audio client (Windows Audio Subsystem or KS-aware application) connects to a pin to play or record audio, the driver notifies host
application, and then translates each client's request to the application. Host application reads audio data from client's playback buffer or writes data to client's recording buffer directly, with no intermediate buffering. After a portion of data is read or written, host application notifies the driver, and the driver reflects buffer position movement to the client.

Data transfer timing is provided solely by the host application. The driver does not affect the data flow, nor the timing.

Thin Audio Gateway is intended to audio application developers, not to end users. If the application needs to receive sounds played by other applications and/or the system, or provide sounds that can be recorded by other applications, the application connects to the gateway, acting as driver's host application. Due to shared memory data transfer and immediate clocking, ultra-low latencies can be achieved.

For each application developer, a custom version of Thin Audio Gateway is created. The driver and its pins/endpoints are named at the customer's choice.

The product works in Windows Vista and later systems (Windows 7, 8, 8.1, 10 and 11).

For more information, please contact the author.