OpalAudioMixer Class Reference

#include <opalmixer.h>

Inheritance diagram for OpalAudioMixer:

OpalWAVRecordManager::Mixer_T

List of all members.

Classes

class  MixerFrame

Public Types

typedef std::string Key_T
typedef std::map< Key_T,
OpalAudioMixerStream * > 
StreamInfoMap_T
typedef std::map< Key_T,
OpalAudioMixerStream::StreamFrame
MixerPCMMap_T

Public Member Functions

 OpalAudioMixer (PBoolean realTime=PTrue, PBoolean _pushThread=PTrue)
virtual ~OpalAudioMixer ()
virtual PBoolean OnWriteAudio (const MixerFrame &)
void AddStream (const Key_T &key, OpalAudioMixerStream *stream)
void RemoveStream (const Key_T &key)
void RemoveAllStreams ()
void StartThread ()
void ThreadMain ()
void ReadRoutine ()
void WriteMixedFrame ()
PBoolean Write (const Key_T &key, const RTP_DataFrame &rtp)

Protected Attributes

PINDEX frameLengthMs
 size of each audio chunk in milliseconds
PMutex mutex
 mutex for list of streams and thread handle
StreamInfoMap_T streamInfoMap
 list of streams
unsigned channelNumber
 counter for channels
PBoolean realTime
 PTrue if realtime mixing.
PBoolean pushThread
 PTrue if to use a thread to push data out.
PThread * mixerWorkerThread
 reader thread handle
PBoolean threadRunning
 used to stop reader thread
PBoolean audioStarted
 PTrue if output audio is running.
PBoolean firstRead
 PTrue if first use of CheckForRead.
PTime timeOfNextRead
 absolute timestamp for next scheduled read
DWORD outputTimestamp
 RTP timestamp for output data.


Member Typedef Documentation

typedef std::string OpalAudioMixer::Key_T


Constructor & Destructor Documentation

OpalAudioMixer::OpalAudioMixer ( PBoolean  realTime = PTrue,
PBoolean  _pushThread = PTrue 
)

virtual OpalAudioMixer::~OpalAudioMixer (  )  [inline, virtual]


Member Function Documentation

void OpalAudioMixer::AddStream ( const Key_T key,
OpalAudioMixerStream stream 
)

virtual PBoolean OpalAudioMixer::OnWriteAudio ( const MixerFrame  )  [virtual]

Reimplemented in OpalWAVRecordManager::Mixer_T.

void OpalAudioMixer::ReadRoutine (  ) 

void OpalAudioMixer::RemoveAllStreams (  ) 

void OpalAudioMixer::RemoveStream ( const Key_T key  ) 

void OpalAudioMixer::StartThread (  ) 

void OpalAudioMixer::ThreadMain (  ) 

PBoolean OpalAudioMixer::Write ( const Key_T key,
const RTP_DataFrame rtp 
)

void OpalAudioMixer::WriteMixedFrame (  ) 


Member Data Documentation

PBoolean OpalAudioMixer::audioStarted [protected]

PTrue if output audio is running.

unsigned OpalAudioMixer::channelNumber [protected]

counter for channels

PBoolean OpalAudioMixer::firstRead [protected]

PTrue if first use of CheckForRead.

PINDEX OpalAudioMixer::frameLengthMs [protected]

size of each audio chunk in milliseconds

PThread* OpalAudioMixer::mixerWorkerThread [protected]

reader thread handle

PMutex OpalAudioMixer::mutex [protected]

mutex for list of streams and thread handle

RTP timestamp for output data.

PBoolean OpalAudioMixer::pushThread [protected]

PTrue if to use a thread to push data out.

PBoolean OpalAudioMixer::realTime [protected]

PTrue if realtime mixing.

list of streams

PBoolean OpalAudioMixer::threadRunning [protected]

used to stop reader thread

PTime OpalAudioMixer::timeOfNextRead [protected]

absolute timestamp for next scheduled read


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

Generated on Tue Jul 21 02:52:17 2009 for OPAL by  doxygen 1.5.9