diff options
| author | Marcus Tomlinson <themarcustomlinson@gmail.com> | 2018-09-28 22:00:15 +0100 |
|---|---|---|
| committer | Marcus Tomlinson <themarcustomlinson@gmail.com> | 2018-09-28 22:00:15 +0100 |
| commit | e0bbf5f1ca829e11bf96acfd3f30b17f9468ab90 (patch) | |
| tree | 960c6ac8d365583cd8c9a04c6b28353ee96cc595 /RtAudio.cpp | |
| parent | 109ab70963f7a3cea33236901d00073502dd7438 (diff) | |
Fix mingw32 WASAPI build
Diffstat (limited to 'RtAudio.cpp')
| -rw-r--r-- | RtAudio.cpp | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/RtAudio.cpp b/RtAudio.cpp index 18e900e..d1920d5 100644 --- a/RtAudio.cpp +++ b/RtAudio.cpp @@ -3689,17 +3689,20 @@ static const char* getAsioErrorString( ASIOError result ) #ifndef INITGUID #define INITGUID #endif -#include <audioclient.h> -#include <avrt.h> -#include <mmdeviceapi.h> -#include <functiondiscoverykeys_devpkey.h> #include <mfapi.h> #include <mferror.h> #include <mfplay.h> +#include <mftransform.h> #include <wmcodecdsp.h> +#include <audioclient.h> +#include <avrt.h> +#include <mmdeviceapi.h> +#include <functiondiscoverykeys_devpkey.h> + #ifdef _MSC_VER + #pragma comment( lib, "ksuser" ) #pragma comment( lib, "mfplat.lib" ) #pragma comment( lib, "mfuuid.lib" ) #pragma comment( lib, "wmcodecdspuuid" ) @@ -3890,10 +3893,13 @@ public: , _sampleRatio( ( float ) outSampleRate / inSampleRate ) , _transformUnk( NULL ) , _transform( NULL ) - , _resamplerProps( NULL ) , _mediaType( NULL ) , _inputMediaType( NULL ) , _outputMediaType( NULL ) + + #ifdef __IWMResamplerProps_FWD_DEFINED__ + , _resamplerProps( NULL ) + #endif { // 1. Initialization @@ -3906,8 +3912,10 @@ public: _transformUnk->QueryInterface( IID_PPV_ARGS( &_transform ) ); - _transformUnk->QueryInterface( IID_PPV_ARGS( &_resamplerProps ) ); - _resamplerProps->SetHalfFilterLength( 60 ); // best conversion quality + #ifdef __IWMResamplerProps_FWD_DEFINED__ + _transformUnk->QueryInterface( IID_PPV_ARGS( &_resamplerProps ) ); + _resamplerProps->SetHalfFilterLength( 60 ); // best conversion quality + #endif // 3. Specify input / output format @@ -3954,10 +3962,13 @@ public: SAFE_RELEASE( _transformUnk ); SAFE_RELEASE( _transform ); - SAFE_RELEASE( _resamplerProps ); SAFE_RELEASE( _mediaType ); SAFE_RELEASE( _inputMediaType ); SAFE_RELEASE( _outputMediaType ); + + #ifdef __IWMResamplerProps_FWD_DEFINED__ + SAFE_RELEASE( _resamplerProps ); + #endif } void Convert( char* outBuffer, const char* inBuffer, unsigned int inSampleCount, unsigned int& outSampleCount ) @@ -4050,10 +4061,13 @@ private: IUnknown* _transformUnk; IMFTransform* _transform; - IWMResamplerProps* _resamplerProps; IMFMediaType* _mediaType; IMFMediaType* _inputMediaType; IMFMediaType* _outputMediaType; + + #ifdef __IWMResamplerProps_FWD_DEFINED__ + IWMResamplerProps* _resamplerProps; + #endif }; //----------------------------------------------------------------------------- |
