34 #ifndef OPAL_OPAL_OPALMIXER_H
35 #define OPAL_OPAL_OPALMIXER_H
59 #define OPAL_MIXER_PREFIX "mcu"
61 #define OPAL_OPT_LISTEN_ONLY "Listen-Only"
62 #define OPAL_OPT_CONF_OWNER "Conference-Owner"
201 bool pushThread =
true,
321 bool pushThread =
true
370 virtual bool StartMix(
unsigned & x,
unsigned & y,
unsigned & w,
unsigned & h,
unsigned & left);
371 virtual bool NextMix(
unsigned & x,
unsigned & y,
unsigned & w,
unsigned & h,
unsigned & left);
372 void InsertVideoFrame(
const StreamMap_T::iterator & it,
unsigned x,
unsigned y,
unsigned w,
unsigned h);
403 ,
m_width(PVideoFrameInfo::CIFWidth)
404 ,
m_height(PVideoFrameInfo::CIFHeight)
489 virtual PSafePtr<OpalMixerNode>
AddNode(
501 PSafetyMode mode = PSafeReference
502 )
const {
return PSafePtr<OpalMixerNode>(
m_nodesByUID, mode); }
507 virtual PSafePtr<OpalMixerNode>
FindNode(
508 const PString & name,
509 PSafetyMode mode = PSafeReference
537 const PStringSet & names
543 const PGloballyUniqueID & guid
648 const PString & party,
649 void * userData = NULL,
650 unsigned options = 0,
671 const PString & name = PString::Empty()
690 const PString & token,
691 PSafetyMode mode = PSafeReadWrite
692 ) {
return GetConnectionWithLockAs<OpalMixerConnection>(token, mode); }
698 PSafePtr<OpalMixerNode> node,
805 PSafePtr<OpalMixerNode> node,
809 unsigned options = 0,
883 const PString & value
904 unsigned duration = 0
964 PSafePtr<OpalMixerNode> node,
977 virtual PBoolean
Open();
984 virtual PBoolean
Start();
1043 void CloseOne(
const PSafePtr<OpalMixerMediaStream> & stream);
1077 PSafePtr<OpalMixerMediaStream> & stream,
1079 const short * audioToSubtract
1082 #ifdef OPAL_MIXER_AUDIO_DEBUG
1083 class PAudioMixerDebug * m_audioDebug;
1108 #endif // OPAL_VIDEO
1204 const PString & value
1237 const PString & name
1243 const PString & name
1255 template <
class Sub
class>
1257 PSafetyMode mode = PSafeReference
1263 PSafetyMode mode = PSafeReference
1264 )
const {
return GetFirstConnectionAs<OpalConnection>(mode); }
1281 const PString & connectionIdentifier
1298 typedef std::map<OpalVideoFormat::ContentRole, OpalVideoStreamMixer *>
VideoMixerMap;
1300 #endif // OPAL_VIDEO
1307 #endif // OPAL_HAS_MIXER
1309 #endif // OPAL_OPAL_OPAL_MIXER