cinder::audio::SourceFileWindowsMedia Class Reference

#include <SourceFileWindowsMedia.h>

Inherits cinder::audio::Source.

List of all members.

Public Types

enum  DataType {
  UINT8, INT8, UINT16, INT16,
  UINT32, INT32, FLOAT32, DATA_UNKNOWN
}
typedef enum
cinder::audio::Io::DataType 
DataType

Public Member Functions

 ~SourceFileWindowsMedia ()
virtual LoaderRef getLoader (Target *target)
uint32_t getLength () const
double getDuration () const
int32_t getSampleRate () const
 the number of samples per second that each channel should played or recorded at.
int16_t getChannelCount () const
 the number of channels of audio data
int16_t getBitsPerSample () const
 the number of significant bits per channel in each sample
int16_t getBlockAlign () const
 the number of bytes in each sample. For interleaved data it's ussually ( sampleRate * channelCount ) / 8, for non-interleaved data ( sampleRate / 8 ).
DataType getDataType () const
 The format of the audio data.
bool isInterleaved () const
 Whether the audio data is interleaved or non-interleaved.
bool isPcm () const
 Whether or not the data is stored in Linear-PCM.
bool isFloat () const
 Whether or not the data is stored in Float format or Integer format.
bool isBigEndian () const
 Whether or not the data is big-endian.

Static Public Member Functions

static SourceRef createRef (DataSourceRef dataSourceRef)
static SourceFileWindowsMediaRef createFileRef (DataSourceRef dataSourceRef)
static void registerSelf ()

Protected Member Functions

 SourceFileWindowsMedia (DataSourceRef dataSourceRef)

Static Protected Member Functions

static void loadFromCaAudioStreamBasicDescription (Io *anIo, const AudioStreamBasicDescription *audioDescription)

Protected Attributes

cinder::Buffer mBuffer
friend LoaderSourceFileWindowsMedia
int32_t mSampleRate
int16_t mChannelCount
int16_t mBitsPerSample
int16_t mBlockAlign
DataType mDataType
bool mIsInterleaved
bool mIsPcm
bool mIsBigEndian
uint32_t mNativeFormatId
uint32_t mNativeFormatFlags
uint32_t mBytesPerPacket
uint32_t mFramesPerPacket
uint32_t mBytesPerFrame

Member Typedef Documentation


Member Enumeration Documentation

enum cinder::audio::Io::DataType [inherited]
Enumerator:
UINT8 
INT8 
UINT16 
INT16 
UINT32 
INT32 
FLOAT32 
DATA_UNKNOWN 

Constructor & Destructor Documentation

cinder::audio::SourceFileWindowsMedia::~SourceFileWindowsMedia (  ) 
cinder::audio::SourceFileWindowsMedia::SourceFileWindowsMedia ( DataSourceRef  dataSourceRef  )  [protected]

Member Function Documentation

static SourceRef cinder::audio::SourceFileWindowsMedia::createRef ( DataSourceRef  dataSourceRef  )  [static]
SourceFileWindowsMediaRef cinder::audio::SourceFileWindowsMedia::createFileRef ( DataSourceRef  dataSourceRef  )  [static]
virtual LoaderRef cinder::audio::SourceFileWindowsMedia::getLoader ( Target target  )  [virtual]

Reimplemented from cinder::audio::Source.

uint32_t cinder::audio::SourceFileWindowsMedia::getLength (  )  const
double cinder::audio::SourceFileWindowsMedia::getDuration (  )  const [virtual]

Implements cinder::audio::Source.

void cinder::audio::SourceFileWindowsMedia::registerSelf (  )  [static]
int32_t cinder::audio::Io::getSampleRate (  )  const [inherited]

the number of samples per second that each channel should played or recorded at.

int16_t cinder::audio::Io::getChannelCount (  )  const [inherited]

the number of channels of audio data

int16_t cinder::audio::Io::getBitsPerSample (  )  const [inherited]

the number of significant bits per channel in each sample

int16_t cinder::audio::Io::getBlockAlign (  )  const [inherited]

the number of bytes in each sample. For interleaved data it's ussually ( sampleRate * channelCount ) / 8, for non-interleaved data ( sampleRate / 8 ).

DataType cinder::audio::Io::getDataType (  )  const [inherited]

The format of the audio data.

bool cinder::audio::Io::isInterleaved (  )  const [inherited]

Whether the audio data is interleaved or non-interleaved.

bool cinder::audio::Io::isPcm (  )  const [inherited]

Whether or not the data is stored in Linear-PCM.

bool cinder::audio::Io::isFloat (  )  const [inherited]

Whether or not the data is stored in Float format or Integer format.

bool cinder::audio::Io::isBigEndian (  )  const [inherited]

Whether or not the data is big-endian.

void cinder::audio::Io::loadFromCaAudioStreamBasicDescription ( Io anIo,
const AudioStreamBasicDescription *  audioDescription 
) [static, protected, inherited]

Member Data Documentation

int32_t cinder::audio::Io::mSampleRate [protected, inherited]
int16_t cinder::audio::Io::mChannelCount [protected, inherited]
int16_t cinder::audio::Io::mBitsPerSample [protected, inherited]
int16_t cinder::audio::Io::mBlockAlign [protected, inherited]
DataType cinder::audio::Io::mDataType [protected, inherited]
bool cinder::audio::Io::mIsInterleaved [protected, inherited]
bool cinder::audio::Io::mIsPcm [protected, inherited]
bool cinder::audio::Io::mIsBigEndian [protected, inherited]
uint32_t cinder::audio::Io::mNativeFormatId [protected, inherited]
uint32_t cinder::audio::Io::mNativeFormatFlags [protected, inherited]
uint32_t cinder::audio::Io::mBytesPerPacket [protected, inherited]
uint32_t cinder::audio::Io::mFramesPerPacket [protected, inherited]
uint32_t cinder::audio::Io::mBytesPerFrame [protected, inherited]

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