_ATL_FUNC_INFO fnInfoFlashCallEvent = { CC_STDCALL, VT_EMPTY, 1, { VT_BSTR } };\r
_ATL_FUNC_INFO fnInfoReadyStateChangeEvent = { CC_STDCALL, VT_EMPTY, 1, { VT_I4 } };\r
\r
-FlashAxContainer::FlashAxContainer() : bInPlaceActive_(FALSE), pTimerHelper(0), bInvalidRect_(false), bReadyToRender_(false), bHasNewTiming_(false), m_lpDD4(0), timerCount_(0), bIsEmpty_(true)\r
+FlashAxContainer::FlashAxContainer() : bInPlaceActive_(FALSE), pTimerHelper(0), bInvalidRect_(false), bReadyToRender_(false), bHasNewTiming_(false), m_lpDD4(0), timerCount_(0), bIsEmpty_(false)\r
{\r
}\r
FlashAxContainer::~FlashAxContainer()\r
{ \r
std::wstring result;\r
\r
+ CASPAR_LOG(trace) << print() << " Call: " << param;\r
+\r
if(!ax_->FlashCall(param, result))\r
CASPAR_LOG(warning) << print() << L" Flash call failed:" << param;//BOOST_THROW_EXCEPTION(invalid_operation() << msg_info("Flash function call failed.") << arg_name_info("param") << arg_value_info(narrow(param)));\r
graph_->set_tag("param");\r
\r
virtual boost::unique_future<std::wstring> call(const std::wstring& param) override\r
{ \r
- return executor_.begin_invoke([=]() -> std::wstring\r
+ executor_.begin_invoke([=]()\r
{\r
if(!is_running_)\r
- return L"";\r
+ return;\r
\r
if(!renderer_)\r
{\r
while(frame_buffer_.try_push(core::basic_frame::empty()));\r
render(renderer_.get());\r
}\r
+ });\r
+\r
+ return executor_.begin_invoke([=]() -> std::wstring\r
+ {\r
+ if(!is_running_)\r
+ return L"";\r
+ \r
+ if(!renderer_)\r
+ BOOST_THROW_EXCEPTION(invalid_operation() << msg_info("No renderer"));\r
\r
try\r
{\r
}\r
\r
return L"";\r
- }, high_priority);\r
+ });\r
}\r
\r
virtual std::wstring print() const override\r