| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/base/android/ndk_media_codec_bridge.h" | 5 #include "media/base/android/ndk_media_codec_bridge.h" |
| 6 | 6 |
| 7 #include <media/NdkMediaError.h> | 7 #include <media/NdkMediaError.h> |
| 8 #include <media/NdkMediaFormat.h> | 8 #include <media/NdkMediaFormat.h> |
| 9 | 9 |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 } | 230 } |
| 231 | 231 |
| 232 MediaCodecStatus NdkMediaCodecBridge::GetInputBuffer(int input_buffer_index, | 232 MediaCodecStatus NdkMediaCodecBridge::GetInputBuffer(int input_buffer_index, |
| 233 uint8_t** data, | 233 uint8_t** data, |
| 234 size_t* capacity) { | 234 size_t* capacity) { |
| 235 *data = AMediaCodec_getInputBuffer(media_codec_.get(), input_buffer_index, | 235 *data = AMediaCodec_getInputBuffer(media_codec_.get(), input_buffer_index, |
| 236 capacity); | 236 capacity); |
| 237 return MEDIA_CODEC_OK; | 237 return MEDIA_CODEC_OK; |
| 238 } | 238 } |
| 239 | 239 |
| 240 MediaCodecStatus NdkMediaCodecBridge::GetOutputBufferAddress( | 240 MediaCodecStatus NdkMediaCodecBridge::CopyFromOutputBuffer(int index, |
| 241 int index, | 241 size_t offset, |
| 242 size_t offset, | 242 void* dst, |
| 243 const uint8_t** addr, | 243 size_t num) { |
| 244 size_t* capacity) { | 244 size_t capacity; |
| 245 const uint8_t* src_data = | 245 const uint8_t* src_data = |
| 246 AMediaCodec_getOutputBuffer(media_codec_.get(), index, capacity); | 246 AMediaCodec_getOutputBuffer(media_codec_.get(), index, &capacity); |
| 247 *addr = src_data + offset; | 247 CHECK_GE(capacity, offset + num); |
| 248 *capacity -= offset; | 248 memcpy(dst, src_data + offset, num); |
| 249 return MEDIA_CODEC_OK; | 249 return MEDIA_CODEC_OK; |
| 250 } | 250 } |
| 251 | 251 |
| 252 } // namespace media | 252 } // namespace media |
| OLD | NEW |