12#ifndef ROC_PIPELINE_RECEIVER_SESSION_H_
13#define ROC_PIPELINE_RECEIVER_SESSION_H_
Memory allocator interface.
Base class for list element.
Optionally constructed object.
Base class for reference counted object.
IAllocator & allocator() const
Get allocator.
Receiver session sub-pipeline.
audio::IFrameReader & reader()
Get audio reader.
void add_link_metrics(const rtcp::LinkMetrics &metrics)
Handle estimated link metrics.
bool valid() const
Check if the session pipeline was succefully constructed.
void add_sending_metrics(const rtcp::SendingMetrics &metrics)
Handle metrics obtained from sender.
bool handle(const packet::PacketPtr &packet)
Try to route a packet to this session.
bool reclock(packet::ntp_timestamp_t timestamp)
Adjust session clock to match consumer clock.
bool advance(packet::timestamp_t timestamp)
Advance session timestamp.
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::IAllocator &allocator)
Initialize.
Memory allocator interface.
FEC block decoder interface.
Audio frame decoder interface.
Audio resampler interface.
uint32_t timestamp_t
Audio packet timestamp.
uint64_t ntp_timestamp_t
NTP timestamp.
Optionally constructed object.
Base class for reference counted object.
Route packets to writers.
Receiver common parameters.
Receiver session parameters.
Metrics for network link. Calculated independently on both sender and receiver.
Metrics sent from sender to receiver.