Cinder  0.9.1
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
cinder::audio::cocoa::ConverterImplCoreAudio Class Reference

#include <CinderCoreAudio.h>

Inherits cinder::audio::dsp::Converter.

Public Member Functions

 ConverterImplCoreAudio (size_t sourceSampleRate, size_t destSampleRate, size_t sourceNumChannels, size_t destNumChannels, size_t sourceMaxFramesPerBlock)
 
virtual ~ConverterImplCoreAudio ()
 
std::pair< size_t, size_t > convert (const Buffer *sourceBuffer, Buffer *destBuffer) override
 
void clear () override
 
size_t getSourceSampleRate () const
 
size_t getDestSampleRate () const
 
size_t getSourceNumChannels () const
 
size_t getDestNumChannels () const
 
size_t getSourceMaxFramesPerBlock () const
 
size_t getDestMaxFramesPerBlock () const
 

Static Public Member Functions

static std::unique_ptr< Convertercreate (size_t sourceSampleRate, size_t destSampleRate, size_t sourceNumChannels, size_t destNumChannels, size_t sourceMaxFramesPerBlock)
 

Protected Attributes

size_t mSourceSampleRate
 
size_t mDestSampleRate
 
size_t mSourceNumChannels
 
size_t mDestNumChannels
 
size_t mSourceMaxFramesPerBlock
 
size_t mDestMaxFramesPerBlock
 

Constructor & Destructor Documentation

cinder::audio::cocoa::ConverterImplCoreAudio::ConverterImplCoreAudio ( size_t  sourceSampleRate,
size_t  destSampleRate,
size_t  sourceNumChannels,
size_t  destNumChannels,
size_t  sourceMaxFramesPerBlock 
)
cinder::audio::cocoa::ConverterImplCoreAudio::~ConverterImplCoreAudio ( )
virtual

Member Function Documentation

pair< size_t, size_t > cinder::audio::cocoa::ConverterImplCoreAudio::convert ( const Buffer sourceBuffer,
Buffer destBuffer 
)
overridevirtual

Converts up to getSourceMaxFramesPerBlock() frames of audio data from sourceBuffer into destBuffer. Returns a std::pair<num source frames used, num dest frames written>

Note
destBuffer must be large enough to complete the conversion, which is calculated as:
minNumDestFrames = min( sourceBuffer->getNumFrames, getSourceMaxFramesPerBlock() ) * getDestSampleRate() * getSourceSampleRate()

Implements cinder::audio::dsp::Converter.

void cinder::audio::cocoa::ConverterImplCoreAudio::clear ( )
overridevirtual

Clears the state of the converter, discarding / flushing accumulated samples. Optional for implementations.

Reimplemented from cinder::audio::dsp::Converter.

unique_ptr< Converter > cinder::audio::dsp::Converter::create ( size_t  sourceSampleRate,
size_t  destSampleRate,
size_t  sourceNumChannels,
size_t  destNumChannels,
size_t  sourceMaxFramesPerBlock 
)
staticinherited

If destSampleRate is 0, it is set to match sourceSampleRate. If destNumChannels is 0, it is set to match sourceNumChannels.

size_t cinder::audio::dsp::Converter::getSourceSampleRate ( ) const
inherited
size_t cinder::audio::dsp::Converter::getDestSampleRate ( ) const
inherited
size_t cinder::audio::dsp::Converter::getSourceNumChannels ( ) const
inherited
size_t cinder::audio::dsp::Converter::getDestNumChannels ( ) const
inherited
size_t cinder::audio::dsp::Converter::getSourceMaxFramesPerBlock ( ) const
inherited
size_t cinder::audio::dsp::Converter::getDestMaxFramesPerBlock ( ) const
inherited

Member Data Documentation

size_t cinder::audio::dsp::Converter::mSourceSampleRate
protectedinherited
size_t cinder::audio::dsp::Converter::mDestSampleRate
protectedinherited
size_t cinder::audio::dsp::Converter::mSourceNumChannels
protectedinherited
size_t cinder::audio::dsp::Converter::mDestNumChannels
protectedinherited
size_t cinder::audio::dsp::Converter::mSourceMaxFramesPerBlock
protectedinherited
size_t cinder::audio::dsp::Converter::mDestMaxFramesPerBlock
protectedinherited

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