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

◆ position_at()

double MayaFlux::Kakshya::FrameSeekProcessor::position_at ( uint64_t  tick)
private

Definition at line 61 of file FrameSeekProcessor.cpp.

62{
63 const double fps = m_global_fps > 0.0 ? m_global_fps : 60.0;
64 double seconds = static_cast<double>(tick) / fps;
65
66 if (m_repeat && m_repeat->fn) {
67 if (m_repeat_length == 0 || tick - m_repeat_start >= m_repeat_length) {
68 m_repeat_start = tick;
69 const double length = std::max((*m_repeat)(seconds), 0.0);
70 m_repeat_length = std::max<uint64_t>(1, static_cast<uint64_t>(std::llround(length * fps)));
71 }
72
73 seconds = static_cast<double>(tick - m_repeat_start) / fps;
74 }
75
76 return (*m_time_map)(seconds);
77}
uint64_t length
Definition Composite.cpp:11
bool fps
std::shared_ptr< const Kinesis::TimeMap > m_time_map
std::shared_ptr< const Kinesis::TimeMap > m_repeat

References fps, length, MayaFlux::Kakshya::FrameAccessProcessor::m_global_fps, m_repeat, m_repeat_length, m_repeat_start, and m_time_map.

Referenced by process().

+ Here is the caller graph for this function: