Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
Feedback monitor. More...
#include <feedback_monitor.h>
Public Member Functions | |
FeedbackMonitor (IFrameWriter &writer, Packetizer &packetizer, ResamplerWriter *resampler, const FeedbackConfig &feedback_config, const LatencyConfig &latency_config, const SampleSpec &sample_spec) | |
Constructor. More... | |
bool | is_valid () const |
Check if the object was initialized successfully. More... | |
bool | is_started () const |
Check if feedback monitoring is started. More... | |
void | start () |
Enable feedback monitoring. More... | |
void | process_feedback (packet::stream_source_t source_id, const LatencyMetrics &latency_metrics, const packet::LinkMetrics &link_metrics) |
Process feedback from receiver. More... | |
virtual void | write (Frame &frame) |
Write audio frame. Passes frame to underlying writer. If feedback monitoring is started, also performs latency tuning. More... | |
size_t | num_participants () const |
Get number of remote participants from which there is feedback. More... | |
const LatencyMetrics & | latency_metrics (size_t party_index) const |
Get latest latency metrics for session. party_index should be in range [0; num_participants()-1]. More... | |
const packet::LinkMetrics & | link_metrics (size_t party_index) const |
Get latest link metrics for session. party_index should be in range [0; num_participants()-1]. More... | |
Public Member Functions inherited from roc::core::ListNode< Tag > | |
ListData * | list_data () const |
Get pointer to internal data. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from roc::core::ListNode< Tag > | |
static ListNode * | list_node (ListData *data) |
Get pointer to parent node from pointer to internal data. More... | |
Feedback monitor.
Features
Flow
Definition at line 63 of file feedback_monitor.h.
roc::audio::FeedbackMonitor::FeedbackMonitor | ( | IFrameWriter & | writer, |
Packetizer & | packetizer, | ||
ResamplerWriter * | resampler, | ||
const FeedbackConfig & | feedback_config, | ||
const LatencyConfig & | latency_config, | ||
const SampleSpec & | sample_spec | ||
) |
Constructor.
bool roc::audio::FeedbackMonitor::is_started | ( | ) | const |
Check if feedback monitoring is started.
bool roc::audio::FeedbackMonitor::is_valid | ( | ) | const |
Check if the object was initialized successfully.
const LatencyMetrics& roc::audio::FeedbackMonitor::latency_metrics | ( | size_t | party_index | ) | const |
Get latest latency metrics for session. party_index
should be in range [0; num_participants()-1].
const packet::LinkMetrics& roc::audio::FeedbackMonitor::link_metrics | ( | size_t | party_index | ) | const |
Get latest link metrics for session. party_index
should be in range [0; num_participants()-1].
size_t roc::audio::FeedbackMonitor::num_participants | ( | ) | const |
Get number of remote participants from which there is feedback.
void roc::audio::FeedbackMonitor::process_feedback | ( | packet::stream_source_t | source_id, |
const LatencyMetrics & | latency_metrics, | ||
const packet::LinkMetrics & | link_metrics | ||
) |
Process feedback from receiver.
void roc::audio::FeedbackMonitor::start | ( | ) |
Enable feedback monitoring.
|
virtual |
Write audio frame. Passes frame to underlying writer. If feedback monitoring is started, also performs latency tuning.
Implements roc::audio::IFrameWriter.