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


Public Member Functions | |
| OpalVideoStreamMixer (const OpalMixerNodeInfo &info) | |
| ~OpalVideoStreamMixer () | |
| virtual bool | SetFrameRate (unsigned rate) |
| 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 | 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) |
| virtual void | StartPushThread () |
| virtual bool | OnPush () |
| void | StopPushThread (bool lock=true) |
| unsigned | GetPeriodMS () const |
| 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 Types | |
| typedef PDictionary< PString, OpalTranscoder > | TranscoderMap |
Protected Types inherited from OpalBaseMixer | |
| typedef std::map< Key_T, Stream * > | StreamMap_T |
Protected Types inherited from OpalMediaStreamMixer | |
| typedef PSafeDictionary < PString, OpalMixerMediaStream > | StreamDict |
Protected Attributes | |
| TranscoderMap | 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 |
Protected Attributes inherited from OpalMediaStreamMixer | |
| StreamDict | m_outputStreams |
Additional Inherited Members | |
Public Types inherited from OpalVideoMixer | |
| enum | Styles { eSideBySideLetterbox, eSideBySideScaled, eStackedPillarbox, eStackedScaled, eGrid, eUser } |
Public Types inherited from OpalBaseMixer | |
| typedef PString | Key_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) |
Protected Member Functions inherited from OpalBaseMixer | |
| void | PushThreadMain () |
| PDECLARE_MUTEX (m_mutex) | |
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.
|
protected |
| 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.
|
virtual |
Set output video frame rate. May be dynamically changed at any time.
Reimplemented from OpalVideoMixer.
|
protected |