catch(...)\r
{\r
CASPAR_LOG_CURRENT_EXCEPTION();\r
- consumers_.erase(it++);\r
CASPAR_LOG(error) << print() << L" " << it->second->print() << L" Removed.";\r
+ consumers_.erase(it++);\r
}\r
}\r
}\r
\r
boost::unique_future<void> ogl_device::gc()\r
{\r
- CASPAR_LOG(info) << " ogl: Running GC.";\r
+ //CASPAR_LOG(info) << " ogl: Running GC.";\r
\r
- return begin_invoke([=]\r
- { \r
- BOOST_FOREACH(auto& pool, device_pools_)\r
- pool.clear();\r
- BOOST_FOREACH(auto& pool, host_pools_)\r
- pool.clear();\r
- }, high_priority);\r
+ //return begin_invoke([=]\r
+ //{ \r
+ // BOOST_FOREACH(auto& pool, device_pools_)\r
+ // pool.clear();\r
+ // BOOST_FOREACH(auto& pool, host_pools_)\r
+ // pool.clear();\r
+ //}, high_priority);\r
+ return begin_invoke([=]{});\r
}\r
\r
std::wstring ogl_device::get_version()\r
\r
~bluefish_consumer()\r
{\r
- executor_.invoke([&]\r
- {\r
- disable_video_output();\r
- blue_->device_detach(); \r
- });\r
+ //try\r
+ //{\r
+ // executor_.invoke([&]\r
+ // {\r
+ // disable_video_output();\r
+ // blue_->device_detach(); \r
+ // });\r
+ //}\r
+ //catch(...)\r
+ //{\r
+ // CASPAR_LOG_CURRENT_EXCEPTION();\r
+ //}\r
\r
CASPAR_LOG(info) << print() << L" Shutting down."; \r
}\r
\r
virtual void initialize(const core::video_format_desc& format_desc)\r
{\r
+ consumer_.reset();\r
consumer_.reset(new bluefish_consumer(format_desc, device_index_, embedded_audio_));\r
}\r
\r
\r
virtual std::wstring print() const\r
{\r
- return consumer_->print();\r
+ if(consumer_)\r
+ consumer_->print();\r
+\r
+ return L"bluefish [" + boost::lexical_cast<std::wstring>(device_index_) + L"]";\r
}\r
\r
virtual bool key_only() const\r