<?xml version="1.0" encoding="Windows-1252"?>\r
<VisualStudioProject\r
ProjectType="Visual C++"\r
- Version="8.00"\r
+ Version="8,00"\r
Name="portaudio"\r
ProjectGUID="{0A18A071-125E-442F-AFF7-A3F68ABECF99}"\r
+ RootNamespace="portaudio"\r
>\r
<Platforms>\r
<Platform\r
Name="VCCLCompilerTool"\r
Optimization="2"\r
InlineFunctionExpansion="1"\r
- AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win"\r
+ EnableIntrinsicFunctions="true"\r
+ FavorSizeOrSpeed="1"\r
+ AdditionalIncludeDirectories="..\..\src\common;..\..\include;.\;..\..\src\os\win"\r
PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO"\r
StringPooling="true"\r
RuntimeLibrary="2"\r
OutputFile="$(PlatformName)\$(ConfigurationName)\portaudio_x86.dll"\r
LinkIncremental="1"\r
SuppressStartupBanner="true"\r
+ AdditionalLibraryDirectories=""\r
ModuleDefinitionFile=".\portaudio.def"\r
ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\portaudio_x86.pdb"\r
ImportLibrary="$(PlatformName)\$(ConfigurationName)\portaudio_x86.lib"\r
Name="VCCLCompilerTool"\r
Optimization="2"\r
InlineFunctionExpansion="1"\r
- AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win"\r
- PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO"\r
+ EnableIntrinsicFunctions="true"\r
+ FavorSizeOrSpeed="1"\r
+ AdditionalIncludeDirectories="..\..\src\common;..\..\include;.\;..\..\src\os\win"\r
+ PreprocessorDefinitions="_WIN64;NDEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO;PA_WDMKS_NO_KSGUID_LIB"\r
StringPooling="true"\r
RuntimeLibrary="2"\r
EnableFunctionLevelLinking="true"\r
OutputFile="$(PlatformName)\$(ConfigurationName)\portaudio_x64.dll"\r
LinkIncremental="1"\r
SuppressStartupBanner="true"\r
+ AdditionalLibraryDirectories=""\r
ModuleDefinitionFile=".\portaudio.def"\r
ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)/portaudio_x64.pdb"\r
ImportLibrary="$(PlatformName)\$(ConfigurationName)/portaudio_x64.lib"\r
<Tool\r
Name="VCCLCompilerTool"\r
Optimization="0"\r
- AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win"\r
+ AdditionalIncludeDirectories="..\..\src\common;..\..\include;.\;..\..\src\os\win"\r
PreprocessorDefinitions="WIN32;_DEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO"\r
MinimalRebuild="true"\r
BasicRuntimeChecks="3"\r
Name="VCCLCompilerTool"\r
Optimization="0"\r
AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win"\r
- PreprocessorDefinitions="WIN32;_DEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO"\r
+ PreprocessorDefinitions="_WIN64;_DEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO;PA_WDMKS_NO_KSGUID_LIB"\r
MinimalRebuild="true"\r
BasicRuntimeChecks="3"\r
RuntimeLibrary="3"\r
PreprocessorDefinitions=""\r
/>\r
</FileConfiguration>\r
-\r
<FileConfiguration\r
Name="Debug|x64"\r
>\r
>\r
<FileConfiguration\r
Name="Release|Win32"\r
+ ExcludedFromBuild="true"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
</FileConfiguration>\r
<FileConfiguration\r
Name="Release|x64"\r
+ ExcludedFromBuild="true"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
</FileConfiguration>\r
<FileConfiguration\r
Name="Debug|Win32"\r
+ ExcludedFromBuild="true"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
</FileConfiguration>\r
<FileConfiguration\r
Name="Debug|x64"\r
+ ExcludedFromBuild="true"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
#include "pa_util.h"\r
#include "pa_win_wdmks_utils.h"\r
\r
+\r
+#ifndef PA_WDMKS_NO_KSGUID_LIB\r
+\r
#if (defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER >= 1200))) /* MSC version 6 and above */\r
#pragma comment( lib, "ksguid.lib" )\r
#endif\r
\r
+#define pa_KSDATAFORMAT_TYPE_AUDIO KSDATAFORMAT_TYPE_AUDIO\r
+#define pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT KSDATAFORMAT_SUBTYPE_IEEE_FLOAT\r
+#define pa_KSDATAFORMAT_SUBTYPE_PCM KSDATAFORMAT_SUBTYPE_PCM\r
+#define pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX KSDATAFORMAT_SUBTYPE_WAVEFORMATEX\r
+#define pa_KSMEDIUMSETID_Standard KSMEDIUMSETID_Standard\r
+#define pa_KSINTERFACESETID_Standard KSINTERFACESETID_Standard\r
+#define pa_KSPROPSETID_Pin KSPROPSETID_Pin\r
+\r
+#else\r
+\r
+static const GUID pa_KSDATAFORMAT_TYPE_AUDIO = { STATIC_KSDATAFORMAT_TYPE_AUDIO };\r
+static const GUID pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT = { STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT };\r
+static const GUID pa_KSDATAFORMAT_SUBTYPE_PCM = { STATIC_KSDATAFORMAT_SUBTYPE_PCM };\r
+static const GUID pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX = { STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX };\r
+static const GUID pa_KSMEDIUMSETID_Standard = { STATIC_KSMEDIUMSETID_Standard };\r
+static const GUID pa_KSINTERFACESETID_Standard = { STATIC_KSINTERFACESETID_Standard };\r
+static const GUID pa_KSPROPSETID_Pin = { STATIC_KSPROPSETID_Pin };\r
+\r
+#endif\r
+\r
+\r
+#define pa_IS_VALID_WAVEFORMATEX_GUID(Guid)\\r
+ (!memcmp(((PUSHORT)&pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1, sizeof(GUID) - sizeof(USHORT)))\r
+\r
+\r
+\r
static PaError WdmGetPinPropertySimple(\r
HANDLE handle,\r
unsigned long pinId,\r
{\r
DWORD bytesReturned;\r
KSP_PIN ksPProp;\r
- ksPProp.Property.Set = KSPROPSETID_Pin;\r
+ ksPProp.Property.Set = pa_KSPROPSETID_Pin;\r
ksPProp.Property.Id = property;\r
ksPProp.Property.Flags = KSPROPERTY_TYPE_GET;\r
ksPProp.PinId = pinId;\r
\r
*ksMultipleItem = 0;\r
\r
- ksPProp.Property.Set = KSPROPSETID_Pin;\r
+ ksPProp.Property.Set = pa_KSPROPSETID_Pin;\r
ksPProp.Property.Id = property;\r
ksPProp.Property.Flags = KSPROPERTY_TYPE_GET;\r
ksPProp.PinId = pinId;\r
int PaWin_WDMKS_QueryFilterMaximumChannelCount( void *wcharDevicePath, int isInput )\r
{\r
HANDLE deviceHandle;\r
- int pinCount, pinId, i;\r
+ ULONG i;\r
+ int pinCount, pinId;\r
int result = 0;\r
KSPIN_DATAFLOW requiredDataflowDirection = (isInput ? KSPIN_DATAFLOW_OUT : KSPIN_DATAFLOW_IN );\r
\r
(( communication == KSPIN_COMMUNICATION_SINK) ||\r
( communication == KSPIN_COMMUNICATION_BOTH)) \r
&& ( KSFilterPinPropertyIdentifiersInclude( deviceHandle, pinId, \r
- KSPROPERTY_PIN_INTERFACES, &KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING )\r
+ KSPROPERTY_PIN_INTERFACES, &pa_KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING )\r
|| KSFilterPinPropertyIdentifiersInclude( deviceHandle, pinId, \r
- KSPROPERTY_PIN_INTERFACES, &KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_LOOPED_STREAMING ) )\r
+ KSPROPERTY_PIN_INTERFACES, &pa_KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_LOOPED_STREAMING ) )\r
&& KSFilterPinPropertyIdentifiersInclude( deviceHandle, pinId, \r
- KSPROPERTY_PIN_MEDIUMS, &KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD_DEVIO ) )\r
+ KSPROPERTY_PIN_MEDIUMS, &pa_KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD_DEVIO ) )\r
{\r
KSMULTIPLE_ITEM* item = NULL;\r
if( WdmGetPinPropertyMulti( deviceHandle, pinId, KSPROPERTY_PIN_DATARANGES, &item ) == paNoError )\r
\r
for( i=0; i < item->Count; ++i ){\r
\r
- if( IS_VALID_WAVEFORMATEX_GUID(&dataRange->SubFormat)\r
- || memcmp( (void*)&dataRange->SubFormat, (void*)&KSDATAFORMAT_SUBTYPE_PCM, sizeof(GUID) ) == 0\r
- || memcmp( (void*)&dataRange->SubFormat, (void*)&KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, sizeof(GUID) ) == 0\r
- || ( ( memcmp( (void*)&dataRange->MajorFormat, (void*)&KSDATAFORMAT_TYPE_AUDIO, sizeof(GUID) ) == 0 )\r
+ if( pa_IS_VALID_WAVEFORMATEX_GUID(&dataRange->SubFormat)\r
+ || memcmp( (void*)&dataRange->SubFormat, (void*)&pa_KSDATAFORMAT_SUBTYPE_PCM, sizeof(GUID) ) == 0\r
+ || memcmp( (void*)&dataRange->SubFormat, (void*)&pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, sizeof(GUID) ) == 0\r
+ || ( ( memcmp( (void*)&dataRange->MajorFormat, (void*)&pa_KSDATAFORMAT_TYPE_AUDIO, sizeof(GUID) ) == 0 )\r
&& ( memcmp( (void*)&dataRange->SubFormat, (void*)&KSDATAFORMAT_SUBTYPE_WILDCARD, sizeof(GUID) ) == 0 ) ) )\r
{\r
KSDATARANGE_AUDIO *dataRangeAudio = (KSDATARANGE_AUDIO*)dataRange;\r