OPAL  Version 3.14.3
OpalVideoRateController Class Referenceabstract

#include <ratectl.h>

Collaboration diagram for OpalVideoRateController:

Data Structures

struct  PacketEntry
 

Public Member Functions

 OpalVideoRateController ()
 
virtual ~OpalVideoRateController ()
 
virtual void Open (const OpalMediaFormat &mediaFormat)
 
virtual bool SkipFrame (bool &forceIFrame)=0
 
virtual void Push (RTP_DataFrameList &inputFrames, bool iFrame)
 
virtual bool Pop (RTP_DataFrameList &outputPackets, bool &iFrame, bool force)
 

Data Fields

OpalBitRateCalculator m_bitRateCalc
 

Protected Attributes

unsigned m_targetBitRate
 
unsigned m_outputFrameTime
 
PInt64 m_inputFrameCount
 
PInt64 m_outputFrameCount
 
std::deque< PacketEntrym_packets
 

Constructor & Destructor Documentation

OpalVideoRateController::OpalVideoRateController ( )
virtual OpalVideoRateController::~OpalVideoRateController ( )
virtual

Member Function Documentation

virtual void OpalVideoRateController::Open ( const OpalMediaFormat mediaFormat)
virtual

Open the rate controller with the specific parameters

virtual bool OpalVideoRateController::Pop ( RTP_DataFrameList &  outputPackets,
bool &  iFrame,
bool  force 
)
virtual

retreive encoded frames from the rate controller queue

virtual void OpalVideoRateController::Push ( RTP_DataFrameList &  inputFrames,
bool  iFrame 
)
virtual

push encoded frames into the rate controller queue

virtual bool OpalVideoRateController::SkipFrame ( bool &  forceIFrame)
pure virtual

Determine if the next frame should be skipped. The rate controller can also indicate whether the next frame should be encoded as an I-frame, which is useful if many frames have been skipped

Field Documentation

OpalBitRateCalculator OpalVideoRateController::m_bitRateCalc

Bit rate calculator used by rate controller

PInt64 OpalVideoRateController::m_inputFrameCount
protected
PInt64 OpalVideoRateController::m_outputFrameCount
protected
unsigned OpalVideoRateController::m_outputFrameTime
protected
std::deque<PacketEntry> OpalVideoRateController::m_packets
protected
unsigned OpalVideoRateController::m_targetBitRate
protected

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