OpalMixerNode Class Reference

#include <opalmixer.h>

Data Structures

struct  AudioMixer
struct  MediaMixer
struct  VideoMixer

Public Member Functions

Construction



 OpalMixerNode (OpalMixerNodeManager &manager, OpalMixerNodeInfo *info)
 OpalMixerNode (OpalMixerEndPoint &endpoint, OpalMixerNodeInfo *info)
 ~OpalMixerNode ()
void ShutDown ()
Overrides from PObject



void PrintOn (ostream &strm) const
Operations



void AttachConnection (OpalConnection *connection)
void DetachConnection (OpalConnection *connection)
bool AttachStream (OpalMixerMediaStream *stream)
void DetachStream (OpalMixerMediaStream *stream)
void UseMediaBypass (unsigned sessionID, OpalConnection *connection=NULL)
bool WriteAudio (const OpalBaseMixer::Key_T &key, const RTP_DataFrame &input)
bool WriteVideo (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
template<class Subclass >
PSafePtr< Subclass > GetFirstConnectionAs (PSafetyMode mode=PSafeReference) const
PSafePtr< OpalConnectionGetFirstConnection (PSafetyMode mode=PSafeReference) const
const OpalMixerNodeInfoGetNodeInfo ()
const PTime & GetCreationTime () const

Protected Member Functions

void Construct ()

Protected Attributes

OpalMixerNodeManagerm_manager
PGloballyUniqueID m_guid
PStringList m_names
OpalMixerNodeInfom_info
PTime m_creationTime
PSafeList< OpalConnectionm_connections
AudioMixer m_audioMixer
VideoMixer m_videoMixer

Detailed Description

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


Constructor & Destructor Documentation

OpalMixerNode::OpalMixerNode ( OpalMixerNodeManager manager,
OpalMixerNodeInfo info 
)

Create a new node.

Parameters:
manager Manager for this node
info Configuration information
OpalMixerNode::OpalMixerNode ( OpalMixerEndPoint endpoint,
OpalMixerNodeInfo info 
)
Parameters:
endpoint Endpoint for this node
info Configuration information
OpalMixerNode::~OpalMixerNode (  ) 

Destroy node.


Member Function Documentation

void OpalMixerNode::AddName ( const PString &  name  ) 

Add a name for this node.

void OpalMixerNode::AttachConnection ( OpalConnection connection  ) 

Attach a connection.

Parameters:
connection Connection to attach
bool OpalMixerNode::AttachStream ( OpalMixerMediaStream stream  ) 

Attach a stream for output.

Parameters:
stream Stream to attach
void OpalMixerNode::Construct (  )  [protected]
void OpalMixerNode::DetachConnection ( OpalConnection connection  ) 

Detach a connection.

Parameters:
connection Connection to detach
void OpalMixerNode::DetachStream ( OpalMixerMediaStream stream  ) 

Detach a stream for output.

Parameters:
stream Stream to detach
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.

References m_connections.

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

Get the creation time of the node.

References m_creationTime.

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

Get first connection in the connections list.

template<class Subclass >
PSafePtr<Subclass> OpalMixerNode::GetFirstConnectionAs ( PSafetyMode  mode = PSafeReference  )  const [inline]

Get first connection in the connections list as type.

References m_connections.

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

Get globally unique identifier for node.

References m_guid.

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

Get list of names for this node.

References m_names.

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

Get the raw audio accumulation buffer.

References m_info.

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::RemoveName ( const PString &  name  ) 

Remove a name for this node.

void OpalMixerNode::ShutDown (  ) 

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

void OpalMixerNode::UseMediaBypass ( unsigned  sessionID,
OpalConnection connection = NULL 
)

Use media bypass if applicable.

Parameters:
sessionID Session ID to bypass, 0 indicates all
connection Just deleted connection
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

References m_audioMixer, and OpalBaseMixer::WriteStream().

bool OpalMixerNode::WriteVideo ( 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

References m_videoMixer, and OpalBaseMixer::WriteStream().


Field Documentation

Referenced by WriteAudio().

PTime OpalMixerNode::m_creationTime [protected]

Referenced by GetCreationTime().

PGloballyUniqueID OpalMixerNode::m_guid [protected]

Referenced by GetGUID().

Referenced by GetNodeInfo().

PStringList OpalMixerNode::m_names [protected]

Referenced by GetNames().

Referenced by WriteVideo().


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

Generated on 14 Jul 2011 for OPAL by  doxygen 1.6.1