|
OPAL Version 3.10.2
|
#include <opalmixer.h>
Data Structures | |
| struct | VideoStream |
Public Types | |
| enum | Styles { eSideBySideLetterbox, eSideBySideScaled, eStackedPillarbox, eStackedScaled, eGrid } |
Public Member Functions | |
| 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) |
Protected Member Functions | |
| virtual Stream * | CreateStream () |
| virtual bool | MixStreams (RTP_DataFrame &frame) |
| virtual size_t | GetOutputSize () const |
Protected Attributes | |
| 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 |
Friends | |
| struct | VideoStream |
Video mixer. This takes raw YUV420P frames with a PluginCodec_Video_FrameHeader in the RTP data frames, scales them and places them in particular positions of the output data frame. A number of different patterns for positioning the sub images are available in the Styles enum.
| OpalVideoMixer::OpalVideoMixer | ( | Styles | style, |
| unsigned | width, | ||
| unsigned | height, | ||
| unsigned | rate = 15, |
||
| bool | pushThread = true |
||
| ) |
| style | Style for mixing video |
| width | Width of output frame |
| height | Height of output frame |
| rate | Frames per second for output |
| pushThread | A push thread is to be created |
| OpalVideoMixer::~OpalVideoMixer | ( | ) | [inline] |
References OpalBaseMixer::StopPushThread().
| virtual Stream* OpalVideoMixer::CreateStream | ( | ) | [protected, virtual] |
Implements OpalBaseMixer.
| unsigned OpalVideoMixer::GetFrameHeight | ( | ) | const [inline] |
Get output video frame height.
References m_height.
| unsigned OpalVideoMixer::GetFrameRate | ( | ) | const [inline] |
Get output video frame rate (frames per second)
References OpalBaseMixer::m_periodMS.
| unsigned OpalVideoMixer::GetFrameWidth | ( | ) | const [inline] |
Get output video frame width.
References m_width.
| virtual size_t OpalVideoMixer::GetOutputSize | ( | ) | const [protected, virtual] |
Implements OpalBaseMixer.
| virtual bool OpalVideoMixer::MixStreams | ( | RTP_DataFrame & | frame | ) | [protected, virtual] |
Implements OpalBaseMixer.
| bool OpalVideoMixer::SetFrameRate | ( | unsigned | rate | ) |
Set output video frame rate. May be dynamically changed at any time.
| bool OpalVideoMixer::SetFrameSize | ( | unsigned | width, |
| unsigned | height | ||
| ) |
Set the output video frame width and height. May be dynamically changed at any time.
| width | New width |
| height | new height |
friend struct VideoStream [friend] |
BYTE OpalVideoMixer::m_bgFillBlue [protected] |
BYTE OpalVideoMixer::m_bgFillGreen [protected] |
BYTE OpalVideoMixer::m_bgFillRed [protected] |
PBYTEArray OpalVideoMixer::m_frameStore [protected] |
unsigned OpalVideoMixer::m_height [protected] |
Referenced by GetFrameHeight().
size_t OpalVideoMixer::m_lastStreamCount [protected] |
Styles OpalVideoMixer::m_style [protected] |
unsigned OpalVideoMixer::m_width [protected] |
Referenced by GetFrameWidth().