summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/libstagefright/SurfaceMediaSource.cpp8
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);