Suppress unnecessary "frame not found" errors.

ConsumerFrameEventHistory only stores 8 frames of history,
but video can queue more than 8 frames, which triggers
some annoying ALOGE messages that aren't really errors.

This patch makes sure to print the error only if the
producer has enabled the frame events, which only happens
with EGL where we won't see more than 3 frames queued.

Test: This only affects error reporting.

Change-Id: I184202a71f5fe29159c148957b92fb2e856bf625
diff --git a/libs/gui/FrameTimestamps.cpp b/libs/gui/FrameTimestamps.cpp
index 6503e9c..c9b8948 100644
--- a/libs/gui/FrameTimestamps.cpp
+++ b/libs/gui/FrameTimestamps.cpp
@@ -349,7 +349,7 @@
         uint64_t frameNumber, nsecs_t latchTime) {
     FrameEvents* frame = getFrame(frameNumber, &mCompositionOffset);
     if (frame == nullptr) {
-        ALOGE("ConsumerFrameEventHistory::addLatch: Did not find frame.");
+        ALOGE_IF(mProducerWantsEvents, "addLatch: Did not find frame.");
         return;
     }
     frame->latchTime = latchTime;
@@ -360,8 +360,8 @@
         uint64_t frameNumber, nsecs_t refreshStartTime) {
     FrameEvents* frame = getFrame(frameNumber, &mCompositionOffset);
     if (frame == nullptr) {
-        ALOGE("ConsumerFrameEventHistory::addPreComposition: "
-              "Did not find frame.");
+        ALOGE_IF(mProducerWantsEvents,
+                "addPreComposition: Did not find frame.");
         return;
     }
     frame->lastRefreshStartTime = refreshStartTime;
@@ -377,8 +377,8 @@
         const std::shared_ptr<FenceTime>& displayPresent) {
     FrameEvents* frame = getFrame(frameNumber, &mCompositionOffset);
     if (frame == nullptr) {
-        ALOGE("ConsumerFrameEventHistory::addPostComposition: "
-              "Did not find frame.");
+        ALOGE_IF(mProducerWantsEvents,
+                "addPostComposition: Did not find frame.");
         return;
     }
     // Only get GPU and present info for the first composite.
@@ -397,7 +397,7 @@
         uint64_t frameNumber, const std::shared_ptr<FenceTime>& displayRetire) {
     FrameEvents* frame = getFrame(frameNumber, &mRetireOffset);
     if (frame == nullptr) {
-        ALOGE("ConsumerFrameEventHistory::addRetire: Did not find frame.");
+        ALOGE_IF(mProducerWantsEvents, "addRetire: Did not find frame.");
         return;
     }
     frame->addRetireCalled = true;
@@ -420,6 +420,7 @@
 void ConsumerFrameEventHistory::getFrameDelta(
         FrameEventHistoryDelta* delta,
         const std::array<FrameEvents, MAX_FRAME_HISTORY>::iterator& frame) {
+    mProducerWantsEvents = true;
     size_t i = static_cast<size_t>(std::distance(mFrames.begin(), frame));
     if (mFramesDirty[i].anyDirty()) {
         delta->mDeltas.emplace_back(i, *frame, mFramesDirty[i]);