]> git.sesse.net Git - casparcg/commitdiff
log: \r and \n are printable for logging.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 9 Mar 2012 13:11:41 +0000 (13:11 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 9 Mar 2012 13:11:41 +0000 (13:11 +0000)
amcp: CLS checks for known extensions instead of letting ffmpeg open and read file headers. Added missing FAILED reply. Fixed missing \r\n for amcp overflow FAILED reply.

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

common/log/log.h
protocol/amcp/AMCPCommandQueue.cpp
protocol/amcp/AMCPCommandsImpl.cpp

index c1e782abfc1fdd6222d31f335b6406aaadbd876a..2a86a090b5d556a38b0a46849723e27590b36d38 100644 (file)
@@ -102,7 +102,7 @@ template<typename T>
 inline void replace_nonprintable(std::basic_string<T, std::char_traits<T>, std::allocator<T>>& str, T with)\r
 {\r
        std::locale loc;\r
-       std::replace_if(str.begin(), str.end(), [&](T c)->bool { return !std::isprint(c, loc); }, with);\r
+       std::replace_if(str.begin(), str.end(), [&](T c)->bool { return !std::isprint(c, loc) && c != '\r' && c != '\n'; }, with);\r
 }\r
 \r
 template<typename T>\r
index a77adf54bfa881a5ae5a8474bbb0c792874280dc..7a50158671d9be5f26d1ba3463490bc9f08feb9e 100644 (file)
@@ -48,7 +48,7 @@ void AMCPCommandQueue::AddCommand(AMCPCommandPtr pCurrentCommand)
                {\r
                        CASPAR_LOG(error) << "AMCP Command Queue Overflow.";\r
                        CASPAR_LOG(error) << "Failed to execute command:" << pCurrentCommand->print();\r
-                       pCurrentCommand->SetReplyString(L"500 FAILED");\r
+                       pCurrentCommand->SetReplyString(L"500 FAILED\r\n");\r
                        pCurrentCommand->SendReply();\r
                }\r
                catch(...)\r
@@ -72,6 +72,7 @@ void AMCPCommandQueue::AddCommand(AMCPCommandPtr pCurrentCommand)
                        {\r
                                CASPAR_LOG_CURRENT_EXCEPTION();\r
                                CASPAR_LOG(error) << "Failed to execute command:" << pCurrentCommand->print();\r
+                               pCurrentCommand->SetReplyString(L"500 FAILED\r\n");\r
                        }\r
                                \r
                        pCurrentCommand->SendReply();\r
index 48ff1bfef6b3e2708d67b4d3a6ef1b932474216d..b9026678057301c059c52704db6cedebe0ffc3a4 100644 (file)
@@ -109,7 +109,12 @@ std::wstring MediaInfo(const boost::filesystem::wpath& path)
                        clipttype = TEXT(" STILL ");\r
                else if(extension == TEXT(".WAV") || extension == TEXT(".MP3"))\r
                        clipttype = TEXT(" STILL ");\r
-               else if(caspar::ffmpeg::is_valid_file(path.file_string()) || extension == L".CT")\r
+               else if(extension == TEXT(".SWF") || extension == TEXT(".CT") || \r
+                           extension == TEXT(".DV") || extension == TEXT(".MOV") || \r
+                               extension == TEXT(".MPG") || extension == TEXT(".AVI") || \r
+                               extension == TEXT(".MP4") || extension == TEXT(".FLV") || \r
+                               extension == TEXT(".STGA") || \r
+                               caspar::ffmpeg::is_valid_file(path.file_string()))\r
                        clipttype = TEXT(" MOVIE ");\r
 \r
                if(clipttype != TEXT(" N/A "))\r