| 204 | } |
| 205 | |
| 206 | void RecorderApplication::stop_processing() |
| 207 | { |
| 208 | if (is_processing) |
| 209 | { |
| 210 | is_stopping_processing = true; |
| 211 | logger->trace("Stop pipeline..."); |
| 212 | splitter->set_enabled("live", false); |
| 213 | live_pipeline->stop(); |
| 214 | is_stopping_processing = is_processing = false; |
| 215 | |
| 216 | if (config::main_cfg["user_interface"]["finish_processing_after_live"]["value"].get<bool>() && live_pipeline->getOutputFiles().size() > 0) |
| 217 | { |
| 218 | Pipeline pipeline = pipeline_selector.selected_pipeline; |
| 219 | std::string input_file = live_pipeline->getOutputFiles()[0]; |
| 220 | int start_level = pipeline.live_cfg.normal_live[pipeline.live_cfg.normal_live.size() - 1].first; |
| 221 | std::string input_level = pipeline.steps[start_level].level_name; |
| 222 | ui_thread_pool.push([=](int) |
| 223 | { processing::process(pipeline, input_level, input_file, pipeline_output_dir, pipeline_params); }); |
| 224 | } |
| 225 | |
| 226 | live_pipeline.reset(); |
| 227 | } |
| 228 | } |
| 229 | |
| 230 | void RecorderApplication::start_recording() |
| 231 | { |
nothing calls this directly
no test coverage detected