| 323 | } |
| 324 | |
| 325 | double result_duration_sec( |
| 326 | const engine::runtime::TaskRequest & request, |
| 327 | const engine::runtime::TaskResult & result) { |
| 328 | if (result.audio_output.has_value()) { |
| 329 | return audio_duration_sec(*result.audio_output); |
| 330 | } |
| 331 | if (!result.named_audio_outputs.empty()) { |
| 332 | return audio_duration_sec(result.named_audio_outputs.front().audio); |
| 333 | } |
| 334 | if (request.audio_input.has_value()) { |
| 335 | return audio_duration_sec(*request.audio_input); |
| 336 | } |
| 337 | return 0.0; |
| 338 | } |
| 339 | |
| 340 | RunResult run_impl( |
| 341 | engine::runtime::IVoiceTaskSession & session, |
no test coverage detected