Index: media/base/android/sdk_media_codec_bridge.cc |
diff --git a/media/base/android/sdk_media_codec_bridge.cc b/media/base/android/sdk_media_codec_bridge.cc |
index 5dd7d539244b68046f5dd14085592e9d764d8682..6a04a34eceaf8b428c39dbe7c792a782893ba900 100644 |
--- a/media/base/android/sdk_media_codec_bridge.cc |
+++ b/media/base/android/sdk_media_codec_bridge.cc |
@@ -314,25 +314,11 @@ MediaCodecStatus SdkMediaCodecBridge::GetInputBuffer(int input_buffer_index, |
return MEDIA_CODEC_OK; |
} |
-MediaCodecStatus SdkMediaCodecBridge::CopyFromOutputBuffer(int index, |
- size_t offset, |
- void* dst, |
- size_t num) { |
- void* src_data = nullptr; |
- size_t src_capacity = 0; |
- MediaCodecStatus status = |
- GetOutputBufferAddress(index, offset, &src_data, &src_capacity); |
- if (status == MEDIA_CODEC_OK) { |
- CHECK_GE(src_capacity, num); |
- memcpy(dst, src_data, num); |
- } |
- return status; |
-} |
- |
-MediaCodecStatus SdkMediaCodecBridge::GetOutputBufferAddress(int index, |
- size_t offset, |
- void** addr, |
- size_t* capacity) { |
+MediaCodecStatus SdkMediaCodecBridge::GetOutputBufferAddress( |
+ int index, |
+ size_t offset, |
+ const uint8_t** addr, |
+ size_t* capacity) { |
JNIEnv* env = AttachCurrentThread(); |
ScopedJavaLocalRef<jobject> j_buffer( |
Java_MediaCodecBridge_getOutputBuffer(env, j_media_codec_.obj(), index)); |
@@ -340,9 +326,9 @@ MediaCodecStatus SdkMediaCodecBridge::GetOutputBufferAddress(int index, |
return MEDIA_CODEC_ERROR; |
const size_t total_capacity = env->GetDirectBufferCapacity(j_buffer.obj()); |
CHECK_GE(total_capacity, offset); |
- *addr = |
- reinterpret_cast<uint8_t*>(env->GetDirectBufferAddress(j_buffer.obj())) + |
- offset; |
+ *addr = reinterpret_cast<const uint8_t*>( |
+ env->GetDirectBufferAddress(j_buffer.obj())) + |
+ offset; |
*capacity = total_capacity - offset; |
return MEDIA_CODEC_OK; |
} |
@@ -579,7 +565,7 @@ MediaCodecStatus AudioCodecBridge::PlayOutputBuffer(int index, |
DCHECK_LE(0, index); |
int numBytes = base::checked_cast<int>(size); |
- void* buffer = nullptr; |
+ const uint8_t* buffer = nullptr; |
size_t capacity = 0; |
MediaCodecStatus status = |
GetOutputBufferAddress(index, offset, &buffer, &capacity); |
@@ -590,8 +576,8 @@ MediaCodecStatus AudioCodecBridge::PlayOutputBuffer(int index, |
CHECK_GE(numBytes, 0); |
JNIEnv* env = AttachCurrentThread(); |
- ScopedJavaLocalRef<jbyteArray> byte_array = base::android::ToJavaByteArray( |
- env, static_cast<uint8_t*>(buffer), numBytes); |
+ ScopedJavaLocalRef<jbyteArray> byte_array = |
+ base::android::ToJavaByteArray(env, buffer, numBytes); |
*playback_pos = Java_MediaCodecBridge_playOutputBuffer( |
env, media_codec(), byte_array.obj(), postpone); |
return status; |