]> git.sesse.net Git - casparcg/commitdiff
Some changes in how flash-renderer is intialized. Now renders an empty frame before...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Mon, 16 Jan 2012 13:59:22 +0000 (13:59 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Mon, 16 Jan 2012 13:59:22 +0000 (13:59 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/trunk@2131 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

modules/flash/producer/FlashAxContainer.cpp
modules/flash/producer/flash_producer.cpp

index 62038ac2510bfdee45356a9b7b4e9e5f1c7ccf05..cca013ed9a0c3db99d6729b1beb9ebbd85c29bd8 100644 (file)
@@ -39,7 +39,7 @@ CComBSTR FlashAxContainer::flashGUID_(_T("{D27CDB6E-AE6D-11CF-96B8-444553540000}
 _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
index b1d516070f8018bbed2126be9d901acbfbb5b662..dc7bc853b9972e42320a224ca86ada71a93f339d 100644 (file)
@@ -217,6 +217,8 @@ public:
        {               \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
@@ -365,10 +367,10 @@ public:
        \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
@@ -376,6 +378,15 @@ public:
                                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
@@ -393,7 +404,7 @@ public:
                        }\r
 \r
                        return L"";\r
-               }, high_priority);\r
+               });\r
        }\r
                \r
        virtual std::wstring print() const override\r