|
OPAL
Version 3.14.3
|
#include <opalmixer.h>


Public Member Functions | |
| OpalVideoStreamMixer (const OpalMixerNodeInfo &info) | |
| ~OpalVideoStreamMixer () | |
| 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_DataFrame * | ReadMixed () |
| virtual bool | ReadMixed (RTP_DataFrame &mixed) |
| void | StartPushThread () |
| void | StopPushThread (bool lock=true) |
| unsigned | GetPeriodTS () const |
Public Member Functions inherited from OpalMediaStreamMixer | |
| OpalMediaStreamMixer () | |
| void | Append (const PSafePtr< OpalMixerMediaStream > &stream) |
| void | Remove (const PSafePtr< OpalMixerMediaStream > &stream) |
| void | CloseOne (const PSafePtr< OpalMixerMediaStream > &stream) |
Protected Attributes | |
| PDictionary< PString, OpalTranscoder > | m_transcoders |
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_DataFrame * | m_pushFrame |
| PThread * | m_workerThread |
| bool | m_threadRunning |
| PMutex | m_mutex |
Protected Attributes inherited from OpalMediaStreamMixer | |
| PSafeList< OpalMixerMediaStream > | m_outputStreams |
Additional Inherited Members | |
Public Types inherited from OpalVideoMixer | |
| enum | Styles { eSideBySideLetterbox, eSideBySideScaled, eStackedPillarbox, eStackedScaled, eGrid, eUser } |
Protected Types inherited from OpalBaseMixer | |
| typedef std::map< Key_T, Stream * > | StreamMap_T |
Protected Member Functions inherited from OpalVideoMixer | |
| virtual Stream * | CreateStream () |
| virtual bool | MixStreams (RTP_DataFrame &frame) |
| virtual size_t | GetOutputSize () const |
| virtual bool | MixVideo () |
| virtual bool | StartMix (unsigned &x, unsigned &y, unsigned &w, unsigned &h, unsigned &left) |
| virtual bool | NextMix (unsigned &x, unsigned &y, unsigned &w, unsigned &h, unsigned &left) |
| void | InsertVideoFrame (const StreamMap_T::iterator &it, unsigned x, unsigned y, unsigned w, unsigned h) |
Video mixer. This class represents the frame store for the mixed video.
A user would typically create a derived class to override the MixVideo() or the StartMix()/NextMix() virtual functions for new screen patterns/algorithms.
| OpalVideoStreamMixer::OpalVideoStreamMixer | ( | const OpalMixerNodeInfo & | info | ) |
| OpalVideoStreamMixer::~OpalVideoStreamMixer | ( | ) |
|
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.
|
protected |