vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
cJitterTracker Class Reference

Jitter Tracker. More...

#include <jittertracker.h>

Public Member Functions

 cJitterTracker (const char *identifier)
 
void PacketReceived (void)
 Called each time a packet is received.
 
void Reset (void)
 Resets the jitter tracker.
 
int GetLongTermMaxJitterMs (void)
 
int GetShortTermMaxJitterMs (void)
 

Private Attributes

int64_t m_lastDiffMs = 0
 
std::chrono::steady_clock::time_point m_lastTime
 
std::atomic< intm_shortTermMaxJitterMs = 0
 
int m_packetCounter = 0
 
std::atomic< intm_longTermMaxJitterMs = 0
 
bool m_firstPacket = true
 
bool m_secondPacket = true
 
const charm_identifier
 

Detailed Description

Jitter Tracker.

Definition at line 21 of file jittertracker.h.

Constructor & Destructor Documentation

◆ cJitterTracker()

cJitterTracker::cJitterTracker ( const char identifier)
inline

Definition at line 23 of file jittertracker.h.

Member Function Documentation

◆ GetLongTermMaxJitterMs()

int cJitterTracker::GetLongTermMaxJitterMs ( void  )
inline

Definition at line 26 of file jittertracker.h.

References m_longTermMaxJitterMs.

Referenced by cSoftHdDevice::PlayAudio(), and cSoftHdDevice::PlayVideoInternal().

◆ GetShortTermMaxJitterMs()

int cJitterTracker::GetShortTermMaxJitterMs ( void  )
inline

Definition at line 27 of file jittertracker.h.

References m_shortTermMaxJitterMs.

Referenced by cSoftHdDevice::PlayAudio(), and cSoftHdDevice::PlayVideoInternal().

◆ PacketReceived()

void cJitterTracker::PacketReceived ( void  )

Called each time a packet is received.

Calculates the diff in PTS to the last received packet and compares that to the diff of the wall clock time of the last received packet to now.

Definition at line 22 of file jittertracker.cpp.

References m_firstPacket, m_lastDiffMs, m_lastTime, m_longTermMaxJitterMs, m_packetCounter, m_secondPacket, and m_shortTermMaxJitterMs.

Referenced by cSoftHdDevice::PlayAudio(), and cSoftHdDevice::PlayVideoInternal().

◆ Reset()

void cJitterTracker::Reset ( void  )

Resets the jitter tracker.

Definition at line 68 of file jittertracker.cpp.

References m_firstPacket, m_lastDiffMs, m_longTermMaxJitterMs, m_packetCounter, m_secondPacket, and m_shortTermMaxJitterMs.

Referenced by cSoftHdDevice::OnEnteringState().

Member Data Documentation

◆ m_firstPacket

bool cJitterTracker::m_firstPacket = true
private

Definition at line 35 of file jittertracker.h.

Referenced by PacketReceived(), and Reset().

◆ m_identifier

const char* cJitterTracker::m_identifier
private

Definition at line 37 of file jittertracker.h.

◆ m_lastDiffMs

int64_t cJitterTracker::m_lastDiffMs = 0
private

Definition at line 30 of file jittertracker.h.

Referenced by PacketReceived(), and Reset().

◆ m_lastTime

std::chrono::steady_clock::time_point cJitterTracker::m_lastTime
private

Definition at line 31 of file jittertracker.h.

Referenced by PacketReceived().

◆ m_longTermMaxJitterMs

std::atomic<int> cJitterTracker::m_longTermMaxJitterMs = 0
private

Definition at line 34 of file jittertracker.h.

Referenced by GetLongTermMaxJitterMs(), PacketReceived(), and Reset().

◆ m_packetCounter

int cJitterTracker::m_packetCounter = 0
private

Definition at line 33 of file jittertracker.h.

Referenced by PacketReceived(), and Reset().

◆ m_secondPacket

bool cJitterTracker::m_secondPacket = true
private

Definition at line 36 of file jittertracker.h.

Referenced by PacketReceived(), and Reset().

◆ m_shortTermMaxJitterMs

std::atomic<int> cJitterTracker::m_shortTermMaxJitterMs = 0
private

Definition at line 32 of file jittertracker.h.

Referenced by GetShortTermMaxJitterMs(), PacketReceived(), and Reset().


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