12 #ifndef ROC_PIPELINE_RECEIVER_SESSION_H_
13 #define ROC_PIPELINE_RECEIVER_SESSION_H_
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
IArena & arena() const
Get arena.
Base class for list element.
Optionally constructed object.
Base class for object with reference counter.
Receiver session sub-pipeline.
audio::IFrameReader & reader()
Get audio reader.
void add_link_metrics(const rtcp::LinkMetrics &metrics)
Handle estimated link metrics.
void add_sending_metrics(const rtcp::SendingMetrics &metrics)
Handle metrics obtained from sender.
ROC_ATTR_NODISCARD status::StatusCode route(const packet::PacketPtr &packet)
Try to route a packet to this session.
ReceiverSession(const ReceiverSessionConfig &session_config, const ReceiverCommonConfig &common_config, const address::SocketAddr &src_address, const rtp::FormatMap &format_map, packet::PacketFactory &packet_factory, core::BufferFactory< uint8_t > &byte_buffer_factory, core::BufferFactory< audio::sample_t > &sample_buffer_factory, core::IArena &arena)
Initialize.
bool refresh(core::nanoseconds_t current_time, core::nanoseconds_t *next_refresh)
Refresh pipeline according to current time.
bool reclock(core::nanoseconds_t playback_time)
Adjust session clock to match consumer clock.
ReceiverSessionMetrics get_metrics() const
Get session metrics.
bool is_valid() const
Check if the session pipeline was succefully constructed.
FEC block decoder interface.
Audio frame decoder interface.
Audio resampler interface.
int64_t nanoseconds_t
Nanoseconds.
Optionally constructed object.
Base class for object with reference counter.
Route packets to writers.
Receiver common parameters.
Receiver session parameters.
Metrics of receiver session (connection from sender).
Metrics for network link. Calculated independently on both sender and receiver.
Metrics sent from sender to receiver.
Fills capture timestamp field in packets.