OPAL
Version 3.14.3
|
#include <opalmixer.h>
Public Member Functions | |
Construction | |
OpalMixerNodeManager (OpalManager &manager) | |
virtual | ~OpalMixerNodeManager () |
virtual void | ShutDown () |
virtual PBoolean | GarbageCollection () |
Operations | |
virtual OpalMixerNode * | CreateNode (OpalMixerNodeInfo *info) |
virtual PSafePtr< OpalMixerNode > | AddNode (OpalMixerNodeInfo *info) |
void | AddNode (OpalMixerNode *node) |
PSafePtr< OpalMixerNode > | GetFirstNode (PSafetyMode mode=PSafeReference) const |
virtual PSafePtr< OpalMixerNode > | FindNode (const PString &name, PSafetyMode mode=PSafeReference) |
virtual void | RemoveNode (OpalMixerNode &node) |
void | AddNodeName (PString name, OpalMixerNode *node) |
void | RemoveNodeName (PString name) |
void | RemoveNodeNames (const PStringSet &names) |
virtual PString | CreateInternalURI (const PGloballyUniqueID &guid) |
virtual void | OnNodeStatusChanged (const OpalMixerNode &node, OpalConferenceState::ChangeType change) |
virtual OpalAudioStreamMixer * | CreateAudioMixer (const OpalMixerNodeInfo &info) |
Create the instance of the audio mixer. More... | |
virtual OpalVideoStreamMixer * | CreateVideoMixer (const OpalMixerNodeInfo &info) |
Create the instance of the video mixer. More... | |
OpalManager & | GetManager () const |
Get manager. More... | |
Protected Attributes | |
OpalManager & | m_manager |
PSafeDictionary < PGloballyUniqueID, OpalMixerNode > | m_nodesByUID |
PSafeDictionary< PString, OpalMixerNode > | m_nodesByName |
Mixer node manager. This class is a collection of OpalMixerNodes. It provides access to nodes by GUID or name.
OpalMixerNodeManager::OpalMixerNodeManager | ( | OpalManager & | manager | ) |
Create a new mixer node manager.
|
virtual |
Destroy all mixer nodes. Calls ShutDown.
|
virtual |
Add a new node. The info variable should be created on the heap and it is subsequently owned by the node. NULL can be passed if defaults are to be used. Calls CreateNode.
info | Initial info for node |
void OpalMixerNodeManager::AddNode | ( | OpalMixerNode * | node | ) |
Add an existing node.
void OpalMixerNodeManager::AddNodeName | ( | PString | name, |
OpalMixerNode * | node | ||
) |
Add node name to association list.
name | alias name for node |
node | node associated with name |
|
virtual |
Create the instance of the audio mixer.
|
virtual |
Internal function to get internal URI string.
Reimplemented in OpalMixerEndPoint.
|
virtual |
Create a new node. This should create the new instance of the OpalMixerNode as required by the derived class, if any. The info variable should be created on the heap and it is subsequently owned by the node. NULL can be passed if defaults are to be used.
info | Initial info for node |
|
virtual |
Create the instance of the video mixer.
|
virtual |
Find a new node. This will search for the mixer node using GUID and then name.
name | GUID or alias name for node |
mode | Lock mode for returned pointer |
|
virtual |
Execute garbage collection of nodes. Returns true if all garbage has been collected. Default behaviour deletes the objects that have been removed from the m_nodesByUID list.
Reimplemented in OpalMixerEndPoint.
|
inline |
Get the first node. The active nodes may be enumerated by the ++ operator on the PSafePtr.
mode | Lock mode for returned pointer |
References m_nodesByUID.
|
inline |
Get manager.
References m_manager.
|
virtual |
Call back when mixed node state information changes.
Default behaviour does nothing.
node | Node that has changed state |
change | Change that occurred |
Reimplemented in OpalMixerEndPoint.
|
virtual |
Remove a node. Shut down all active connections with node, remove its name associations and delete it.
void OpalMixerNodeManager::RemoveNodeName | ( | PString | name | ) |
Remove node's name from association list.
name | alias name for node |
void OpalMixerNodeManager::RemoveNodeNames | ( | const PStringSet & | names | ) |
Remove list of node names from association list. Commonly used when node destroyed.
names | list of alias names for nodes |
|
virtual |
Shuts down, removes and destroys all mixer nodes.
Reimplemented in OpalMixerEndPoint.
|
protected |
Referenced by GetManager().
|
protected |
|
protected |
Referenced by GetFirstNode().