diff options
author | Andreas Huber <andih@google.com> | 2010-09-07 14:11:47 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-09-07 14:11:47 -0700 |
commit | 5de4999e6dd8a3f2740d20e30e8a3fccdcb76362 (patch) | |
tree | ffd564d0c3bd6e3086ffd7b0a824195a67653e62 /media/libstagefright/colorconversion | |
parent | 5d7d90a0dec80114e4e299aaca69e41df6ff296a (diff) | |
download | frameworks_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.cpp | 11 |
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; } |