summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/colorconversion
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-09-07 14:11:47 -0700
committerAndreas Huber <andih@google.com>2010-09-07 14:11:47 -0700
commit5de4999e6dd8a3f2740d20e30e8a3fccdcb76362 (patch)
treeffd564d0c3bd6e3086ffd7b0a824195a67653e62 /media/libstagefright/colorconversion
parent5d7d90a0dec80114e4e299aaca69e41df6ff296a (diff)
downloadframeworks_av-5de4999e6dd8a3f2740d20e30e8a3fccdcb76362.zip
frameworks_av-5de4999e6dd8a3f2740d20e30e8a3fccdcb76362.tar.gz
frameworks_av-5de4999e6dd8a3f2740d20e30e8a3fccdcb76362.tar.bz2
Don't assert on unexpected surface flinger dequeue/enqueueBuffer errors, log a warning and ignore them instead.
Change-Id: Ia45887df82d66f393520e5a4308f430010402d5e related-to-bug: 2976248
Diffstat (limited to 'media/libstagefright/colorconversion')
-rw-r--r--media/libstagefright/colorconversion/SoftwareRenderer.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
index 507fa5a..c204a94 100644
--- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp
+++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
@@ -106,7 +106,12 @@ static inline size_t ALIGN(size_t x, size_t alignment) {
void SoftwareRenderer::render(
const void *data, size_t size, void *platformPrivate) {
android_native_buffer_t *buf;
- CHECK_EQ(0, mSurface->dequeueBuffer(mSurface.get(), &buf));
+ int err;
+ if ((err = mSurface->dequeueBuffer(mSurface.get(), &buf)) != 0) {
+ LOGW("Surface::dequeueBuffer returned error %d", err);
+ return;
+ }
+
CHECK_EQ(0, mSurface->lockBuffer(mSurface.get(), buf));
GraphicBufferMapper &mapper = GraphicBufferMapper::get();
@@ -186,7 +191,9 @@ void SoftwareRenderer::render(
CHECK_EQ(0, mapper.unlock(buf->handle));
- CHECK_EQ(0, mSurface->queueBuffer(mSurface.get(), buf));
+ if ((err = mSurface->queueBuffer(mSurface.get(), buf)) != 0) {
+ LOGW("Surface::queueBuffer returned error %d", err);
+ }
buf = NULL;
}