OpalVideoRateController Class Reference

#include <ratectl.h>

List of all members.

Classes

struct  FrameInfo
class  FrameInfoList

Public Member Functions

 OpalVideoRateController ()
void Open (unsigned targetBitRate, int outputFrameTime=-1, unsigned windowSizeInMs=500, unsigned maxConsecutiveFramesSkip=5)
bool SkipFrame ()
void AddFrame (PInt64 sizeInBytes, int packetPacketCount)

Protected Member Functions

bool CheckFrameRate (bool reporting)
bool CheckBitRate (bool reporting)
void Reset ()
void AddFrame (PInt64 sizeInBytes, int packetPacketCount, PInt64 now)

Protected Attributes

unsigned byteRate
unsigned bitRateHistorySizeInMs
unsigned maxConsecutiveFramesSkip
int targetOutputFrameTime
PInt64 targetBitRateHistorySize
PInt64 startTime
PInt64 inputFrameCount
PInt64 outputFrameCount
unsigned consecutiveFramesSkipped
PInt64 now
PInt64 lastReport
FrameInfoList bitRateHistory
FrameInfoList frameRateHistory


Constructor & Destructor Documentation

OpalVideoRateController::OpalVideoRateController (  ) 


Member Function Documentation

void OpalVideoRateController::AddFrame ( PInt64  sizeInBytes,
int  packetPacketCount,
PInt64  now 
) [protected]

void OpalVideoRateController::AddFrame ( PInt64  sizeInBytes,
int  packetPacketCount 
)

Add information about an encoded frame

Parameters:
sizeInBytes total payload size in bytes, including all RTP headers
packetPacketCount total number of RTP packets sent

bool OpalVideoRateController::CheckBitRate ( bool  reporting  )  [protected]

bool OpalVideoRateController::CheckFrameRate ( bool  reporting  )  [protected]

void OpalVideoRateController::Open ( unsigned  targetBitRate,
int  outputFrameTime = -1,
unsigned  windowSizeInMs = 500,
unsigned  maxConsecutiveFramesSkip = 5 
)

Open the rate controller with the specific parameters

Parameters:
targetBitRate target bit rate to acheive
outputFrameTime output frame time (90000 / rate), or -1 to not limit frame rate
windowSizeInMs size of history used for calculating output bit rate
maxConsecutiveFramesSkip maximum number of consecutive frames to skip

void OpalVideoRateController::Reset (  )  [protected]

bool OpalVideoRateController::SkipFrame (  ) 

Determine if the next frame should be skipped


Member Data Documentation

unsigned OpalVideoRateController::byteRate [protected]

PInt64 OpalVideoRateController::now [protected]


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

Generated on Fri Apr 10 21:32:56 2009 for OPAL by  doxygen 1.5.8