12#ifndef ROC_RTCP_SESSION_H_
13#define ROC_RTCP_SESSION_H_
61 void parse_events_(
const Traverser& traverser);
62 void parse_reports_(
const Traverser& traverser);
77 void build_session_description_(
Builder& bld);
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
Buffer factory. Allows to instantiate fixed-size buffers.
Packet composer interface.
RTCP compound packet builder.
Receiver hooks interface.
RTCP session. Processes incoming RTCP packets and generates outgoing RTCP packets.
ROC_ATTR_NODISCARD status::StatusCode process_packet(const packet::PacketPtr &packet)
Parse and process incoming packet. Invokes session hooks methods during processing.
status::StatusCode ROC_ATTR_NODISCARD generate_packets(core::nanoseconds_t current_time)
Generate and send packet(s). Should be called accroding to generation_deadline(). current_time is cur...
Session(IReceiverHooks *recv_hooks, ISenderHooks *send_hooks, packet::IWriter *packet_writer, packet::IComposer &packet_composer, packet::PacketFactory &packet_factory, core::BufferFactory< uint8_t > &buffer_factory)
Initialize.
bool is_valid() const
Check if initialization succeeded.
core::nanoseconds_t generation_deadline(core::nanoseconds_t current_time)
When we should generate packets next time. Returns absolute time. current_time is current time in nan...
RTCP compound packet traverser.
Packet composer interface.
Receiver hooks interface.
int64_t nanoseconds_t
Nanoseconds.
uint32_t stream_source_t
Packet stream identifier.
Commonly used types and functions.
Metrics sent from receiver to sender per source.