OPAL  Version 3.10.4
OpalMixerNode::VideoMixer Struct Reference

#include <opalmixer.h>

Inheritance diagram for OpalMixerNode::VideoMixer:
OpalVideoMixer OpalMixerNode::MediaMixer OpalBaseMixer

Public Member Functions

 VideoMixer (const OpalMixerNodeInfo &info)
 ~VideoMixer ()
virtual bool OnMixed (RTP_DataFrame *&output)
- Public Member Functions inherited from OpalVideoMixer
 OpalVideoMixer (Styles style, unsigned width, unsigned height, unsigned rate=15, bool pushThread=true)
 ~OpalVideoMixer ()
unsigned GetFrameWidth () const
unsigned GetFrameHeight () const
unsigned GetFrameRate () const
bool SetFrameRate (unsigned rate)
bool SetFrameSize (unsigned width, unsigned height)
- Public Member Functions inherited from OpalBaseMixer
 OpalBaseMixer (bool pushThread, unsigned periodMS, unsigned periodTS)
virtual ~OpalBaseMixer ()
virtual bool AddStream (const Key_T &key)
virtual void RemoveStream (const Key_T &key)
virtual void RemoveAllStreams ()
virtual bool WriteStream (const Key_T &key, const RTP_DataFrame &input)
virtual RTP_DataFrameReadMixed ()
virtual bool ReadMixed (RTP_DataFrame &mixed)
void StartPushThread ()
void StopPushThread (bool lock=true)
unsigned GetPeriodTS () const
- Public Member Functions inherited from OpalMixerNode::MediaMixer
 MediaMixer ()

Data Fields

PDictionary< PString,
OpalTranscoder
m_transcoders
- Data Fields inherited from OpalMixerNode::MediaMixer
PSafeList< OpalMixerMediaStreamm_outputStreams

Additional Inherited Members

- Public Types inherited from OpalVideoMixer
enum  Styles {
  eSideBySideLetterbox, eSideBySideScaled, eStackedPillarbox, eStackedScaled,
  eGrid
}
- Public Types inherited from OpalBaseMixer
typedef PString Key_T
- Protected Member Functions inherited from OpalVideoMixer
virtual StreamCreateStream ()
virtual bool MixStreams (RTP_DataFrame &frame)
virtual size_t GetOutputSize () const
- Protected Member Functions inherited from OpalBaseMixer
virtual bool OnPush ()
void PushThreadMain ()
- Protected Attributes inherited from OpalVideoMixer
Styles m_style
unsigned m_width
unsigned m_height
BYTE m_bgFillRed
BYTE m_bgFillGreen
BYTE m_bgFillBlue
PBYTEArray m_frameStore
size_t m_lastStreamCount
- Protected Attributes inherited from OpalBaseMixer
bool m_pushThread
unsigned m_periodMS
unsigned m_periodTS
StreamMap_T m_inputStreams
unsigned m_outputTimestamp
RTP_DataFramem_pushFrame
PThread * m_workerThread
bool m_threadRunning
PMutex m_mutex

Constructor & Destructor Documentation

OpalMixerNode::VideoMixer::VideoMixer ( const OpalMixerNodeInfo info)
OpalMixerNode::VideoMixer::~VideoMixer ( )

Member Function Documentation

virtual bool OpalMixerNode::VideoMixer::OnMixed ( RTP_DataFrame *&  mixed)
virtual

Mixed data is now available. For a push model system, this is called with mixed data as returned by ReadMixed().

The "mixed" parameter is a reference to a pointer, so if the consumer wishes to take responsibility for deleting the pointer to an RTP data frame, then they can set it to NULL.

If false is returned then the push thread is exited.

Reimplemented from OpalBaseMixer.


Field Documentation

PDictionary<PString, OpalTranscoder> OpalMixerNode::VideoMixer::m_transcoders

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