12 #ifndef ROC_PIPELINE_RECEIVER_SESSION_GROUP_H_
13 #define ROC_PIPELINE_RECEIVER_SESSION_GROUP_H_
109 size_t* party_count)
const;
115 virtual void change_source_id();
116 virtual size_t num_recv_streams();
132 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.
Receiver endpoint sub-pipeline.
core::nanoseconds_t refresh_sessions(core::nanoseconds_t current_time)
Refresh pipeline according to current time.
void get_participant_metrics(ReceiverParticipantMetrics *party_metrics, size_t *party_count) const
Get metrics for remote participants.
void get_slot_metrics(ReceiverSlotMetrics &slot_metrics) const
Get slot metrics.
ROC_ATTR_NODISCARD status::StatusCode route_packet(const packet::PacketPtr &packet, core::nanoseconds_t current_time)
Route packet to session.
size_t num_sessions() const
Get number of sessions in group.
bool is_valid() const
Check if pipeline was succefully constructed.
void reclock_sessions(core::nanoseconds_t playback_time)
Adjust session clock to match consumer clock.
ReceiverSessionGroup(const ReceiverSourceConfig &source_config, const ReceiverSlotConfig &slot_config, StateTracker &state_tracker, audio::Mixer &mixer, const rtp::EncodingMap &encoding_map, packet::PacketFactory &packet_factory, audio::FrameFactory &frame_factory, core::IArena &arena)
Initialize.
bool create_control_pipeline(ReceiverEndpoint *control_endpoint)
Create control sub-pipeline.
RTP encoding map. Thread-safe. Returned encodings are immutable and can be safely used from any threa...
RTP participant identity.
Intrusive doubly-linked list.
int64_t nanoseconds_t
Nanoseconds.
uint32_t stream_source_t
Packet stream identifier.
Receiver endpoint pipeline.
Receiver session pipeline.
Receiver-side metrics specific to one participant (remote sender).
Parameters of receiver session.
Parameters of receiver slot.
Receiver-side metrics of the whole slot.
Parameters of receiver session.
Receiver report, for inspection on sender.
Sender report, for inspection on receiver.