Suppress BufferQueueProducer::dequeueBuffer error logs
BufferQueue acts as an allocator for Codec2. Since BufferQueue does not
have notifications on availability of buffers for dequeueBuffer now,
suppress error messages from BufferQueueProducer::dequeueBuffer for
looping if dequeue timeout is not infinite.
Bug: 129899822
Bug: 131773342
Change-Id: Id82ad9207847e71739840969da0375494aaa317f
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp
index 3928bb9..96d7568 100644
--- a/libs/gui/BufferQueueProducer.cpp
+++ b/libs/gui/BufferQueueProducer.cpp
@@ -274,8 +274,12 @@
// This check is only done if a buffer has already been queued
if (mCore->mBufferHasBeenQueued &&
dequeuedCount >= mCore->mMaxDequeuedBufferCount) {
- BQ_LOGE("%s: attempting to exceed the max dequeued buffer count "
- "(%d)", callerString, mCore->mMaxDequeuedBufferCount);
+ // Supress error logs when timeout is non-negative.
+ if (mDequeueTimeout < 0) {
+ BQ_LOGE("%s: attempting to exceed the max dequeued buffer "
+ "count (%d)", callerString,
+ mCore->mMaxDequeuedBufferCount);
+ }
return INVALID_OPERATION;
}