pa_win_wdmks.c File Reference
Portaudio WDM-KS host API.
More...
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "pa_util.h"
#include "pa_allocation.h"
#include "pa_hostapi.h"
#include "pa_stream.h"
#include "pa_cpuload.h"
#include "pa_process.h"
#include "portaudio.h"
#include "pa_debugprint.h"
#include <windows.h>
#include <winioctl.h>
#include <ks.h>
#include <ksmedia.h>
#include <tchar.h>
#include <setupapi.h>
Detailed Description
Portaudio WDM-KS host API.
- Note:
- This is the implementation of the Portaudio host API using the Windows WDM/Kernel Streaming API in order to enable very low latency playback and recording on all modern Windows platforms (e.g. 2K, XP) Note: This API accesses the device drivers below the usual KMIXER component which is normally used to enable multi-client mixing and format conversion. That means that it will lock out all other users of a device for the duration of active stream using those devices
Define Documentation
Typedef Documentation
typedef KSDDKAPI DWORD WINAPI KSCREATEPIN(HANDLE, PKSPIN_CONNECT, ACCESS_MASK, PHANDLE) |
Function Documentation
References __PaWinWdmHostApiRepresentation::allocations, __PaWinWdmFilter::bestSampleRate, __PaWinWdmHostApiRepresentation::blockingStreamInterface, __PaWinWdmHostApiRepresentation::callbackStreamInterface, PaDeviceInfo::defaultHighInputLatency, PaDeviceInfo::defaultHighOutputLatency, PaDeviceInfo::defaultLowInputLatency, PaDeviceInfo::defaultLowOutputLatency, PaDeviceInfo::defaultSampleRate, DllKsUser, __PaWinWdmDeviceInfo::filter, __PaWinWdmHostApiRepresentation::filterCount, __PaWinWdmHostApiRepresentation::filters, __PaWinWdmFilter::friendlyName, FunctionKsCreatePin, GetStreamReadAvailable(), GetStreamWriteAvailable(), PaDeviceInfo::hostApi, PaUtilHostApiRepresentation::info, __PaWinWdmDeviceInfo::inheritedDeviceInfo, __PaWinWdmHostApiRepresentation::inheritedHostApiRep, __PaWinWdmFilter::maxInputChannels, PaDeviceInfo::maxInputChannels, __PaWinWdmFilter::maxOutputChannels, PaDeviceInfo::maxOutputChannels, PaDeviceInfo::name, PA_DEBUG, PA_LOGE_, PA_LOGL_, paInsufficientMemory, paNoDevice, paNoError, PaUtil_AllocateMemory(), PaUtil_CreateAllocationGroup(), PaUtil_DestroyAllocationGroup(), PaUtil_DummyGetCpuLoad(), PaUtil_DummyGetReadAvailable(), PaUtil_DummyGetWriteAvailable(), PaUtil_DummyRead(), PaUtil_DummyWrite(), PaUtil_FreeAllAllocations(), PaUtil_FreeMemory(), PaUtil_GroupAllocateMemory(), PaUtil_InitializeStreamInterface(), paWDMKS, ReadStream(), PaDeviceInfo::structVersion, PaHostApiInfo::structVersion, and WriteStream().
Variable Documentation