From 09fc76664add0d2aa776d0fa410950be9bc8f973 Mon Sep 17 00:00:00 2001 From: Jamie Gennis Date: Thu, 15 Dec 2011 18:14:05 -0800 Subject: [PATCH] SurfaceMediaSource: use the HW_TEXTURE usage bit This change makes SurfaceMediaSource request Gralloc buffers with the HW_TEXTURE usage bit rather than the VIDEO_ENCODER bit. It is a temporary workaround for what is likely a Gralloc bug. Bug: 5771063 Change-Id: I9cce615e80fc14a1644fae27ba06970c262dd179 --- media/libstagefright/SurfaceMediaSource.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/media/libstagefright/SurfaceMediaSource.cpp b/media/libstagefright/SurfaceMediaSource.cpp index 86b33d1c4fd1e..38daf72f9104e 100644 --- a/media/libstagefright/SurfaceMediaSource.cpp +++ b/media/libstagefright/SurfaceMediaSource.cpp @@ -336,7 +336,9 @@ status_t SurfaceMediaSource::dequeueBuffer(int *outBuf, uint32_t w, uint32_t h, (uint32_t(buffer->height) != h) || (uint32_t(buffer->format) != format) || ((uint32_t(buffer->usage) & usage) != usage)) { - usage |= GraphicBuffer::USAGE_HW_VIDEO_ENCODER; + // XXX: This will be changed to USAGE_HW_VIDEO_ENCODER once driver + // issues with that flag get fixed. + usage |= GraphicBuffer::USAGE_HW_TEXTURE; status_t error; sp graphicBuffer( mGraphicBufferAlloc->createGraphicBuffer(