diff options
-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 |