12 #ifndef ROC_RTP_LINK_METER_H_
13 #define ROC_RTP_LINK_METER_H_
104 uint16_t first_seqnum_;
105 uint32_t last_seqnum_hi_;
106 uint16_t last_seqnum_lo_;
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
Base class for non-copyable objects.
RTP encoding map. Thread-safe. Returned encodings are immutable and can be safely used from any threa...
bool has_encoding() const
Check if packet encoding already detected.
void process_report(const rtcp::SendReport &report)
Process RTCP report from sender.
const Encoding & encoding() const
Get detected encoding.
void set_reader(packet::IReader &reader)
Set nested packet reader.
void set_writer(packet::IWriter &writer)
Set nested packet writer.
LinkMeter(const EncodingMap &encoding_map)
Initialize.
virtual const packet::LinkMetrics & metrics() const
Get metrics.
virtual ROC_ATTR_NODISCARD status::StatusCode read(packet::PacketPtr &packet)
Read packet and update metrics.
virtual bool has_metrics() const
Check if metrics are already gathered and can be reported.
virtual ROC_ATTR_NODISCARD status::StatusCode write(const packet::PacketPtr &packet)
Write packet and update metrics.
Sender report, for inspection on receiver.