Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::rtcp::SendReport Struct Reference

Sender report, for inspection on receiver. More...

#include <reports.h>

Public Attributes

const char * sender_cname
 CNAME of sender. Should not change. On sender, should be same as local CNAME. More...
 
packet::stream_source_t sender_source_id
 SSRC of sender. Should not change. On sender, should be same as local SSRC. More...
 
core::nanoseconds_t report_timestamp
 Absolute timestamp of report in nanoseconds since Unix epoch. Defines time when report was sent in sender's clock domain. More...
 
packet::stream_timestamp_t stream_timestamp
 RTP timestamp corresponding to absolute timestamp. Estimated stream timestamp (STS) of the sample being captured at the time corresponding to report_timestamp. More...
 
size_t sample_rate
 Number of RTP timestamp units per second. Write-only field. You should set it to non-zero value on sender, however on receiver it is always zero. More...
 
uint64_t packet_count
 Number of packets sent. The total number of RTP data packets transmitted by the sender since starting transmission up until the time of this report. More...
 
uint64_t byte_count
 Number of bytes sent. The total number of payload octets (i.e., not including header or padding) transmitted in RTP data packets by the sender since starting transmission up until the time this report. More...
 
core::nanoseconds_t clock_offset
 Estimated offset of remote clock relative to local clock. If you add it to local timestamp, you get estimated remote timestamp. If you subtract it from remote timestamp, you get estimated local timestamp. Read-only field. You can read it on receiver, but you should not set it on sender. More...
 
core::nanoseconds_t rtt
 Estimated round-trip time between sender and receiver. Computed based on NTP-like timestamp exchange implemennted by RTCP protocol. Read-only field. You can read it on receiver, but you should not set it on sender. More...
 

Detailed Description

Sender report, for inspection on receiver.

Remarks
This struct accumulates data of SDES, SR, and XR packets. On sender, it's queried from pipeline and used to generate RTCP packets. On receiver, it's filled from RTCP packets and passed to pipeline.

Definition at line 27 of file reports.h.

Member Data Documentation

◆ byte_count

uint64_t roc::rtcp::SendReport::byte_count

Number of bytes sent. The total number of payload octets (i.e., not including header or padding) transmitted in RTP data packets by the sender since starting transmission up until the time this report.

Definition at line 61 of file reports.h.

◆ clock_offset

core::nanoseconds_t roc::rtcp::SendReport::clock_offset

Estimated offset of remote clock relative to local clock. If you add it to local timestamp, you get estimated remote timestamp. If you subtract it from remote timestamp, you get estimated local timestamp. Read-only field. You can read it on receiver, but you should not set it on sender.

Definition at line 68 of file reports.h.

◆ packet_count

uint64_t roc::rtcp::SendReport::packet_count

Number of packets sent. The total number of RTP data packets transmitted by the sender since starting transmission up until the time of this report.

Definition at line 55 of file reports.h.

◆ report_timestamp

core::nanoseconds_t roc::rtcp::SendReport::report_timestamp

Absolute timestamp of report in nanoseconds since Unix epoch. Defines time when report was sent in sender's clock domain.

Definition at line 40 of file reports.h.

◆ rtt

core::nanoseconds_t roc::rtcp::SendReport::rtt

Estimated round-trip time between sender and receiver. Computed based on NTP-like timestamp exchange implemennted by RTCP protocol. Read-only field. You can read it on receiver, but you should not set it on sender.

Definition at line 74 of file reports.h.

◆ sample_rate

size_t roc::rtcp::SendReport::sample_rate

Number of RTP timestamp units per second. Write-only field. You should set it to non-zero value on sender, however on receiver it is always zero.

Definition at line 50 of file reports.h.

◆ sender_cname

const char* roc::rtcp::SendReport::sender_cname

CNAME of sender. Should not change. On sender, should be same as local CNAME.

Definition at line 31 of file reports.h.

◆ sender_source_id

packet::stream_source_t roc::rtcp::SendReport::sender_source_id

SSRC of sender. Should not change. On sender, should be same as local SSRC.

Definition at line 36 of file reports.h.

◆ stream_timestamp

packet::stream_timestamp_t roc::rtcp::SendReport::stream_timestamp

RTP timestamp corresponding to absolute timestamp. Estimated stream timestamp (STS) of the sample being captured at the time corresponding to report_timestamp.

Definition at line 45 of file reports.h.


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