OPAL  Version 3.10.10
OpalVideoRateController Class Referenceabstract

#include <ratectl.h>

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::OpalVideoRateController ( )

◆ ~OpalVideoRateController()

virtual OpalVideoRateController::~OpalVideoRateController ( )
virtual

Member Function Documentation

◆ Open()

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

Open the rate controller with the specific parameters

◆ Pop()

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

retreive encoded frames from the rate controller queue

◆ Push()

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

push encoded frames into the rate controller queue

◆ SkipFrame()

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

◆ m_bitRateCalc

OpalBitRateCalculator OpalVideoRateController::m_bitRateCalc

Bit rate calculator used by rate controller

◆ m_inputFrameCount

PInt64 OpalVideoRateController::m_inputFrameCount
protected

◆ m_outputFrameCount

PInt64 OpalVideoRateController::m_outputFrameCount
protected

◆ m_outputFrameTime

unsigned OpalVideoRateController::m_outputFrameTime
protected

◆ m_packets

std::deque<PacketEntry> OpalVideoRateController::m_packets
protected

◆ m_targetBitRate

unsigned OpalVideoRateController::m_targetBitRate
protected

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