MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ set_lag()

void MayaFlux::Buffers::FeedbackProcessor::set_lag ( size_t  tap,
Kinesis::TimeMap  seconds,
double  max_seconds 
)

Drive one tap's lag from a TimeMap.

Parameters
tapTap index
secondsLag in seconds as a function of seconds processed so far
max_secondsLargest lag the map may return, sizes the ring

Evaluated once per block and ramped per sample across the block.

Exceptions
std::out_of_rangeif tap is not an existing tap

Definition at line 174 of file FeedbackBuffer.cpp.

175{
176 if (tap >= m_taps.size()) {
177 error<std::out_of_range>(Journal::Component::Buffers, Journal::Context::Configuration, std::source_location::current(),
178 "FeedbackProcessor::set_lag: tap out of range (tap={}, tap_count={})", tap, m_taps.size());
179 }
180
181 m_taps[tap].map = std::make_shared<const Kinesis::TimeMap>(std::move(seconds));
182 m_taps[tap].max_samples = std::max(1.0, max_seconds * static_cast<double>(s_registered_sample_rate));
184}
uint64_t s_registered_sample_rate
Global default sample rate.
@ Configuration
Configuration and parameter updates.
@ Buffers
Buffers, Managers, processors and processing chains.

References MayaFlux::Journal::Buffers, MayaFlux::Journal::Configuration, m_taps, recompute_capacity(), and MayaFlux::Buffers::s_registered_sample_rate.

+ Here is the call graph for this function: