]> git.sesse.net Git - casparcg/commitdiff
FFmpeg: reenabled curiously disabled logging suppression during thumbnail genera...
authorHelge Norberg <helge.norberg@gmail.com>
Thu, 16 Jan 2014 10:17:15 +0000 (11:17 +0100)
committerHelge Norberg <helge.norberg@gmail.com>
Thu, 16 Jan 2014 10:17:15 +0000 (11:17 +0100)
CG commands: avoid logging stacktraces for user related errors, but return 404 CG ERROR instead

modules/ffmpeg/ffmpeg.cpp
protocol/amcp/AMCPCommandsImpl.cpp

index 28cff6f12f759dffdc73a08f21d45551674a1f30..0b94107edf652f95bf47c96dad049dfcdd80a987 100644 (file)
@@ -199,7 +199,7 @@ std::shared_ptr<void> temporary_disable_logging_for_thread(bool disable)
 void log_for_thread(void* ptr, int level, const char* fmt, va_list vl)\r
 {\r
        win32_exception::ensure_handler_installed_for_thread("ffmpeg-thread");\r
-       //if (get_disable_logging_for_thread().get() == nullptr) // It does not matter what the value of the bool is\r
+       if (get_disable_logging_for_thread().get() == nullptr) // It does not matter what the value of the bool is\r
                log_callback(ptr, level, fmt, vl);\r
 }\r
 \r
index dc6642fe5fd89b5ed8975f79207a39aca996e713..a1f9c22237fbe87cd9f3ee59299da8ce29781250 100644 (file)
@@ -1423,7 +1423,15 @@ bool CGCommand::DoExecutePlay()
                }\r
                int layer = _ttoi(_parameters[1].c_str());\r
                \r
-               GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"PLAY %1%") % layer).str()).wait();\r
+               try\r
+               {\r
+                       GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"PLAY %1%") % layer).str()).wait();\r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }\r
        else\r
        {\r
@@ -1446,7 +1454,15 @@ bool CGCommand::DoExecuteStop()
                }\r
                int layer = _ttoi(_parameters[1].c_str());\r
                \r
-               GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"STOP %1%") % layer).str()).wait();\r
+               try\r
+               {\r
+                       GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"STOP %1%") % layer).str()).wait();\r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }\r
        else \r
        {\r
@@ -1470,7 +1486,15 @@ bool CGCommand::DoExecuteNext()
 \r
                int layer = _ttoi(_parameters[1].c_str());\r
 \r
-               GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"NEXT %1%") % layer).str()).wait();\r
+               try\r
+               {\r
+                       GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"NEXT %1%") % layer).str()).wait();\r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }\r
        else \r
        {\r
@@ -1493,7 +1517,16 @@ bool CGCommand::DoExecuteRemove()
                }\r
 \r
                int layer = _ttoi(_parameters[1].c_str());\r
-               GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"REMOVE %1%") % layer).str()).wait();\r
+\r
+               try\r
+               {\r
+                       GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"REMOVE %1%") % layer).str()).wait();\r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }\r
        else \r
        {\r
@@ -1535,7 +1568,15 @@ bool CGCommand::DoExecuteUpdate()
 \r
                int layer = _ttoi(_parameters.at(1).c_str());\r
                \r
-               GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"UPDATE %1% \"%2%\"") % layer % dataString).str()).wait();\r
+               try\r
+               {\r
+                       GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"UPDATE %1% \"%2%\"") % layer % dataString).str()).wait();\r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }\r
        catch(...)\r
        {\r
@@ -1559,10 +1600,19 @@ bool CGCommand::DoExecuteInvoke()
                        SetReplyString(TEXT("403 CG ERROR\r\n"));\r
                        return false;\r
                }\r
+\r
                int layer = _ttoi(_parameters[1].c_str());\r
 \r
-               auto result = GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"INVOKE %1% \"%2%\"") % layer % _parameters.at_original(2)).str()).get();\r
-               replyString << result << TEXT("\r\n"); \r
+               try\r
+               {\r
+                       auto result = GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"INVOKE %1% \"%2%\"") % layer % _parameters.at_original(2)).str()).get();\r
+                       replyString << result << TEXT("\r\n"); \r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }\r
        else \r
        {\r
@@ -1588,14 +1638,31 @@ bool CGCommand::DoExecuteInfo()
                }\r
 \r
                int layer = _ttoi(_parameters[1].c_str());\r
-               auto desc = GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"INFO %1%") % layer).str()).get();\r
+\r
+               try\r
+               {\r
+                       auto desc = GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"INFO %1%") % layer).str()).get();\r
                                \r
-               replyString << desc << TEXT("\r\n"); \r
+                       replyString << desc << TEXT("\r\n"); \r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }\r
        else \r
        {\r
-               auto info = GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"INFO")).str()).get();\r
-               replyString << info << TEXT("\r\n"); \r
+               try\r
+               {\r
+                       auto info = GetChannel()->stage()->call(GetLayerIndex(9999), true, (boost::wformat(L"INFO")).str()).get();\r
+                       replyString << info << TEXT("\r\n"); \r
+               }\r
+               catch (const caspar::not_supported&)\r
+               {\r
+                       SetReplyString(TEXT("404 CG ERROR\r\n"));\r
+                       return true;\r
+               }\r
        }       \r
 \r
        SetReplyString(replyString.str());\r