safe_ptr<diagnostics::graph> graph_;\r
boost::timer mix_timer_; \r
\r
- mutable tbb::spin_mutex format_desc_mutex_;\r
video_format_desc format_desc_;\r
safe_ptr<ogl_device> ogl_;\r
\r
{\r
executor_.begin_invoke([=]\r
{\r
- tbb::spin_mutex::scoped_lock lock(format_desc_mutex_);\r
format_desc_ = format_desc;\r
});\r
}\r
\r
- core::video_format_desc get_video_format_desc() const // nothrow\r
- {\r
- tbb::spin_mutex::scoped_lock lock(format_desc_mutex_);\r
- return format_desc_;\r
- }\r
-\r
boost::unique_future<boost::property_tree::wptree> info() const\r
{\r
boost::promise<boost::property_tree::wptree> info;\r
mixer::mixer(const safe_ptr<target_t>& target, const safe_ptr<diagnostics::graph>& graph, const video_format_desc& format_desc, const safe_ptr<ogl_device>& ogl) \r
: impl_(new impl(target, graph, format_desc, ogl)){}\r
void mixer::send(const std::pair<std::map<int, safe_ptr<core::basic_frame>>, std::shared_ptr<void>>& frames){ impl_->send(frames);}\r
-core::video_format_desc mixer::get_video_format_desc() const { return impl_->get_video_format_desc(); }\r
void mixer::set_blend_mode(int index, blend_mode::type value){impl_->set_blend_mode(index, value);}\r
void mixer::set_video_format_desc(const video_format_desc& format_desc){impl_->set_video_format_desc(format_desc);}\r
boost::unique_future<boost::property_tree::wptree> mixer::info() const{return impl_->info();}\r