12 #ifndef ROC_PIPELINE_RECEIVER_SESSION_GROUP_H_
13 #define ROC_PIPELINE_RECEIVER_SESSION_GROUP_H_
78 virtual size_t on_get_num_sources();
90 void remove_all_sessions_();
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
Mixer. Mixes multiple input streams into one output stream.
Intrusive doubly-linked list.
Base class for non-copyable objects.
Optionally constructed object.
core::nanoseconds_t refresh_sessions(core::nanoseconds_t current_time)
Refresh pipeline according to current time.
ReceiverSessionGroup(const ReceiverConfig &receiver_config, ReceiverState &receiver_state, audio::Mixer &mixer, 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.
size_t num_sessions() const
Get number of alive sessions.
void get_metrics(ReceiverSessionMetrics *metrics, size_t *metrics_size) const
Get metrics for all sessions.
void reclock_sessions(core::nanoseconds_t playback_time)
Adjust session clock to match consumer clock.
ROC_ATTR_NODISCARD status::StatusCode route_packet(const packet::PacketPtr &packet)
Route packet to session.
Receiver session sub-pipeline.
Receiver pipeline state. Thread-safe.
Receiver hooks interface.
Intrusive doubly-linked list.
int64_t nanoseconds_t
Nanoseconds.
uint32_t stream_source_t
Packet stream identifier.
Receiver session pipeline.
Receiver session parameters.
Metrics of receiver session (connection from sender).
Metrics for network link. Calculated independently on both sender and receiver.
Metrics sent from receiver to sender per source.
Metrics sent from sender to receiver.