diff options
author | Henri Herscher <henri@oreka.org> | 2007-02-19 19:32:27 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2007-02-19 19:32:27 +0000 |
commit | 51e937e678323ceb3079e3ecafb1e8f78e59be11 (patch) | |
tree | 98f316b4da062fd2d98599fb4472984a44091602 | |
parent | 607acd9f0d450d8934e11a90ad4b68ba82927344 (diff) |
Added error throttling on immediate processing enqueuing errors.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@410 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r-- | orkaudio/ImmediateProcessing.cpp | 12 | ||||
-rw-r--r-- | orkaudio/ImmediateProcessing.h | 2 |
2 files changed, 12 insertions, 2 deletions
diff --git a/orkaudio/ImmediateProcessing.cpp b/orkaudio/ImmediateProcessing.cpp index 181e659..1a6722f 100644 --- a/orkaudio/ImmediateProcessing.cpp +++ b/orkaudio/ImmediateProcessing.cpp @@ -25,6 +25,11 @@ ImmediateProcessing ImmediateProcessing::m_immediateProcessingSingleton; +ImmediateProcessing::ImmediateProcessing() +{ + m_lastQueueFullTime = time(NULL); +} + ImmediateProcessing* ImmediateProcessing::GetInstance() { return &m_immediateProcessingSingleton; @@ -34,8 +39,11 @@ void ImmediateProcessing::AddAudioTape(AudioTapeRef audioTapeRef) { if (!m_audioTapeQueue.push(audioTapeRef)) { - // Log error - LOG4CXX_ERROR(LOG.immediateProcessingLog, CStdString("ImmediateProcessing: queue full")); + if( (time(NULL) - m_lastQueueFullTime) > 10 ) + { + m_lastQueueFullTime = time(NULL); + LOG4CXX_ERROR(LOG.immediateProcessingLog, CStdString("ImmediateProcessing: queue full")); + } } } diff --git a/orkaudio/ImmediateProcessing.h b/orkaudio/ImmediateProcessing.h index 7912535..88c8d55 100644 --- a/orkaudio/ImmediateProcessing.h +++ b/orkaudio/ImmediateProcessing.h @@ -20,6 +20,7 @@ class ImmediateProcessing { public: + ImmediateProcessing(); static ImmediateProcessing* GetInstance(); static void ThreadHandler(void *args); @@ -29,6 +30,7 @@ private: static ImmediateProcessing m_immediateProcessingSingleton; ThreadSafeQueue<AudioTapeRef> m_audioTapeQueue; + time_t m_lastQueueFullTime; }; #endif |