openshot-audio  0.1.4
Public Member Functions | Public Attributes | List of all members
WasapiClasses::WASAPIInputDevice Class Reference
Inheritance diagram for WasapiClasses::WASAPIInputDevice:
WasapiClasses::WASAPIDeviceBase

Public Member Functions

 WASAPIInputDevice (const ComSmartPtr< IMMDevice > &d, const bool exclusiveMode)
 
 ~WASAPIInputDevice ()
 
bool open (const double newSampleRate, const BigInteger &newChannels, int bufferSizeSamples)
 
void close ()
 
template<class SourceType >
void updateFormatWithType (SourceType *) noexcept
 
void updateFormat (bool isFloat) override
 
bool start (const int userBufferSize)
 
void purgeInputBuffers ()
 
int getNumSamplesInReservoir () const noexcept
 
void handleDeviceBuffer ()
 
void copyBuffersFromReservoir (float **destBuffers, int numDestBuffers, int bufferSize)
 
- Public Member Functions inherited from WasapiClasses::WASAPIDeviceBase
 WASAPIDeviceBase (const ComSmartPtr< IMMDevice > &d, const bool exclusiveMode)
 
virtual ~WASAPIDeviceBase ()
 
bool isOk () const noexcept
 
bool openClient (const double newSampleRate, const BigInteger &newChannels, const int bufferSizeSamples)
 
void closeClient ()
 
void deviceSampleRateChanged ()
 

Public Attributes

ComSmartPtr< IAudioCaptureClient > captureClient
 
MemoryBlock reservoir
 
int reservoirSize
 
int reservoirMask
 
volatile int reservoirReadPos
 
volatile int reservoirWritePos
 
ScopedPointer< AudioData::Converterconverter
 
- Public Attributes inherited from WasapiClasses::WASAPIDeviceBase
ComSmartPtr< IMMDevice > device
 
ComSmartPtr< IAudioClient > client
 
double sampleRate
 
double defaultSampleRate
 
int numChannels
 
int actualNumChannels
 
int minBufferSize
 
int defaultBufferSize
 
int latencySamples
 
DWORD mixFormatChannelMask
 
const bool useExclusiveMode
 
Array< double > rates
 
HANDLE clientEvent
 
BigInteger channels
 
Array< int > channelMaps
 
UINT32 actualBufferSize
 
int bytesPerSample
 
int bytesPerFrame
 
bool sampleRateHasChanged
 

Constructor & Destructor Documentation

◆ WASAPIInputDevice()

WasapiClasses::WASAPIInputDevice::WASAPIInputDevice ( const ComSmartPtr< IMMDevice > &  d,
const bool  exclusiveMode 
)
inline

◆ ~WASAPIInputDevice()

WasapiClasses::WASAPIInputDevice::~WASAPIInputDevice ( )
inline

Member Function Documentation

◆ close()

void WasapiClasses::WASAPIInputDevice::close ( )
inline

◆ copyBuffersFromReservoir()

void WasapiClasses::WASAPIInputDevice::copyBuffersFromReservoir ( float **  destBuffers,
int  numDestBuffers,
int  bufferSize 
)
inline

◆ getNumSamplesInReservoir()

int WasapiClasses::WASAPIInputDevice::getNumSamplesInReservoir ( ) const
inlinenoexcept

◆ handleDeviceBuffer()

void WasapiClasses::WASAPIInputDevice::handleDeviceBuffer ( )
inline

◆ open()

bool WasapiClasses::WASAPIInputDevice::open ( const double  newSampleRate,
const BigInteger newChannels,
int  bufferSizeSamples 
)
inline

◆ purgeInputBuffers()

void WasapiClasses::WASAPIInputDevice::purgeInputBuffers ( )
inline

◆ start()

bool WasapiClasses::WASAPIInputDevice::start ( const int  userBufferSize)
inline

◆ updateFormat()

void WasapiClasses::WASAPIInputDevice::updateFormat ( bool  isFloat)
inlineoverridevirtual

◆ updateFormatWithType()

template<class SourceType >
void WasapiClasses::WASAPIInputDevice::updateFormatWithType ( SourceType *  )
inlinenoexcept

Member Data Documentation

◆ captureClient

ComSmartPtr<IAudioCaptureClient> WasapiClasses::WASAPIInputDevice::captureClient

◆ converter

ScopedPointer<AudioData::Converter> WasapiClasses::WASAPIInputDevice::converter

◆ reservoir

MemoryBlock WasapiClasses::WASAPIInputDevice::reservoir

◆ reservoirMask

int WasapiClasses::WASAPIInputDevice::reservoirMask

◆ reservoirReadPos

volatile int WasapiClasses::WASAPIInputDevice::reservoirReadPos

◆ reservoirSize

int WasapiClasses::WASAPIInputDevice::reservoirSize

◆ reservoirWritePos

volatile int WasapiClasses::WASAPIInputDevice::reservoirWritePos

The documentation for this class was generated from the following file: