OPAL
Version 3.10.10
|
#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 | UseMediaPassThrough (unsigned sessionID, OpalConnection *connection=NULL) |
bool | SetJitterBufferSize (const OpalBaseMixer::Key_T &key, unsigned minJitterDelay, unsigned maxJitterDelay) |
bool | WriteAudio (const OpalBaseMixer::Key_T &key, const RTP_DataFrame &input) |
bool | WriteVideo (const OpalBaseMixer::Key_T &key, const RTP_DataFrame &input) |
virtual void | BroadcastUserInput (const OpalConnection *connection, const PString &value) |
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< OpalConnection > | GetFirstConnection (PSafetyMode mode=PSafeReference) const |
const OpalMixerNodeInfo & | GetNodeInfo () |
const PTime & | GetCreationTime () const |
Protected Member Functions | |
void | Construct () |
Protected Attributes | |
OpalMixerNodeManager & | m_manager |
PGloballyUniqueID | m_guid |
PStringList | m_names |
OpalMixerNodeInfo * | m_info |
PTime | m_creationTime |
PSafeList< OpalConnection > | m_connections |
AudioMixer | m_audioMixer |
VideoMixer | m_videoMixer |
Mixer node. This class represents a group of connections that are being mixed.
OpalMixerNode::OpalMixerNode | ( | OpalMixerNodeManager & | manager, |
OpalMixerNodeInfo * | info | ||
) |
Create a new node.
manager | Manager for this node |
info | Configuration information |
OpalMixerNode::OpalMixerNode | ( | OpalMixerEndPoint & | endpoint, |
OpalMixerNodeInfo * | info | ||
) |
endpoint | Endpoint for this node |
info | Configuration information |
OpalMixerNode::~OpalMixerNode | ( | ) |
Destroy node.
void OpalMixerNode::AddName | ( | const PString & | name | ) |
Add a name for this node.
void OpalMixerNode::AttachConnection | ( | OpalConnection * | connection | ) |
Attach a connection.
connection | Connection to attach |
bool OpalMixerNode::AttachStream | ( | OpalMixerMediaStream * | stream | ) |
Attach a stream for output.
stream | Stream to attach |
|
virtual |
Send a user input indication to all connections.
connection | Connection NOT to send to |
value | String value of indication |
|
protected |
void OpalMixerNode::DetachConnection | ( | OpalConnection * | connection | ) |
Detach a connection.
connection | Connection to detach |
void OpalMixerNode::DetachStream | ( | OpalMixerMediaStream * | stream | ) |
Detach a stream for output.
stream | Stream to detach |
|
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.
|
inline |
Get the creation time of the node.
References m_creationTime.
|
inline |
Get first connection in the connections list.
|
inline |
Get first connection in the connections list as type.
References m_connections.
|
inline |
Get globally unique identifier for node.
References m_guid.
|
inline |
Get list of names for this node.
References m_names.
|
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.
strm | Stream to output text representation |
void OpalMixerNode::RemoveName | ( | const PString & | name | ) |
Remove a name for this node.
|
inline |
Sets the size of the jitter buffer to be used by the specified stream in this mixer. A mixer defaults to not having any jitter buffer enabled.
If either jitter delay parameter is zero, it destroys the jitter buffer attached to this mixer.
key | key for mixer stream |
minJitterDelay | Minimum jitter buffer delay in RTP timestamp units |
maxJitterDelay | Maximum jitter buffer delay in RTP timestamp units |
References m_audioMixer, and OpalAudioMixer::SetJitterBufferSize().
void OpalMixerNode::ShutDown | ( | ) |
Shut down node. This clears all attached connections, removes all names and generally shuts the node down.
void OpalMixerNode::UseMediaPassThrough | ( | unsigned | sessionID, |
OpalConnection * | connection = NULL |
||
) |
Use media bypass if applicable.
sessionID | Session ID to bypass, 0 indicates all |
connection | Just deleted connection |
|
inline |
Write data to mixer.
key | key for mixer stream |
input | Input RTP data for media |
References m_audioMixer, and OpalBaseMixer::WriteStream().
|
inline |
Write data to mixer.
key | key for mixer stream |
input | Input RTP data for media |
References m_videoMixer, and OpalBaseMixer::WriteStream().
|
protected |
Referenced by SetJitterBufferSize(), and WriteAudio().
|
protected |
Referenced by GetConnectionCount(), and GetFirstConnectionAs().
|
protected |
Referenced by GetCreationTime().
|
protected |
Referenced by GetGUID().
|
protected |
Referenced by GetNodeInfo().
|
protected |
|
protected |
Referenced by GetNames().
|
protected |
Referenced by WriteVideo().