Index: media/base/android/ndk_media_codec_bridge.cc |
diff --git a/media/base/android/ndk_media_codec_bridge.cc b/media/base/android/ndk_media_codec_bridge.cc |
index c39e0f9ca3e288f403602a9eb7b08c3668e18a0c..0c3a2cd70964ac68f99611d984aff7c8ee5ba0e0 100644 |
--- a/media/base/android/ndk_media_codec_bridge.cc |
+++ b/media/base/android/ndk_media_codec_bridge.cc |
@@ -237,15 +237,15 @@ |
return MEDIA_CODEC_OK; |
} |
-MediaCodecStatus NdkMediaCodecBridge::GetOutputBufferAddress( |
- int index, |
- size_t offset, |
- const uint8_t** addr, |
- size_t* capacity) { |
+MediaCodecStatus NdkMediaCodecBridge::CopyFromOutputBuffer(int index, |
+ size_t offset, |
+ void* dst, |
+ size_t num) { |
+ size_t capacity; |
const uint8_t* src_data = |
- AMediaCodec_getOutputBuffer(media_codec_.get(), index, capacity); |
- *addr = src_data + offset; |
- *capacity -= offset; |
+ AMediaCodec_getOutputBuffer(media_codec_.get(), index, &capacity); |
+ CHECK_GE(capacity, offset + num); |
+ memcpy(dst, src_data + offset, num); |
return MEDIA_CODEC_OK; |
} |