]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 5 Mar 2011 11:09:35 +0000 (11:09 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 5 Mar 2011 11:09:35 +0000 (11:09 +0000)
core/consumer/decklink/decklink_consumer.cpp
mixer/audio/audio_mixer.cpp
shell/main.cpp

index 388ab8479596ab68a85e5f76dce40f235caf5d19..04be03506fa7ddd9512615e0998c6874273d7e7c 100644 (file)
@@ -336,11 +336,19 @@ std::wstring decklink_consumer::print() const{return impl_->print();}
 \r
 std::wstring get_decklink_version() \r
 {\r
-       CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
-       if(FAILED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator)))\r
-               return L"Unknown";\r
+       std::wstring version = L"Unknown";\r
+\r
+       ::CoInitialize(nullptr);\r
+       {\r
+               CComPtr<IDeckLinkIterator> pDecklinkIterator;\r
+               if(FAILED(pDecklinkIterator.CoCreateInstance(CLSID_CDeckLinkIterator)))\r
+                       return L"Unknown";\r
                \r
-       return get_version(pDecklinkIterator);\r
+               version = get_version(pDecklinkIterator);\r
+       }\r
+       ::CoUninitialize();\r
+\r
+       return version;\r
 }\r
 \r
 std::vector<std::wstring> get_decklink_device_list()\r
index 99a81d5cd3c738deaed5ea5da75425e9bfdfe051..0d55dd954d6717b2e306d173abdd905eb9ee1f03 100644 (file)
@@ -55,7 +55,7 @@ public:
                                        double delta = static_cast<double>(n)/static_cast<double>(audio_data_.size());\r
                                        double sample_gain = prev_gain * (1.0 - delta) + next_gain * delta;\r
                                        int sample = static_cast<int>(audio_data[n]);\r
-                                       sample = (static_cast<int>(sample_gain*8192.0)*sample)/8192;\r
+                                       sample = (static_cast<int>(sample_gain*static_cast<double>(1<<15))*sample)>>15;\r
                                        audio_data_[n] = static_cast<short>((static_cast<int>(audio_data_[n]) + sample) & 0xFFFF);\r
                                }\r
                        }\r
index 79bae5cd31d50ee8e824385b61d7c4731f76eeb8..f7497fa882c7cd310554b3cd1eb873bd665edae3 100644 (file)
@@ -115,53 +115,46 @@ void setup_console_window()
 \r
 void print_version()\r
 {      \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
+       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
-               }\r
-       }\r
-       catch(...)\r
-       {\r
-               CASPAR_LOG(warning) << L"Unexpected exception while printing server information.";\r
+               CASPAR_LOG(info) << p_name_str << L" " << csd_ver_str << L"." << csd_build_str << L"\n";\r
        }\r
 }\r
  \r