Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
Loading...
Searching...
No Matches
roc::audio::LatencyMonitor Class Reference

Session latency monitor. More...

#include <latency_monitor.h>

Inheritance diagram for roc::audio::LatencyMonitor:
roc::core::NonCopyable< T >

Public Member Functions

 LatencyMonitor (const packet::SortedQueue &queue, const Depacketizer &depacketizer, ResamplerReader *resampler, const LatencyMonitorConfig &config, core::nanoseconds_t target_latency, const audio::SampleSpec &input_sample_spec, const audio::SampleSpec &output_sample_spec, const FreqEstimatorConfig &fe_config)
 Constructor.
 
bool valid () const
 Check if the object was initialized successfully.
 
bool update (packet::timestamp_t time)
 Update latency.
 

Detailed Description

Session latency monitor.

  • calculates session latency
  • calculates session scaling factor
  • trims scaling factor to the allowed range
  • updates resampler scaling
  • shutdowns session if the latency goes out of bounds

Definition at line 61 of file latency_monitor.h.

Constructor & Destructor Documentation

◆ LatencyMonitor()

roc::audio::LatencyMonitor::LatencyMonitor ( const packet::SortedQueue queue,
const Depacketizer depacketizer,
ResamplerReader resampler,
const LatencyMonitorConfig config,
core::nanoseconds_t  target_latency,
const audio::SampleSpec input_sample_spec,
const audio::SampleSpec output_sample_spec,
const FreqEstimatorConfig fe_config 
)

Constructor.

Parameters

  • queue and depacketizer are used to calculate the latency
  • resampler is used to set the scaling factor, may be null
  • config defines various miscellaneous parameters
  • target_latency defines FreqEstimator target latency, in samples
  • input_sample_spec is the sample spec of the input packets
  • output_sample_spec is the sample spec of the output frames

Member Function Documentation

◆ update()

bool roc::audio::LatencyMonitor::update ( packet::timestamp_t  time)

Update latency.

Returns
false if the session should be terminated.

◆ valid()

bool roc::audio::LatencyMonitor::valid ( ) const

Check if the object was initialized successfully.


The documentation for this class was generated from the following file: