163 auto time_chunk = std::max(
duration, 1ms);
165 if(
duration > 1ms && !first_pass.empty()) {
167 auto total_specified_time = 0ms;
169 for(
const std::string& fp_string : first_pass) {
170 std::vector<std::string> second_pass =
utils::split(fp_string,
':');
171 if(second_pass.size() > 1) {
173 total_specified_time += std::chrono::milliseconds{std::stoi(second_pass[1])};
174 }
catch(
const std::invalid_argument&) {
182 std::chrono::milliseconds new_time_chunk{(
duration - total_specified_time) / first_pass.size()};
183 time_chunk = std::max(new_time_chunk, 1ms);
186 for(
const std::string& fp_string : first_pass) {
187 std::vector<std::string> second_pass =
utils::split(fp_string,
':');
188 if(second_pass.size() > 1) {
190 std::chrono::milliseconds time{std::stoi(second_pass[1])};
191 base_data.emplace_back(std::move(second_pass[0]), time);
192 }
catch(
const std::invalid_argument&) {
196 base_data.emplace_back(std::move(second_pass[0]), time_chunk);