-video_channel::video_channel(int index, const video_format_desc& format_desc, spl::shared_ptr<image_mixer> image_mixer) : impl_(new impl(index, format_desc, image_mixer)){}\r
-spl::shared_ptr<stage> video_channel::stage() { return impl_->stage_;} \r
-spl::shared_ptr<mixer> video_channel::mixer() { return impl_->mixer_;} \r
-spl::shared_ptr<frame_factory> video_channel::frame_factory() { return impl_;} \r
-spl::shared_ptr<output> video_channel::output() { return impl_->output_;} \r
-video_format_desc video_channel::get_video_format_desc() const{return impl_->format_desc_;}\r
-void video_channel::set_video_format_desc(const video_format_desc& format_desc){impl_->set_video_format_desc(format_desc);}\r
-boost::property_tree::wptree video_channel::info() const{return impl_->info();}\r
-void video_channel::subscribe(const frame_observer::observer_ptr& o) {impl_->frame_subject_.subscribe(o);}\r
-void video_channel::unsubscribe(const frame_observer::observer_ptr& o) {impl_->frame_subject_.unsubscribe(o);} \r
-void video_channel::subscribe(const monitor::observable::observer_ptr& o) {impl_->event_subject_->subscribe(o);}\r
-void video_channel::unsubscribe(const monitor::observable::observer_ptr& o) {impl_->event_subject_->unsubscribe(o);}\r
+video_channel::video_channel(int index, const core::video_format_desc& format_desc, std::unique_ptr<image_mixer> image_mixer) : impl_(new impl(index, format_desc, std::move(image_mixer))){}\r
+video_channel::~video_channel(){}\r
+const stage& video_channel::stage() const { return impl_->stage_;} \r
+stage& video_channel::stage() { return impl_->stage_;} \r
+const mixer& video_channel::mixer() const{ return impl_->mixer_;} \r
+mixer& video_channel::mixer() { return impl_->mixer_;} \r
+const output& video_channel::output() const { return impl_->output_;} \r
+output& video_channel::output() { return impl_->output_;} \r
+spl::shared_ptr<frame_factory> video_channel::frame_factory() { return impl_->image_mixer_;} \r
+core::video_format_desc video_channel::video_format_desc() const{return impl_->video_format_desc();}\r
+void core::video_channel::video_format_desc(const core::video_format_desc& format_desc){impl_->video_format_desc(format_desc);}\r
+boost::property_tree::wptree video_channel::info() const{return impl_->info();} \r
+void video_channel::subscribe(const monitor::observable::observer_ptr& o) {impl_->event_subject_.subscribe(o);}\r
+void video_channel::unsubscribe(const monitor::observable::observer_ptr& o) {impl_->event_subject_.unsubscribe(o);}\r