]> git.sesse.net Git - casparcg/commitdiff
2.0.0.2: key_rect - Fixed problem where fill_rect was modified.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 4 Mar 2011 18:02:27 +0000 (18:02 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 4 Mar 2011 18:02:27 +0000 (18:02 +0000)
         decklink_consumer - Fixed access violation with get_device_list().

git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@521 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/consumer/decklink/decklink_consumer.cpp
protocol/amcp/AMCPCommandsImpl.cpp
shell/main.cpp

index bab6b28542b7b03397dd0abf5f5fcc93173d0514..388ab8479596ab68a85e5f76dce40f235caf5d19 100644 (file)
@@ -347,17 +347,18 @@ std::vector<std::wstring> get_decklink_device_list()
 {\r
        std::vector<std::wstring> devices;\r
        ::CoInitialize(nullptr);\r
-\r
-       CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
-       if(FAILED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator)))\r
-               return devices;\r
-               \r
-       CComPtr<IDeckLink>      decklink;\r
-       for(int n = 0; pDecklinkIterator->Next(&decklink) == S_OK; ++n) \r
        {\r
-               BSTR model_name = L"Unknown";\r
-               decklink->GetModelName(&model_name);\r
-               devices.push_back(L"[" + boost::lexical_cast<std::wstring>(n) + L"] " + model_name);    \r
+               CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
+               if(FAILED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator)))\r
+                       return devices;\r
+               \r
+               CComPtr<IDeckLink>      decklink;\r
+               for(int n = 0; pDecklinkIterator->Next(&decklink) == S_OK; ++n) \r
+               {\r
+                       BSTR model_name = L"Unknown";\r
+                       decklink->GetModelName(&model_name);\r
+                       devices.push_back(L"[" + boost::lexical_cast<std::wstring>(n) + L"] " + model_name);    \r
+               }\r
        }\r
 \r
        ::CoUninitialize();\r
index 0d955880db18872ae1ae643885d7548f3a175524..ad21aec4ba69d32c37df42b14e2771604ea0e8ce 100644 (file)
@@ -244,8 +244,6 @@ bool MixerCommand::DoExecute()
 \r
                                auto transform = [=](image_transform transform) -> image_transform\r
                                {\r
-                                       transform.set_fill_translation(0.0, 0.0);\r
-                                       transform.set_fill_scale(1.0, 1.0);\r
                                        transform.set_key_translation(x, y);\r
                                        transform.set_key_scale(x_s, y_s);\r
                                        return transform;\r
index f7497fa882c7cd310554b3cd1eb873bd665edae3..79bae5cd31d50ee8e824385b61d7c4731f76eeb8 100644 (file)
@@ -115,46 +115,53 @@ void setup_console_window()
 \r
 void print_version()\r
 {      \r
-       CASPAR_LOG(info) << L"Copyright (c) 2010 Sveriges Television AB, www.casparcg.com, <info@casparcg.com>";\r
-       CASPAR_LOG(info) << L"Starting CasparCG Video and Graphics Playout Server " << env::version();\r
-       CASPAR_LOG(info) << L"Flash " << flash::get_flash_version();\r
-       CASPAR_LOG(info) << L"Flash-Template-Host " << flash::get_cg_version();\r
-       CASPAR_LOG(info) << L"FreeImage " << image::get_image_version();\r
+       try\r
+       {\r
+               CASPAR_LOG(info) << L"Copyright (c) 2010 Sveriges Television AB, www.casparcg.com, <info@casparcg.com>";\r
+               CASPAR_LOG(info) << L"Starting CasparCG Video and Graphics Playout Server " << env::version();\r
+               CASPAR_LOG(info) << L"Flash " << flash::get_flash_version();\r
+               CASPAR_LOG(info) << L"Flash-Template-Host " << flash::get_cg_version();\r
+               CASPAR_LOG(info) << L"FreeImage " << image::get_image_version();\r
        \r
-       std::wstring decklink_devices;\r
-       BOOST_FOREACH(auto& device, get_decklink_device_list())\r
-               decklink_devices += L"\t" + device;\r
-       CASPAR_LOG(info) << L"Decklink " << get_decklink_version() << (decklink_devices.empty() ? L"" : L"\n\tDevices:\n" + decklink_devices);\r
+               std::wstring decklink_devices;\r
+               BOOST_FOREACH(auto& device, get_decklink_device_list())\r
+                       decklink_devices += L"\t" + device;\r
+               CASPAR_LOG(info) << L"Decklink " << get_decklink_version() << (decklink_devices.empty() ? L"" : L"\n\tDevices:\n" + decklink_devices);\r
        \r
-       std::wstring bluefish_devices;\r
-       BOOST_FOREACH(auto& device, get_bluefish_device_list())\r
-               bluefish_devices += L"\t" + device;\r
-       CASPAR_LOG(info) << L"Bluefish " << get_bluefish_version() << (bluefish_devices.empty() ? L"" : L"\n\tDevices:\n" + bluefish_devices);\r
-\r
-       CASPAR_LOG(info) << L"FFMPEG-avcodec " << ((avcodec_version() >> 16) & 0xFF) << L"." << ((avcodec_version() >> 8) & 0xFF) << L"." << ((avcodec_version() >> 0) & 0xFF);\r
-       CASPAR_LOG(info) << L"FFMPEG-swscale " << ((avformat_version() >> 16) & 0xFF) << L"." << ((avformat_version() >> 8) & 0xFF) << L"." << ((avformat_version() >> 0) & 0xFF);\r
-       CASPAR_LOG(info) << L"FFMPEG-avformat " << ((swscale_version() >> 16) & 0xFF) << L"." << ((swscale_version() >> 8) & 0xFF) << L"." << ((swscale_version() >> 0) & 0xFF);\r
-       CASPAR_LOG(info) << L"OpenGL " << ogl_device::create()->invoke([]{return reinterpret_cast<const char*>(glGetString(GL_VERSION));})\r
-                                        << L" "           << ogl_device::create()->invoke([]{return reinterpret_cast<const char*>(glGetString(GL_VENDOR));});\r
-\r
-       HKEY hkey; \r
-       DWORD dwType, dwSize;\r
-       if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"), 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)\r
-       {\r
-               wchar_t p_name_str[1024];\r
-               wchar_t csd_ver_str[1024];\r
-               wchar_t csd_build_str[1024];\r
+               std::wstring bluefish_devices;\r
+               BOOST_FOREACH(auto& device, get_bluefish_device_list())\r
+                       bluefish_devices += L"\t" + device;\r
+               CASPAR_LOG(info) << L"Bluefish " << get_bluefish_version() << (bluefish_devices.empty() ? L"" : L"\n\tDevices:\n" + bluefish_devices);\r
+\r
+               CASPAR_LOG(info) << L"FFMPEG-avcodec " << ((avcodec_version() >> 16) & 0xFF) << L"." << ((avcodec_version() >> 8) & 0xFF) << L"." << ((avcodec_version() >> 0) & 0xFF);\r
+               CASPAR_LOG(info) << L"FFMPEG-swscale " << ((avformat_version() >> 16) & 0xFF) << L"." << ((avformat_version() >> 8) & 0xFF) << L"." << ((avformat_version() >> 0) & 0xFF);\r
+               CASPAR_LOG(info) << L"FFMPEG-avformat " << ((swscale_version() >> 16) & 0xFF) << L"." << ((swscale_version() >> 8) & 0xFF) << L"." << ((swscale_version() >> 0) & 0xFF);\r
+               CASPAR_LOG(info) << L"OpenGL " << ogl_device::create()->invoke([]{return reinterpret_cast<const char*>(glGetString(GL_VERSION));})\r
+                                                << L" "           << ogl_device::create()->invoke([]{return reinterpret_cast<const char*>(glGetString(GL_VENDOR));});\r
+\r
+               HKEY hkey; \r
+               DWORD dwType, dwSize;\r
+               if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"), 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)\r
+               {\r
+                       wchar_t p_name_str[1024];\r
+                       wchar_t csd_ver_str[1024];\r
+                       wchar_t csd_build_str[1024];\r
 \r
-               dwType = REG_SZ;\r
-               dwSize = sizeof(p_name_str);\r
+                       dwType = REG_SZ;\r
+                       dwSize = sizeof(p_name_str);\r
 \r
-               RegQueryValueEx(hkey, TEXT("ProductName"), NULL, &dwType, (PBYTE)&p_name_str, &dwSize);\r
-               RegQueryValueEx(hkey, TEXT("CSDVersion"), NULL, &dwType, (PBYTE)&csd_ver_str, &dwSize);\r
-               RegQueryValueEx(hkey, TEXT("CSDBuildNumber"), NULL, &dwType, (PBYTE)&csd_build_str, &dwSize);\r
+                       RegQueryValueEx(hkey, TEXT("ProductName"), NULL, &dwType, (PBYTE)&p_name_str, &dwSize);\r
+                       RegQueryValueEx(hkey, TEXT("CSDVersion"), NULL, &dwType, (PBYTE)&csd_ver_str, &dwSize);\r
+                       RegQueryValueEx(hkey, TEXT("CSDBuildNumber"), NULL, &dwType, (PBYTE)&csd_build_str, &dwSize);\r
  \r
-               RegCloseKey(hkey);\r
+                       RegCloseKey(hkey);\r
 \r
-               CASPAR_LOG(info) << p_name_str << L" " << csd_ver_str << L"." << csd_build_str << L"\n";\r
+                       CASPAR_LOG(info) << p_name_str << L" " << csd_ver_str << L"." << csd_build_str << L"\n";\r
+               }\r
+       }\r
+       catch(...)\r
+       {\r
+               CASPAR_LOG(warning) << L"Unexpected exception while printing server information.";\r
        }\r
 }\r
  \r