PortAudio
2.0
|
#include <windows.h>
#include <mmreg.h>
#include <winioctl.h>
#include <ks.h>
#include <ksmedia.h>
#include <stdio.h>
#include "portaudio.h"
#include "pa_util.h"
#include "pa_win_wdmks_utils.h"
Macros | |
#define | WAVE_FORMAT_IEEE_FLOAT 0x0003 |
#define | _WAVEFORMATEXTENSIBLE_ |
#define | _INC_MMREG |
#define | pa_KSDATAFORMAT_TYPE_AUDIO KSDATAFORMAT_TYPE_AUDIO |
#define | pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT KSDATAFORMAT_SUBTYPE_IEEE_FLOAT |
#define | pa_KSDATAFORMAT_SUBTYPE_PCM KSDATAFORMAT_SUBTYPE_PCM |
#define | pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX KSDATAFORMAT_SUBTYPE_WAVEFORMATEX |
#define | pa_KSMEDIUMSETID_Standard KSMEDIUMSETID_Standard |
#define | pa_KSINTERFACESETID_Standard KSINTERFACESETID_Standard |
#define | pa_KSPROPSETID_Pin KSPROPSETID_Pin |
#define | pa_IS_VALID_WAVEFORMATEX_GUID(Guid) (!memcmp(((PUSHORT)&pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1, sizeof(GUID) - sizeof(USHORT))) |
Functions | |
int | PaWin_WDMKS_QueryFilterMaximumChannelCount (void *wcharDevicePath, int isInput) |
#define _INC_MMREG |
#define _WAVEFORMATEXTENSIBLE_ |
#define pa_IS_VALID_WAVEFORMATEX_GUID | ( | Guid | ) | (!memcmp(((PUSHORT)&pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1, sizeof(GUID) - sizeof(USHORT))) |
Referenced by PaWin_WDMKS_QueryFilterMaximumChannelCount().
#define pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT KSDATAFORMAT_SUBTYPE_IEEE_FLOAT |
Referenced by PaWin_WDMKS_QueryFilterMaximumChannelCount().
#define pa_KSDATAFORMAT_SUBTYPE_PCM KSDATAFORMAT_SUBTYPE_PCM |
Referenced by PaWin_WDMKS_QueryFilterMaximumChannelCount().
#define pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX KSDATAFORMAT_SUBTYPE_WAVEFORMATEX |
#define pa_KSDATAFORMAT_TYPE_AUDIO KSDATAFORMAT_TYPE_AUDIO |
Referenced by PaWin_WDMKS_QueryFilterMaximumChannelCount().
#define pa_KSINTERFACESETID_Standard KSINTERFACESETID_Standard |
Referenced by PaWin_WDMKS_QueryFilterMaximumChannelCount().
#define pa_KSMEDIUMSETID_Standard KSMEDIUMSETID_Standard |
Referenced by PaWin_WDMKS_QueryFilterMaximumChannelCount().
#define pa_KSPROPSETID_Pin KSPROPSETID_Pin |
#define WAVE_FORMAT_IEEE_FLOAT 0x0003 |
int PaWin_WDMKS_QueryFilterMaximumChannelCount | ( | void * | wcharDevicePath, |
int | isInput | ||
) |
Query for the maximum number of channels supported by any pin of the specified device. Returns 0 if the query fails for any reason.
wcharDevicePath | A system level PnP interface path, supplied as a WCHAR unicode string. Declard as void* to avoid introducing a dependency on wchar_t here. |
isInput | A flag specifying whether to query for input (non-zero) or output (zero) channels. |
References KSMULTIPLE_ITEM::Count, KSDATAFORMAT::FormatSize, HANDLE(), KSDATAFORMAT_SUBTYPE_WILDCARD, KSINTERFACE_STANDARD_LOOPED_STREAMING, KSINTERFACE_STANDARD_STREAMING, KSMEDIUM_STANDARD_DEVIO, KSPIN_COMMUNICATION_BOTH, KSPIN_COMMUNICATION_SINK, KSPIN_DATAFLOW_IN, KSPIN_DATAFLOW_OUT, KSPROPERTY_PIN_DATARANGES, KSPROPERTY_PIN_INTERFACES, KSPROPERTY_PIN_MEDIUMS, KSDATAFORMAT::MajorFormat, KSDATARANGE_AUDIO::MaximumChannels, pa_IS_VALID_WAVEFORMATEX_GUID, pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, pa_KSDATAFORMAT_SUBTYPE_PCM, pa_KSDATAFORMAT_TYPE_AUDIO, pa_KSINTERFACESETID_Standard, pa_KSMEDIUMSETID_Standard, paNoError, PaUtil_FreeMemory(), and KSDATAFORMAT::SubFormat.