-/************************************************************************/
+/************************************************************************/
/*! \class RtAudio
\brief Realtime audio i/o C++ classes.
#include <mfapi.h>
#include <mferror.h>
#include <mfplay.h>
-#include <Wmcodecdsp.h>
+#include <wmcodecdsp.h>
-#pragma comment( lib, "mfplat.lib" )
-#pragma comment( lib, "mfuuid.lib" )
-#pragma comment( lib, "wmcodecdspuuid" )
+#ifdef _MSC_VER
+ #pragma comment( lib, "mfplat.lib" )
+ #pragma comment( lib, "mfuuid.lib" )
+ #pragma comment( lib, "wmcodecdspuuid" )
+#endif
//=============================================================================
_transformUnk->QueryInterface( IID_PPV_ARGS( &_resamplerProps ) );
_resamplerProps->SetHalfFilterLength( 60 ); // best conversion quality
- // 3. Specify input / output format
+ // 3. Specify input / output format
MFCreateMediaType( &_mediaType );
_mediaType->SetGUID( MF_MT_MAJOR_TYPE, MFMediaType_Audio );
}
// Convert callback buffer to user sample rate
- unsigned int deviceBufferOffset = convBufferSize * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.userFormat );
+ unsigned int deviceBufferOffset = convBufferSize * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.deviceFormat[INPUT] );
unsigned int convSamples = 0;
captureResampler->Convert( stream_.deviceBuffer + deviceBufferOffset,
CoUninitialize();
+ if ( !errorText_.empty() )
+ error( errorType );
+
// update stream state
stream_.state = STREAM_STOPPED;
-
- if ( errorText_.empty() )
- return;
- else
- error( errorType );
}
//******************** End of __WINDOWS_WASAPI__ *********************//