OSDN Git Service

Fix error code check in releaseBuffer
authorFabien Sanglard <sanglardf@google.com>
Thu, 23 Feb 2017 23:02:34 +0000 (15:02 -0800)
committerFabien Sanglard <sanglardf@google.com>
Fri, 24 Feb 2017 22:20:00 +0000 (14:20 -0800)
BufferQueueConsumer can occasionaly return STALE_BUFFER_SLOT which
does not indicate an error but that there is no more to be done.
SurfaceFlingerConsumer should report and error only with a status
code inferior to zero.

Test: AUPT
Change-Id: Ie0624358301e1e3b090adf35facd6eac79c214db

services/surfaceflinger/SurfaceFlingerConsumer.cpp

index 04f4f7e..2fcbdba 100644 (file)
@@ -223,7 +223,7 @@ bool SurfaceFlingerConsumer::releasePendingBuffer()
     status_t result = releaseBufferLocked(mPendingRelease.currentTexture,
             mPendingRelease.graphicBuffer, mPendingRelease.display,
             mPendingRelease.fence);
-    ALOGE_IF(result != NO_ERROR, "releasePendingBuffer failed: %s (%d)",
+    ALOGE_IF(result < NO_ERROR, "releasePendingBuffer failed: %s (%d)",
             strerror(-result), result);
     mPendingRelease = PendingRelease();
     return true;