12 return frames / frame_rate;
22 return std::chrono::milliseconds(1000 / frame_rate);
32 return std::chrono::microseconds(1000000 / frame_rate);
43 return std::chrono::milliseconds((num_frames * 1000) / frame_rate);
54 return std::chrono::microseconds((num_frames * 1000000) / frame_rate);
64 return samples / sample_rate;
74inline uint64_t
frames_to_samples(uint64_t frames, uint32_t sample_rate, uint32_t frame_rate)
76 return (frames * sample_rate) / frame_rate;
86inline uint64_t
samples_to_frames(uint64_t samples, uint32_t sample_rate, uint32_t frame_rate)
88 return (samples * frame_rate) / sample_rate;
99 return static_cast<uint64_t
>(seconds * sample_rate);
110 return static_cast<uint64_t
>(seconds * frame_rate);
121 return static_cast<uint64_t
>(seconds * rate);
132 return static_cast<double>(units) / rate;
145 return (total_samples + block_size - 1) / block_size;
156 return (samples + block_size - 1) / block_size;
167 return blocks * block_size;
uint64_t frames_to_seconds(uint64_t frames, uint32_t frame_rate)
Convert frames to seconds at a given frame rate.
std::chrono::microseconds frames_duration_us(uint64_t num_frames, uint32_t frame_rate)
Get duration for N frames at given frame rate (high precision)
uint64_t samples_to_frames(uint64_t samples, uint32_t sample_rate, uint32_t frame_rate)
Convert samples to frames at a given sample rate and frame rate.
std::chrono::milliseconds frame_duration_ms(uint32_t frame_rate)
Get duration of a single frame at given frame rate.
uint64_t seconds_to_samples(double seconds, uint32_t sample_rate)
Convert seconds to samples at a given sample rate.
uint64_t samples_to_blocks(uint64_t samples, uint32_t block_size)
Convert samples to number of processing blocks.
uint64_t seconds_to_frames(double seconds, uint32_t frame_rate)
Convert seconds to frames at a given frame rate.
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 blocks_to_samples(uint64_t blocks, uint32_t block_size)
Convert blocks to samples.
uint64_t seconds_to_blocks(double seconds, uint32_t sample_rate, uint32_t block_size)
Convert seconds to number of processing blocks.
uint64_t frames_to_samples(uint64_t frames, uint32_t sample_rate, uint32_t frame_rate)
Convert frames to samples at a given sample rate and frame rate.
uint64_t samples_to_seconds(uint64_t samples, uint32_t 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.
std::chrono::milliseconds frames_duration_ms(uint64_t num_frames, uint32_t frame_rate)
Get duration for N frames at given frame rate.
std::chrono::microseconds frame_duration_us(uint32_t frame_rate)
Get duration of a single frame at given frame rate (high precision)