Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::rtcp::header::XrQueueMetricsBlock Class Reference

XR Queue Metrics Block. More...

#include <headers.h>

Public Member Functions

void reset ()
 Reset to initial state (all zeros). More...
 
const XrBlockHeaderheader () const
 Get common block header. More...
 
XrBlockHeaderheader ()
 Get common block header. More...
 
MetricFlag metric_flag () const
 Get Interval Metrics flag. More...
 
void set_metric_flag (const MetricFlag f)
 Set Interval Metrics flag. More...
 
packet::stream_source_t ssrc () const
 Get SSRC of source being reported. More...
 
void set_ssrc (const packet::stream_source_t ssrc)
 Set SSRC of source being reported. More...
 
bool has_niq_latency () const
 Check if Network Incoming Queue Delay is set. More...
 
packet::ntp_timestamp_t niq_latency () const
 Get Network Incoming Queue Delay. More...
 
void set_niq_latency (const packet::ntp_timestamp_t t)
 Set Network Incoming Queue Delay. More...
 
bool has_niq_stalling () const
 Check if Network Incoming Queue Stalling is set. More...
 
packet::ntp_timestamp_t niq_stalling () const
 Get Network Incoming Queue Stalling. More...
 
void set_niq_stalling (const packet::ntp_timestamp_t t)
 Set Network Incoming Queue Stalling. More...
 

Detailed Description

XR Queue Metrics Block.

Non-standard.

Reports two metrics from receiver to sender:

  • niq_latency: current length of network incoming queue, measured via timestamp difference between last received packet and last decoded packet (expressed in units of 1/65536 seconds)
  • niq_stalling: current elapsed time since last received packet (expressed in units of 1/65536 seconds)
0 1 2 3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT=220 | I | resv. | block length = 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of Source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Incoming Queue Latency |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Incoming Queue Stalling |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@ Source
Source packet header of footer.
Definition: headers.h:26

Definition at line 1668 of file headers.h.

Member Function Documentation

◆ has_niq_latency()

bool roc::rtcp::header::XrQueueMetricsBlock::has_niq_latency ( ) const
inline

Check if Network Incoming Queue Delay is set.

Definition at line 1728 of file headers.h.

◆ has_niq_stalling()

bool roc::rtcp::header::XrQueueMetricsBlock::has_niq_stalling ( ) const
inline

Check if Network Incoming Queue Stalling is set.

Definition at line 1743 of file headers.h.

◆ header() [1/2]

XrBlockHeader& roc::rtcp::header::XrQueueMetricsBlock::header ( )
inline

Get common block header.

Definition at line 1700 of file headers.h.

◆ header() [2/2]

const XrBlockHeader& roc::rtcp::header::XrQueueMetricsBlock::header ( ) const
inline

Get common block header.

Definition at line 1695 of file headers.h.

◆ metric_flag()

MetricFlag roc::rtcp::header::XrQueueMetricsBlock::metric_flag ( ) const
inline

Get Interval Metrics flag.

Definition at line 1705 of file headers.h.

◆ niq_latency()

packet::ntp_timestamp_t roc::rtcp::header::XrQueueMetricsBlock::niq_latency ( ) const
inline

Get Network Incoming Queue Delay.

Definition at line 1733 of file headers.h.

◆ niq_stalling()

packet::ntp_timestamp_t roc::rtcp::header::XrQueueMetricsBlock::niq_stalling ( ) const
inline

Get Network Incoming Queue Stalling.

Definition at line 1748 of file headers.h.

◆ reset()

void roc::rtcp::header::XrQueueMetricsBlock::reset ( )
inline

Reset to initial state (all zeros).

Definition at line 1687 of file headers.h.

◆ set_metric_flag()

void roc::rtcp::header::XrQueueMetricsBlock::set_metric_flag ( const MetricFlag  f)
inline

Set Interval Metrics flag.

Definition at line 1711 of file headers.h.

◆ set_niq_latency()

void roc::rtcp::header::XrQueueMetricsBlock::set_niq_latency ( const packet::ntp_timestamp_t  t)
inline

Set Network Incoming Queue Delay.

Definition at line 1738 of file headers.h.

◆ set_niq_stalling()

void roc::rtcp::header::XrQueueMetricsBlock::set_niq_stalling ( const packet::ntp_timestamp_t  t)
inline

Set Network Incoming Queue Stalling.

Definition at line 1753 of file headers.h.

◆ set_ssrc()

void roc::rtcp::header::XrQueueMetricsBlock::set_ssrc ( const packet::stream_source_t  ssrc)
inline

Set SSRC of source being reported.

Definition at line 1723 of file headers.h.

◆ ssrc()

packet::stream_source_t roc::rtcp::header::XrQueueMetricsBlock::ssrc ( ) const
inline

Get SSRC of source being reported.

Definition at line 1718 of file headers.h.


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