]> git.sesse.net Git - casparcg/commitdiff
2.0. main: Added unhandled exception filter.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 17 Aug 2011 13:41:10 +0000 (13:41 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 17 Aug 2011 13:41:10 +0000 (13:41 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1209 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/video_format.cpp
core/video_format.h
shell/CasparCG.ico
shell/casparcg.config
shell/main.cpp

index ce7615650701b2144a92d6681b12fe2d679be98f..56e7502cb94b6817567fa135a7855ed9590e0eb1 100644 (file)
@@ -62,7 +62,7 @@ const video_format_desc format_descs[video_format::count] =
        DEFINE_VIDEOFORMATDESC(video_format::x1080p2997 ,1920, 1080, video_mode::progressive,   30000,  1001,   L"1080p2997"),\r
        DEFINE_VIDEOFORMATDESC(video_format::x1080p3000 ,1920, 1080, video_mode::progressive,   30,             1,              L"1080p3000"),\r
        DEFINE_VIDEOFORMATDESC(video_format::x1080p5000 ,1920, 1080, video_mode::progressive,   50,             1,              L"1080p5000"),\r
-       DEFINE_VIDEOFORMATDESC(video_format::invalid    ,0,             0, video_mode::count,                   1,              1,              L"invalid")\r
+       DEFINE_VIDEOFORMATDESC(video_format::invalid    ,0,             0,   video_mode::progressive,   1,              1,              L"invalid")\r
 };\r
 \r
 const video_format_desc& video_format_desc::get(video_format::type format)     \r
index 3bac87d69ce6da9c7bc4437d422e24836fb7f436..ee510e2f627ebf3f08bd4be0299b77fd2d29f0fb 100644 (file)
@@ -55,10 +55,9 @@ struct video_mode
 { \r
        enum type\r
        {\r
-               progressive = 0,\r
-               lower,\r
-               upper,\r
-               count\r
+               lower           = 1,\r
+               upper           = 2,\r
+               progressive = 3 // NOTE: progressive == lower | upper;\r
        };\r
 \r
        static std::wstring print(video_mode::type value)\r
index 41771dc3e0a00805299a609f579427fb3ca94e9e..ec0f7a99a8a4354e28a9e56ceb3770c0fc6f93c0 100644 (file)
Binary files a/shell/CasparCG.ico and b/shell/CasparCG.ico differ
index 20d4ea53e32695fa56d8c345775fb06f98e18414..0069a42fd01b638623e3a1ae61a563d71fcca189 100644 (file)
   </producers>\r
   <channels>\r
     <channel>\r
-      <video-mode>1080p5000</video-mode>\r
+      <video-mode>1080i5000</video-mode>\r
       <consumers>\r
         <decklink>\r
           <device>1</device>\r
           <low-latency>true</low-latency>\r
           <embedded-audio>true</embedded-audio>\r
         </decklink>\r
-      </consumers>\r
-    </channel>\r
-    <channel>\r
-      <video-mode>1080p5000</video-mode>\r
-      <consumers>\r
-        <decklink>\r
-          <device>2</device>\r
-          <low-latency>true</low-latency>\r
-          <embedded-audio>true</embedded-audio>\r
-        </decklink>\r
+        <screen>\r
+          <device>1</device>\r
+        </screen>\r
       </consumers>\r
     </channel>\r
 </channels>\r
index 1b20e818c724426a8afa64abc5829250d4ecfb83..e5766290891cc3b8e03417873998cb12d08712c8 100644 (file)
@@ -36,6 +36,7 @@
 #define WIN32_LEAN_AND_MEAN\r
 \r
 #include <windows.h>\r
+#include <winnt.h>\r
 #include <mmsystem.h>\r
 #include <atlbase.h>\r
 \r
@@ -143,11 +144,25 @@ void print_info()
        CASPAR_LOG(info) << L"FFMPEG-swscale "  << caspar::get_swscale_version();\r
        CASPAR_LOG(info) << L"OpenGL " << caspar::core::ogl_device::get_version() << "\n\n";\r
 }\r
\r
+\r
+LONG WINAPI UserUnhandledExceptionFilter(EXCEPTION_POINTERS* info)\r
+{\r
+       CASPAR_LOG(fatal) << L"#######################\n UNHANDLED EXCEPTION: \n" \r
+               << L"Adress:" << info->ExceptionRecord->ExceptionAddress << L"\n"\r
+               << L"Code:" << info->ExceptionRecord->ExceptionCode << L"\n"\r
+               << L"Flag:" << info->ExceptionRecord->ExceptionFlags << L"\n"\r
+               << L"Info:" << info->ExceptionRecord->ExceptionInformation << L"\n"\r
+               << L"Continuing execution. \n#######################";\r
+\r
+    return EXCEPTION_CONTINUE_EXECUTION;\r
+}\r
+\r
 int main(int argc, wchar_t* argv[])\r
 {      \r
        static_assert(sizeof(void*) == 4, "64-bit code generation is not supported.");\r
        \r
+       SetUnhandledExceptionFilter(UserUnhandledExceptionFilter);\r
+\r
        CASPAR_LOG(info) << L"Type \"q\" to close application";\r
 \r
        CASPAR_LOG(info) << L"THIS IS AN ALPHA BUILD";\r