12 #ifndef ROC_RTCP_IPARTICIPANT_H_
13 #define ROC_RTCP_IPARTICIPANT_H_
81 return status::StatusOK;
108 return status::StatusOK;
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
virtual void query_recv_streams(RecvReport *reports, size_t n_reports, core::nanoseconds_t report_time)
Query receiving reports from local receiving streams. Reports will be used to generate RTCP packets f...
virtual ROC_ATTR_NODISCARD status::StatusCode notify_recv_stream(packet::stream_source_t send_source_id, const SendReport &send_report)
Notify local receiving stream with sender report. Report was gathered from RTCP packets from remote s...
virtual ParticipantInfo participant_info()=0
Get local participant info. Invoked to know local CNAME, SSRC, etc.
virtual size_t num_recv_streams()
Check how many local receiving streams are present. Multiple local receiving streams are allowed,...
virtual void change_source_id()=0
Change local SSRC to another randomly selected number. Invoked when SSRC collision is detected.
virtual SendReport query_send_stream(core::nanoseconds_t report_time)
Query sending report for local sending stream. Report will be used to generate RTCP packets for remot...
virtual ROC_ATTR_NODISCARD status::StatusCode notify_send_stream(packet::stream_source_t recv_source_id, const RecvReport &recv_report)
Notify local sending stream with receiver report. Report was gathered from RTCP packets from remote r...
virtual void halt_recv_stream(packet::stream_source_t send_source_id)
Terminate local receiving stream. Invoked when BYE packet is received from remote sender....
virtual bool has_send_stream()
Check whether pipeline has local sending stream. There can be only one local sending stream (or none)...
int64_t nanoseconds_t
Nanoseconds.
uint32_t stream_source_t
Packet stream identifier.
Receiver report, for inspection on sender.
Sender report, for inspection on receiver.
Various units used in packets.