diff options
-rw-r--r-- | media/libstagefright/SurfaceMediaSource.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/media/libstagefright/SurfaceMediaSource.cpp b/media/libstagefright/SurfaceMediaSource.cpp index 108fb876d2..b77fc2132e 100644 --- a/media/libstagefright/SurfaceMediaSource.cpp +++ b/media/libstagefright/SurfaceMediaSource.cpp @@ -427,7 +427,11 @@ void SurfaceMediaSource::signalBufferReturned(MediaBuffer *buffer) { buffer_handle_t bufferHandle = getMediaBufferHandle(buffer); for (size_t i = 0; i < mCurrentBuffers.size(); i++) { +#ifdef CAMCORDER_GRALLOC_SOURCE if (mCurrentBuffers[i]->handle == bufferHandle) { +#else + if ((buffer_handle_t)mCurrentBuffers[i]->getNativeBuffer() == bufferHandle) { +#endif mCurrentBuffers.removeAt(i); foundBuffer = true; break; @@ -443,7 +447,11 @@ void SurfaceMediaSource::signalBufferReturned(MediaBuffer *buffer) { continue; } +#ifdef CAMCORDER_GRALLOC_SOURCE if (bufferHandle == mSlots[id].mGraphicBuffer->handle) { +#else + if (bufferHandle == (buffer_handle_t)mSlots[id].mGraphicBuffer->getNativeBuffer()) { +#endif ALOGV("Slot %d returned, matches handle = %p", id, mSlots[id].mGraphicBuffer->handle); |