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.
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.