Changeset 1454


Ignore:
Timestamp:
02/16/10 06:18:52 (5 months ago)
Author:
dmitrykos
Message:

provided ability not to depend on ksguid.lib when using WDMKS as it may not be provided for x64 SDK by default, define PA_WDMKS_NO_KSGUID_LIB to use static declarations, x64 MSVC project corrected to define PA_WDMKS_NO_KSGUID_LIB for x64 compilations. added WASAPI symbols to portaudio.def.

Location:
portaudio/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • portaudio/trunk/build/msvc/portaudio.def

    r1117 r1454  
    4242PaAsio_GetOutputChannelName         @54 
    4343PaUtil_SetDebugPrintFunction        @55 
     44PaWasapi_GetDeviceDefaultFormat     @56 
     45PaWasapi_GetDeviceRole              @57 
     46PaWasapi_ThreadPriorityBoost        @58 
     47PaWasapi_ThreadPriorityRevert       @59 
  • portaudio/trunk/build/msvc/portaudio.vcproj

    r1365 r1454  
    22<VisualStudioProject 
    33        ProjectType="Visual C++" 
    4         Version="8.00" 
     4        Version="8,00" 
    55        Name="portaudio" 
    66        ProjectGUID="{0A18A071-125E-442F-AFF7-A3F68ABECF99}" 
     7        RootNamespace="portaudio" 
    78        > 
    89        <Platforms> 
     
    5152                                Optimization="2" 
    5253                                InlineFunctionExpansion="1" 
    53                                 AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win" 
     54                                EnableIntrinsicFunctions="true" 
     55                                FavorSizeOrSpeed="1" 
     56                                AdditionalIncludeDirectories="..\..\src\common;..\..\include;.\;..\..\src\os\win" 
    5457                                PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO" 
    5558                                StringPooling="true" 
     
    8083                                LinkIncremental="1" 
    8184                                SuppressStartupBanner="true" 
     85                                AdditionalLibraryDirectories="" 
    8286                                ModuleDefinitionFile=".\portaudio.def" 
    8387                                ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\portaudio_x86.pdb" 
     
    146150                                Optimization="2" 
    147151                                InlineFunctionExpansion="1" 
    148                                 AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win" 
    149                                 PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO" 
     152                                EnableIntrinsicFunctions="true" 
     153                                FavorSizeOrSpeed="1" 
     154                                AdditionalIncludeDirectories="..\..\src\common;..\..\include;.\;..\..\src\os\win" 
     155                                PreprocessorDefinitions="_WIN64;NDEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO;PA_WDMKS_NO_KSGUID_LIB" 
    150156                                StringPooling="true" 
    151157                                RuntimeLibrary="2" 
     
    175181                                LinkIncremental="1" 
    176182                                SuppressStartupBanner="true" 
     183                                AdditionalLibraryDirectories="" 
    177184                                ModuleDefinitionFile=".\portaudio.def" 
    178185                                ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)/portaudio_x64.pdb" 
     
    240247                                Name="VCCLCompilerTool" 
    241248                                Optimization="0" 
    242                                 AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win" 
     249                                AdditionalIncludeDirectories="..\..\src\common;..\..\include;.\;..\..\src\os\win" 
    243250                                PreprocessorDefinitions="WIN32;_DEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO" 
    244251                                MinimalRebuild="true" 
     
    337344                                Optimization="0" 
    338345                                AdditionalIncludeDirectories="..\..\src\common,..\..\include,.\,..\..\src\os\win" 
    339                                 PreprocessorDefinitions="WIN32;_DEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO" 
     346                                PreprocessorDefinitions="_WIN64;_DEBUG;_USRDLL;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PAWIN_USE_WDMKS_DEVICE_INFO;PA_WDMKS_NO_KSGUID_LIB" 
    340347                                MinimalRebuild="true" 
    341348                                BasicRuntimeChecks="3" 
     
    720727                                                /> 
    721728                                        </FileConfiguration> 
    722  
    723729                                        <FileConfiguration 
    724730                                                Name="Debug|x64" 
     
    946952                                                        <FileConfiguration 
    947953                                                                Name="Release|Win32" 
     954                                                                ExcludedFromBuild="true" 
    948955                                                                > 
    949956                                                                <Tool 
     
    955962                                                        <FileConfiguration 
    956963                                                                Name="Release|x64" 
     964                                                                ExcludedFromBuild="true" 
    957965                                                                > 
    958966                                                                <Tool 
     
    964972                                                        <FileConfiguration 
    965973                                                                Name="Debug|Win32" 
     974                                                                ExcludedFromBuild="true" 
    966975                                                                > 
    967976                                                                <Tool 
     
    973982                                                        <FileConfiguration 
    974983                                                                Name="Debug|x64" 
     984                                                                ExcludedFromBuild="true" 
    975985                                                                > 
    976986                                                                <Tool 
  • portaudio/trunk/src/os/win/pa_win_wdmks_utils.c

    r1439 r1454  
    4646#include "pa_win_wdmks_utils.h" 
    4747 
     48 
     49#ifndef PA_WDMKS_NO_KSGUID_LIB 
     50 
    4851#if (defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER >= 1200))) /* MSC version 6 and above */ 
    4952#pragma comment( lib, "ksguid.lib" ) 
    5053#endif 
     54 
     55#define pa_KSDATAFORMAT_TYPE_AUDIO            KSDATAFORMAT_TYPE_AUDIO 
     56#define pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT    KSDATAFORMAT_SUBTYPE_IEEE_FLOAT 
     57#define pa_KSDATAFORMAT_SUBTYPE_PCM           KSDATAFORMAT_SUBTYPE_PCM 
     58#define pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX  KSDATAFORMAT_SUBTYPE_WAVEFORMATEX 
     59#define pa_KSMEDIUMSETID_Standard             KSMEDIUMSETID_Standard 
     60#define pa_KSINTERFACESETID_Standard          KSINTERFACESETID_Standard 
     61#define pa_KSPROPSETID_Pin                    KSPROPSETID_Pin 
     62 
     63#else 
     64 
     65static const GUID pa_KSDATAFORMAT_TYPE_AUDIO            = { STATIC_KSDATAFORMAT_TYPE_AUDIO }; 
     66static const GUID pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT    = { STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT }; 
     67static const GUID pa_KSDATAFORMAT_SUBTYPE_PCM           = { STATIC_KSDATAFORMAT_SUBTYPE_PCM }; 
     68static const GUID pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX  = { STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX }; 
     69static const GUID pa_KSMEDIUMSETID_Standard             = { STATIC_KSMEDIUMSETID_Standard }; 
     70static const GUID pa_KSINTERFACESETID_Standard          = { STATIC_KSINTERFACESETID_Standard }; 
     71static const GUID pa_KSPROPSETID_Pin                    = { STATIC_KSPROPSETID_Pin }; 
     72 
     73#endif 
     74 
     75 
     76#define pa_IS_VALID_WAVEFORMATEX_GUID(Guid)\ 
     77    (!memcmp(((PUSHORT)&pa_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1, ((PUSHORT)(Guid)) + 1, sizeof(GUID) - sizeof(USHORT))) 
     78 
     79 
    5180 
    5281static PaError WdmGetPinPropertySimple( 
     
    5988    DWORD bytesReturned; 
    6089    KSP_PIN ksPProp; 
    61     ksPProp.Property.Set = KSPROPSETID_Pin; 
     90    ksPProp.Property.Set = pa_KSPROPSETID_Pin; 
    6291    ksPProp.Property.Id = property; 
    6392    ksPProp.Property.Flags = KSPROPERTY_TYPE_GET; 
     
    89118    *ksMultipleItem = 0; 
    90119 
    91     ksPProp.Property.Set = KSPROPSETID_Pin; 
     120    ksPProp.Property.Set = pa_KSPROPSETID_Pin; 
    92121    ksPProp.Property.Id = property; 
    93122    ksPProp.Property.Flags = KSPROPERTY_TYPE_GET; 
     
    189218{ 
    190219    HANDLE deviceHandle; 
    191     int pinCount, pinId, i; 
     220        ULONG i; 
     221    int pinCount, pinId; 
    192222    int result = 0; 
    193223    KSPIN_DATAFLOW requiredDataflowDirection = (isInput ? KSPIN_DATAFLOW_OUT : KSPIN_DATAFLOW_IN ); 
     
    209239                 ( communication == KSPIN_COMMUNICATION_BOTH))  
    210240             && ( KSFilterPinPropertyIdentifiersInclude( deviceHandle, pinId,  
    211                     KSPROPERTY_PIN_INTERFACES, &KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING ) 
     241                    KSPROPERTY_PIN_INTERFACES, &pa_KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_STREAMING ) 
    212242                || KSFilterPinPropertyIdentifiersInclude( deviceHandle, pinId,  
    213                     KSPROPERTY_PIN_INTERFACES, &KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_LOOPED_STREAMING ) ) 
     243                    KSPROPERTY_PIN_INTERFACES, &pa_KSINTERFACESETID_Standard, KSINTERFACE_STANDARD_LOOPED_STREAMING ) ) 
    214244             && KSFilterPinPropertyIdentifiersInclude( deviceHandle, pinId,  
    215                     KSPROPERTY_PIN_MEDIUMS, &KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD_DEVIO ) ) 
     245                    KSPROPERTY_PIN_MEDIUMS, &pa_KSMEDIUMSETID_Standard, KSMEDIUM_STANDARD_DEVIO ) ) 
    216246         { 
    217247            KSMULTIPLE_ITEM* item = NULL; 
     
    222252                for( i=0; i < item->Count; ++i ){ 
    223253 
    224                     if( IS_VALID_WAVEFORMATEX_GUID(&dataRange->SubFormat) 
    225                             || memcmp( (void*)&dataRange->SubFormat, (void*)&KSDATAFORMAT_SUBTYPE_PCM, sizeof(GUID) ) == 0 
    226                             || memcmp( (void*)&dataRange->SubFormat, (void*)&KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, sizeof(GUID) ) == 0 
    227                             || ( ( memcmp( (void*)&dataRange->MajorFormat, (void*)&KSDATAFORMAT_TYPE_AUDIO, sizeof(GUID) ) == 0 ) 
     254                    if( pa_IS_VALID_WAVEFORMATEX_GUID(&dataRange->SubFormat) 
     255                            || memcmp( (void*)&dataRange->SubFormat, (void*)&pa_KSDATAFORMAT_SUBTYPE_PCM, sizeof(GUID) ) == 0 
     256                            || memcmp( (void*)&dataRange->SubFormat, (void*)&pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, sizeof(GUID) ) == 0 
     257                            || ( ( memcmp( (void*)&dataRange->MajorFormat, (void*)&pa_KSDATAFORMAT_TYPE_AUDIO, sizeof(GUID) ) == 0 ) 
    228258                                && ( memcmp( (void*)&dataRange->SubFormat, (void*)&KSDATAFORMAT_SUBTYPE_WILDCARD, sizeof(GUID) ) == 0 ) ) ) 
    229259                    { 
Note: See TracChangeset for help on using the changeset viewer.