]> 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 Nov 2011 14:55:06 +0000 (14:55 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 5 Nov 2011 14:55:06 +0000 (14:55 +0000)
common/log/log.cpp
core/mixer/gpu/device_buffer.cpp
core/mixer/gpu/host_buffer.cpp
core/mixer/gpu/ogl_device.cpp
modules/ffmpeg/producer/input/input.cpp
modules/ffmpeg/producer/muxer/frame_muxer.cpp
shell/main.cpp

index 607e050523c6e929e4357f1da26a0134fed9cf46..3446e5c34ac0f9ad5a118aae38fa7d6322ad47a4 100644 (file)
@@ -110,11 +110,11 @@ void init()
 \r
        auto stream_sink = boost::make_shared<stream_sink_type>(stream_backend);\r
        \r
-#ifdef NDEBUG\r
-       stream_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= trace);\r
-#else\r
-       stream_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= trace);\r
-#endif\r
+//#ifdef NDEBUG\r
+//     stream_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= debug);\r
+//#else\r
+//     stream_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= debug);\r
+//#endif\r
 \r
        stream_sink->locked_backend()->set_formatter(&my_formatter);\r
 \r
@@ -143,11 +143,11 @@ void add_file_sink(const std::wstring& folder)
                \r
                file_sink->locked_backend()->set_formatter(&my_formatter);\r
 \r
-#ifdef NDEBUG\r
-               file_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= info);\r
-#else\r
-               file_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= debug);\r
-#endif\r
+//#ifdef NDEBUG\r
+//             file_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= debug);\r
+//#else\r
+//             file_sink->set_filter(boost::log::filters::attr<severity_level>(boost::log::sources::aux::severity_attribute_name<wchar_t>::get()) >= debug);\r
+//#endif\r
                boost::log::wcore::get()->add_sink(file_sink);\r
 \r
                CASPAR_LOG(info) << L"Logging [info] or higher severity to " << folder << std::endl << std::endl;\r
index f5f8c1094f5d33cec56a26dbd13c6ad30b9e87ef..c46ddae97bed8e7350dd6d9f584e23e017cc1ca4 100644 (file)
@@ -77,7 +77,7 @@ public:
                try\r
                {\r
                        GL(glDeleteTextures(1, &id_));\r
-                       //CASPAR_LOG(trace) << "[device_buffer] [" << --g_total_count << L"] deallocated size:" << width_*height_*stride_;\r
+                       CASPAR_LOG(trace) << "[device_buffer] [" << --g_total_count << L"] deallocated size:" << width_*height_*stride_;\r
                }\r
                catch(...)\r
                {\r
index 651d783d3719c1d5355f6c7309cc8d715cfc7e54..da367275670d87e7a6cf6cd0437c3e8f82b527db 100644 (file)
@@ -75,7 +75,7 @@ public:
                try\r
                {\r
                        GL(glDeleteBuffers(1, &pbo_));\r
-                       //CASPAR_LOG(trace) << "[host_buffer] [" << --(usage_ == write_only ? g_w_total_count : g_r_total_count) << L"] deallocated size:" << size_ << " usage: " << (usage_ == write_only ? "write_only" : "read_only");\r
+                       CASPAR_LOG(trace) << "[host_buffer] [" << --(usage_ == write_only ? g_w_total_count : g_r_total_count) << L"] deallocated size:" << size_ << " usage: " << (usage_ == write_only ? "write_only" : "read_only");\r
                }\r
                catch(...)\r
                {\r
index 866231d22c78f915c0b4bd03cbeec75216a3a476..1f449cf8a654806816692370d17277e7d74cad6e 100644 (file)
@@ -386,6 +386,19 @@ void ogl_device::wait(const fence& fence)
                }\r
        }\r
        graph_->update_value("fence", delay/static_cast<double>(MAX_DELAY));\r
+               \r
+       static tbb::atomic<bool> warned;\r
+               \r
+       if(delay > 2)\r
+       {\r
+               if(!warned.fetch_and_store(true))\r
+               {\r
+                       CASPAR_LOG(warning) << L"[fence] Performance warning. GPU was not ready during requested host read-back. Delayed by atleast: " << delay << L" ms. Further warnings are sent to diagnostics."\r
+                                                               << L" You can ignore this warning if you do not notice any problems with output video. This warning is caused by insufficent support or performance of your graphics card for OpenGL based memory transfers. "\r
+                                                               << L" Please try to update your graphics drivers or update your graphics card, see recommendations on (www.casparcg.com)."\r
+                                                               << L" Further help is available at (www.casparcg.com/forum).";\r
+               }\r
+       }\r
 }\r
 \r
 }}\r
index a7322d4b2db9468a0a175fde0147d5f8429492ef..cc91ebad1ecec202681fabd74d8904d202b88170 100644 (file)
@@ -175,13 +175,13 @@ public:
 \r
                        if(loop_)\r
                        {\r
-                               CASPAR_LOG(trace) << print() << " Looping.";\r
+                               CASPAR_LOG(debug) << print() << " Looping.";\r
                                seek_frame(start_, AVSEEK_FLAG_BACKWARD);               \r
                                return read_next_packet();\r
                        }       \r
                        else\r
                        {\r
-                               CASPAR_LOG(trace) << print() << " Stopping.";\r
+                               CASPAR_LOG(debug) << print() << " Stopping.";\r
                                return nullptr;\r
                        }\r
                }\r
@@ -254,7 +254,7 @@ public:
                if(ret == AVERROR(EIO))\r
                        CASPAR_LOG(trace) << print() << " Received EIO, assuming EOF. " << nb_frames_;\r
                if(ret == AVERROR_EOF)\r
-                       CASPAR_LOG(trace) << print() << " Received EOF. " << nb_frames_;\r
+                       CASPAR_LOG(debug) << print() << " Received EOF. " << nb_frames_;\r
 \r
                CASPAR_VERIFY(ret >= 0 || ret == AVERROR_EOF || ret == AVERROR(EIO), ffmpeg_error() << source_info(narrow(print())));\r
 \r
index 2f26870046d5dafc906e8684331ac1d8df47ffa3..067b24424e256ef7686594a08688d24629e769e1 100644 (file)
@@ -140,7 +140,7 @@ struct frame_muxer2::implementation : public Concurrency::agent, boost::noncopya
 \r
                if(audio == flush_audio())\r
                {\r
-                       CASPAR_LOG(trace) << L"Truncating: " << audio_data_.size() << L" audio-samples:";\r
+                       CASPAR_LOG(info) << L"Truncating: " << audio_data_.size() << L" audio-samples:";\r
                        audio_data_.clear();\r
                        ++audio_loop_count_;\r
                        return receive_audio();         \r
index d699eb85e9dc5e9248c35890a1b35559062fd77c..da792e3f5c6ebdf9d5d6531179069f590b33f6de 100644 (file)
@@ -183,6 +183,8 @@ int main(int argc, wchar_t* argv[])
 \r
        // Install structured exception handler.\r
        caspar::win32_exception::install_handler();\r
+\r
+       caspar::log::set_log_level(L"debug");\r
                        \r
        // Increase time precision. This will increase accuracy of function like Sleep(1) from 10 ms to 1 ms.\r
        struct inc_prec\r