Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Receiver session sub-pipeline. More...
#include <receiver_session.h>
Public Member Functions | |
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. More... | |
bool | is_valid () const |
Check if the session pipeline was succefully constructed. More... | |
ROC_ATTR_NODISCARD status::StatusCode | route (const packet::PacketPtr &packet) |
Try to route a packet to this session. More... | |
bool | refresh (core::nanoseconds_t current_time, core::nanoseconds_t *next_refresh) |
Refresh pipeline according to current time. More... | |
bool | reclock (core::nanoseconds_t playback_time) |
Adjust session clock to match consumer clock. More... | |
ReceiverSessionMetrics | get_metrics () const |
Get session metrics. More... | |
audio::IFrameReader & | reader () |
Get audio reader. More... | |
void | add_sending_metrics (const rtcp::SendingMetrics &metrics) |
Handle metrics obtained from sender. More... | |
void | add_link_metrics (const rtcp::LinkMetrics &metrics) |
Handle estimated link metrics. More... | |
Public Member Functions inherited from roc::core::RefCounted< ReceiverSession, core::ArenaAllocation > | |
RefCounted () | |
Initialize. More... | |
RefCounted (const core::ArenaAllocation &policy) | |
Initialize. More... | |
int | getref () const |
Get reference counter. More... | |
void | incref () const |
Increment reference counter. More... | |
void | decref () const |
Decrement reference counter. More... | |
Public Member Functions inherited from roc::core::ListNode | |
ListNodeData * | list_node_data () const |
Get list node data. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from roc::core::ArenaAllocation | |
IArena & | arena () const |
Get arena. More... | |
ArenaAllocation (IArena &arena) | |
Initialize. More... | |
template<class T > | |
void | destroy (T &object) |
Destroy object and return memory to arena. More... | |
Receiver session sub-pipeline.
Contains:
Definition at line 58 of file receiver_session.h.
roc::pipeline::ReceiverSession::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.
void roc::pipeline::ReceiverSession::add_link_metrics | ( | const rtcp::LinkMetrics & | metrics | ) |
Handle estimated link metrics.
void roc::pipeline::ReceiverSession::add_sending_metrics | ( | const rtcp::SendingMetrics & | metrics | ) |
Handle metrics obtained from sender.
ReceiverSessionMetrics roc::pipeline::ReceiverSession::get_metrics | ( | ) | const |
Get session metrics.
bool roc::pipeline::ReceiverSession::is_valid | ( | ) | const |
Check if the session pipeline was succefully constructed.
audio::IFrameReader& roc::pipeline::ReceiverSession::reader | ( | ) |
Get audio reader.
bool roc::pipeline::ReceiverSession::reclock | ( | core::nanoseconds_t | playback_time | ) |
Adjust session clock to match consumer clock.
playback_time
specified absolute time when first sample of last frame retrieved from pipeline will be actually played on sink bool roc::pipeline::ReceiverSession::refresh | ( | core::nanoseconds_t | current_time, |
core::nanoseconds_t * | next_refresh | ||
) |
Refresh pipeline according to current time.
next_refresh
deadline (absolute time) when refresh should be invoked again if there are no frames ROC_ATTR_NODISCARD status::StatusCode roc::pipeline::ReceiverSession::route | ( | const packet::PacketPtr & | packet | ) |
Try to route a packet to this session.