From fc88ffe9d840917def74de8a0a0f2ec9e10f6973 Mon Sep 17 00:00:00 2001 From: nisse Date: Tue, 3 May 2016 00:32:08 -0700 Subject: [PATCH] Fix allocation size in CricketToJavaI420Frame, taking stride into account. BUG= Review-Url: https://codereview.webrtc.org/1941773002 Cr-Commit-Position: refs/heads/master@{#12601} --- webrtc/api/java/jni/peerconnection_jni.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/webrtc/api/java/jni/peerconnection_jni.cc b/webrtc/api/java/jni/peerconnection_jni.cc index 10b8134ef4..ac328efc2b 100644 --- a/webrtc/api/java/jni/peerconnection_jni.cc +++ b/webrtc/api/java/jni/peerconnection_jni.cc @@ -771,14 +771,14 @@ class JavaVideoRendererWrapper const_cast(frame->video_frame_buffer()->DataY()), frame->video_frame_buffer()->StrideY() * frame->video_frame_buffer()->height()); - size_t chroma_size = - ((frame->width() + 1) / 2) * ((frame->height() + 1) / 2); + size_t chroma_height = (frame->height() + 1) / 2; jobject u_buffer = jni()->NewDirectByteBuffer( const_cast(frame->video_frame_buffer()->DataU()), - chroma_size); + frame->video_frame_buffer()->StrideU() * chroma_height); jobject v_buffer = jni()->NewDirectByteBuffer( const_cast(frame->video_frame_buffer()->DataV()), - chroma_size); + frame->video_frame_buffer()->StrideV() * chroma_height); + jni()->SetObjectArrayElement(planes, 0, y_buffer); jni()->SetObjectArrayElement(planes, 1, u_buffer); jni()->SetObjectArrayElement(planes, 2, v_buffer); @@ -1888,7 +1888,7 @@ JOW(void, VideoRenderer_nativeCopyPlane)( RTC_CHECK(src_size >= src_stride * height) << "Insufficient source buffer capacity " << src_size; RTC_CHECK(dst_size >= dst_stride * height) - << "Isufficient destination buffer capacity " << dst_size; + << "Insufficient destination buffer capacity " << dst_size; uint8_t *src = reinterpret_cast(jni->GetDirectBufferAddress(j_src_buffer)); uint8_t *dst =