16 return frames / frame_rate;
26 return std::chrono::milliseconds(1000 / frame_rate);
36 return std::chrono::microseconds(1000000 / frame_rate);
47 return std::chrono::milliseconds((num_frames * 1000) / frame_rate);
58 return std::chrono::microseconds((num_frames * 1000000) / frame_rate);
68 return samples / sample_rate;
80 return (frames * sample_rate) / frame_rate;
92 return (samples * frame_rate) / sample_rate;
103 return static_cast<uint64_t
>(seconds * sample_rate);
114 return static_cast<uint64_t
>(seconds * frame_rate);
125 return static_cast<uint64_t
>(seconds * rate);
136 return static_cast<double>(units) / rate;
149 return (total_samples + block_size - 1) / block_size;
160 return (samples + block_size - 1) / block_size;
171 return blocks * block_size;
uint64_t seconds_to_samples(double seconds, uint32_t sample_rate=s_registered_sample_rate)
Convert seconds to samples at a given sample rate.
std::chrono::microseconds frames_duration_us(uint64_t num_frames, uint32_t frame_rate=s_registered_frame_rate)
Get duration for N frames at given frame rate (high precision)
std::chrono::milliseconds frame_duration_ms(uint32_t frame_rate=s_registered_frame_rate)
Get duration of a single frame at given frame rate.
uint64_t frames_to_samples(uint64_t frames, uint32_t sample_rate=s_registered_sample_rate, uint32_t frame_rate=s_registered_frame_rate)
Convert frames to samples at a given sample rate and frame rate.
uint64_t samples_to_frames(uint64_t samples, uint32_t sample_rate=s_registered_sample_rate, uint32_t frame_rate=s_registered_frame_rate)
Convert samples to frames at a given sample rate and frame rate.
std::chrono::microseconds frame_duration_us(uint32_t frame_rate=s_registered_frame_rate)
Get duration of a single frame at given frame rate (high precision)
uint32_t s_registered_frame_rate
uint32_t s_registered_sample_rate
uint64_t samples_to_blocks(uint64_t samples, uint32_t block_size)
Convert samples to number of processing blocks.
double blocks_to_seconds(uint64_t blocks, uint32_t sample_rate, uint32_t block_size)
Convert blocks to seconds.
uint64_t seconds_to_units(double seconds, uint32_t rate)
Convert seconds to processing units for any rate.
uint64_t seconds_to_frames(double seconds, uint32_t frame_rate=s_registered_frame_rate)
Convert seconds to frames at a given frame rate.
uint64_t frames_to_seconds(uint64_t frames, uint32_t frame_rate=s_registered_frame_rate)
Convert frames to seconds at a given frame rate.
uint64_t blocks_to_samples(uint64_t blocks, uint32_t block_size)
Convert blocks to samples.
std::chrono::milliseconds frames_duration_ms(uint64_t num_frames, uint32_t frame_rate=s_registered_frame_rate)
Get duration for N frames at given frame rate.
uint64_t seconds_to_blocks(double seconds, uint32_t sample_rate, uint32_t block_size)
Convert seconds to number of processing blocks.
uint64_t samples_to_seconds(uint64_t samples, uint32_t sample_rate=s_registered_sample_rate)
Convert samples to seconds at a given sample rate.
double units_to_seconds(uint64_t units, uint32_t rate)
Convert processing units to seconds for any rate.