]> git.sesse.net Git - casparcg/commitdiff
2.0. fence: Only log GL_SYNC warning once.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Mon, 8 Aug 2011 06:58:10 +0000 (06:58 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Mon, 8 Aug 2011 06:58:10 +0000 (06:58 +0000)
     frame_muxer: Fixed invalid_operation crash.
     frame_producer: Send filename with exception.

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

core/mixer/gpu/fence.cpp
core/producer/frame_producer.cpp
modules/ffmpeg/producer/frame_muxer.cpp

index b11e6f59168f8719198e757bbe4092a8678fe313..6fbbdf37a3e5608cf9318af56b34c6c669b6a576 100644 (file)
@@ -53,11 +53,15 @@ struct fence::implementation
        \r
 fence::fence() \r
 {\r
+       static bool log_flag = false;\r
+\r
        if(GLEW_ARB_sync)\r
                impl_.reset(new implementation());\r
-       else\r
+       else if(!log_flag)\r
+       {\r
                CASPAR_LOG(warning) << "[fence] GL_SYNC not supported, running without fences. This might cause performance degradation when running multiple channels and short buffer depth.";\r
-\r
+               log_flag = true;\r
+       }\r
 }\r
 \r
 void fence::set() \r
index 84eaef0c0ae3afb4300838aebc73b78a3c9bccd6..be9e005f4759589787e39a85fa35084e71e5eacb 100644 (file)
@@ -107,7 +107,7 @@ safe_ptr<core::frame_producer> do_create_producer(const safe_ptr<frame_factory>&
                producer = create_color_producer(my_frame_factory, params);\r
 \r
        if(producer == frame_producer::empty())\r
-               BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
+               BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax.") << arg_value_info(params.size() > 0 ? narrow(params[0]) : ""));\r
 \r
        return producer;\r
 }\r
index a09aaa4bff0cdd8d082313e019f3e85dbf588a9b..9267f7ec7fab4178c61cb12ff5c22be48974d176 100644 (file)
@@ -165,6 +165,7 @@ struct frame_muxer::implementation : boost::noncopyable
                {\r
                        video_streams_.back().push(make_safe<core::write_frame>(this));\r
                        ++video_frame_count_;\r
+                       display_mode_ = display_mode::simple;\r
                        put_frames(frame_buffer_);\r
                        return;\r
                }\r
@@ -303,7 +304,7 @@ struct frame_muxer::implementation : boost::noncopyable
                case display_mode::deinterlace_bob:                             return simple(dest);\r
                case display_mode::deinterlace_bob_reinterlace: return interlace(dest);\r
                case display_mode::deinterlace:                                 return simple(dest);\r
-               default:                                                                                BOOST_THROW_EXCEPTION(invalid_operation());\r
+               default:                                                                                BOOST_THROW_EXCEPTION(invalid_operation() << msg_info("invalid display-mode"));\r
                }\r
        }\r
 \r