- if(!boost::filesystem::exists(filename))\r
- BOOST_THROW_EXCEPTION(file_not_found() << boost::errinfo_file_name(common::narrow(filename)));\r
- \r
- static boost::once_flag av_register_all_flag = BOOST_ONCE_INIT;\r
- boost::call_once(av_register_all, av_register_all_flag); \r
- \r
- static boost::once_flag avcodec_init_flag = BOOST_ONCE_INIT;\r
- boost::call_once(avcodec_init, avcodec_init_flag); \r
- \r
- input_.reset(new input());\r
- input_->set_loop(std::find(params.begin(), params.end(), L"LOOP") != params.end());\r
- input_->load(common::narrow(filename_));\r
- video_decoder_.reset(new video_decoder(input_->get_video_codec_context().get()));\r
- video_transformer_.reset(new video_transformer(input_->get_video_codec_context().get()));\r
- audio_decoder_.reset(new audio_decoder(input_->get_audio_codec_context().get()));\r
- has_audio_ = input_->get_audio_codec_context() != nullptr;\r
-\r
- auto seek = std::find(params.begin(), params.end(), L"SEEK");\r
- if(seek != params.end() && ++seek != params.end())\r
- {\r
- if(!input_->seek(boost::lexical_cast<unsigned long long>(*seek)))\r
- CASPAR_LOG(warning) << "Failed to seek file: " << filename_ << "to frame" << *seek;\r
- }\r
+ graph_->add_guide("frame_time_target", 0.5, diagnostics::color(0.5f, 0.0f, 0.0f));\r
+ graph_->set_color("frame_time", diagnostics::color(1.0f, 0.0f, 0.0f));\r