|
OPAL
Version 3.18.8
|
#include <vidcodec.h>
Inherits PObject.
Public Member Functions | |
| OpalIntraFrameControl (const PTimeInterval &minThrottle=DefaultMinThrottle, const PTimeInterval &maxThrottle=DefaultMaxThrottle, const PTimeInterval &periodic=DefaultPeriodic) | |
| void | IntraFrameRequest () |
| bool | RequireIntraFrame () |
| void | IntraFrameDetected () |
| void | SetTimes (const PTimeInterval &minThrottle, const PTimeInterval &maxThrottle, const PTimeInterval &periodic, const PTimeInterval &retry) |
Static Public Attributes | |
| static PTimeInterval const | DefaultMinThrottle |
| static PTimeInterval const | DefaultMaxThrottle |
| static PTimeInterval const | DefaultPeriodic |
Protected Types | |
| enum | State { e_Idle, e_Periodic, e_Throttled, e_Requesting, e_Requested } |
Protected Member Functions | |
| PDECLARE_MUTEX (m_mutex) | |
| PDECLARE_NOTIFIER (PTimer, OpalIntraFrameControl, OnTimedRequest) | |
Protected Attributes | |
| PTimeInterval | m_minThrottleTime |
| PTimeInterval | m_maxThrottleTime |
| PTimeInterval | m_periodicTime |
| PTimeInterval | m_retryTime |
| PTimeInterval | m_currentThrottleTime |
| enum OpalIntraFrameControl::State | m_state |
| unsigned | m_stuckCount |
| PTime | m_lastRequest |
| PTimer | m_requestTimer |
Handle logic for Intra frame control. This class deals with issues of too many and too few Intra frames being sent in response to requests from various sources.
|
protected |
| OpalIntraFrameControl::OpalIntraFrameControl | ( | const PTimeInterval & | minThrottle = DefaultMinThrottle, |
| const PTimeInterval & | maxThrottle = DefaultMaxThrottle, |
||
| const PTimeInterval & | periodic = DefaultPeriodic |
||
| ) |
| minThrottle | Minimum time between intra frames |
| maxThrottle | If many requests, throttle period increases to this |
| periodic | Make sure Intra frames are at least this often |
| void OpalIntraFrameControl::IntraFrameDetected | ( | ) |
Detected Intra frame, so can cease requests.
| void OpalIntraFrameControl::IntraFrameRequest | ( | ) |
Handling incoming request for Intra frame.
|
protected |
|
protected |
| bool OpalIntraFrameControl::RequireIntraFrame | ( | ) |
Indicate that now is the time for an Intra frame to be generated.
| void OpalIntraFrameControl::SetTimes | ( | const PTimeInterval & | minThrottle, |
| const PTimeInterval & | maxThrottle, | ||
| const PTimeInterval & | periodic, | ||
| const PTimeInterval & | retry | ||
| ) |
Set throttle times for controlling Intra Frame. This is
| minThrottle | Minimum time between intra frames |
| maxThrottle | If many requests, throttle period increases to this |
| periodic | Make sure Intra frames are at least this often |
| retry | Retry request, typically the media round trip time, plus a bit. |
Referenced by OpalVideoTranscoder::SetDecodingIntraFrameControlTimes(), and OpalVideoTranscoder::SetEncodingIntraFrameControlTimes().
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |