Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
cinder::audio::Io Class Reference

#include <Io.h>

Inherited by cinder::audio::Source, and cinder::audio::Target.

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

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.

Protected Member Functions

 Io ()

Static Protected Member Functions

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

Protected Attributes

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

Enumerator:
UINT8 
INT8 
UINT16 
INT16 
UINT32 
INT32 
FLOAT32 
DATA_UNKNOWN 

Constructor & Destructor Documentation

cinder::audio::Io::Io ( ) [protected]

Member Function Documentation

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

the number of channels of audio data

the number of significant bits per channel in each sample

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

The format of the audio data.

Whether the audio data is interleaved or non-interleaved.

bool cinder::audio::Io::isPcm ( ) const

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

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

Whether or not the data is big-endian.

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

Member Data Documentation

int32_t cinder::audio::Io::mSampleRate [protected]
int16_t cinder::audio::Io::mChannelCount [protected]
int16_t cinder::audio::Io::mBitsPerSample [protected]
int16_t cinder::audio::Io::mBlockAlign [protected]
bool cinder::audio::Io::mIsPcm [protected]
uint32_t cinder::audio::Io::mNativeFormatId [protected]
uint32_t cinder::audio::Io::mBytesPerPacket [protected]
uint32_t cinder::audio::Io::mBytesPerFrame [protected]

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