OpalMixerNode Class Reference

#include <opalmixer.h>

List of all members.

Construction

 OpalMixerNode (OpalMixerEndPoint &endpoint, OpalMixerNodeInfo *info)
 ~OpalMixerNode ()
void ShutDown ()

Public Member Functions

Overrides from PObject
void PrintOn (ostream &strm) const
Operations
void AttachConnection (OpalMixerConnection *connection)
void DetachConnection (OpalMixerConnection *connection)
bool AttachStream (OpalMixerMediaStream *stream)
void DetachStream (OpalMixerMediaStream *stream)
bool WriteAudio (const OpalBaseMixer::Key_T &key, const RTP_DataFrame &input)
Member variable access
const PGloballyUniqueID & GetGUID () const
const PStringList & GetNames () const
void AddName (const PString &name)
void RemoveName (const PString &name)
PINDEX GetConnectionCount () const
PSafePtr< OpalMixerConnectionGetFirstConnection (PSafetyMode mode=PSafeReference) const
const OpalMixerNodeInfoGetNodeInfo ()
const PTime & GetCreationTime () const

Protected Attributes

OpalMixerEndPointm_endpoint
PGloballyUniqueID m_guid
PStringList m_names
OpalMixerNodeInfom_info
PTime m_creationTime
PSafeList< OpalMixerConnectionm_connections
AudioMixer m_audioMixer

Classes

struct  AudioMixer
struct  MediaMixer


Detailed Description

Mixer node. This class represents a group of connections that are being mixed.


Constructor & Destructor Documentation

OpalMixerNode::OpalMixerNode ( OpalMixerEndPoint endpoint,
OpalMixerNodeInfo info 
)

Create a new node.

Parameters:
endpoint  Endpoint that owns this node
info  Configuration information

OpalMixerNode::~OpalMixerNode (  ) 

Destroy node.


Member Function Documentation

void OpalMixerNode::ShutDown (  ) 

Shut down node. This clears all attached connections, removes all names and generally shuts the node down.

void OpalMixerNode::PrintOn ( ostream &  strm  )  const

Standard stream print function. The PObject class has a << operator defined that invokes this function polymorphically.

Parameters:
strm  Stream to output text representation

void OpalMixerNode::AttachConnection ( OpalMixerConnection connection  ) 

Attach a connection.

Parameters:
connection  Connection to attach

void OpalMixerNode::DetachConnection ( OpalMixerConnection connection  ) 

Detach a connection.

Parameters:
connection  Connection to detach

bool OpalMixerNode::AttachStream ( OpalMixerMediaStream stream  ) 

Attach a stream for output.

Parameters:
stream  Stream to attach

void OpalMixerNode::DetachStream ( OpalMixerMediaStream stream  ) 

Detach a stream for output.

Parameters:
stream  Stream to detach

bool OpalMixerNode::WriteAudio ( const OpalBaseMixer::Key_T key,
const RTP_DataFrame input 
) [inline]

Write data to mixer.

Parameters:
key  key for mixer stream
input  Input RTP data for media

const PGloballyUniqueID& OpalMixerNode::GetGUID (  )  const [inline]

Get globally unique identifier for node.

const PStringList& OpalMixerNode::GetNames (  )  const [inline]

Get list of names for this node.

void OpalMixerNode::AddName ( const PString &  name  ) 

Add a name for this node.

void OpalMixerNode::RemoveName ( const PString &  name  ) 

Remove a name for this node.

PINDEX OpalMixerNode::GetConnectionCount (  )  const [inline]

Get count of connections. Note that as this value can change ata any moent, it is really not that useful and should definitely not be used for enumeration of the connections.

PSafePtr<OpalMixerConnection> OpalMixerNode::GetFirstConnection ( PSafetyMode  mode = PSafeReference  )  const [inline]

Get first connection in the connections list.

const OpalMixerNodeInfo& OpalMixerNode::GetNodeInfo (  )  [inline]

Get the raw audio accumulation buffer.

const PTime& OpalMixerNode::GetCreationTime (  )  const [inline]

Get the creation time of the node.


Member Data Documentation

OpalMixerEndPoint& OpalMixerNode::m_endpoint [protected]

PGloballyUniqueID OpalMixerNode::m_guid [protected]

PStringList OpalMixerNode::m_names [protected]

OpalMixerNodeInfo* OpalMixerNode::m_info [protected]

PTime OpalMixerNode::m_creationTime [protected]

PSafeList<OpalMixerConnection> OpalMixerNode::m_connections [protected]

AudioMixer OpalMixerNode::m_audioMixer [protected]


The documentation for this class was generated from the following file:
Generated on Mon Aug 3 20:50:54 2009 for OPAL by  doxygen 1.5.1