Index: talk/app/webrtc/java/jni/peerconnection_jni.cc |
diff --git a/talk/app/webrtc/java/jni/peerconnection_jni.cc b/talk/app/webrtc/java/jni/peerconnection_jni.cc |
index 8e274a4721e10b41d4cb44052160a467775da99e..6f30c79ee03375242162f49c2c14f08c19f975d8 100644 |
--- a/talk/app/webrtc/java/jni/peerconnection_jni.cc |
+++ b/talk/app/webrtc/java/jni/peerconnection_jni.cc |
@@ -767,7 +767,7 @@ class JavaVideoRendererWrapper : public VideoRendererInterface { |
jni, *j_frame_class_, "<init>", "(III[I[Ljava/nio/ByteBuffer;J)V")), |
j_texture_frame_ctor_id_(GetMethodID( |
jni, *j_frame_class_, "<init>", |
- "(IIILjava/lang/Object;IJ)V")), |
+ "(IIII[FJ)V")), |
j_byte_buffer_class_(jni, FindClass(jni, "java/nio/ByteBuffer")) { |
CHECK_EXCEPTION(jni); |
} |
@@ -810,20 +810,20 @@ class JavaVideoRendererWrapper : public VideoRendererInterface { |
*j_frame_class_, j_i420_frame_ctor_id_, |
frame->GetWidth(), frame->GetHeight(), |
static_cast<int>(frame->GetVideoRotation()), |
- strides, planes, frame); |
+ strides, planes, jlongFromPointer(frame)); |
} |
// Return a VideoRenderer.I420Frame referring texture object in |frame|. |
jobject CricketToJavaTextureFrame(const cricket::VideoFrame* frame) { |
NativeHandleImpl* handle = |
reinterpret_cast<NativeHandleImpl*>(frame->GetNativeHandle()); |
- jobject texture_object = reinterpret_cast<jobject>(handle->GetHandle()); |
- int texture_id = handle->GetTextureId(); |
+ jfloatArray sampling_matrix = jni()->NewFloatArray(16); |
+ jni()->SetFloatArrayRegion(sampling_matrix, 0, 16, handle->sampling_matrix); |
return jni()->NewObject( |
*j_frame_class_, j_texture_frame_ctor_id_, |
frame->GetWidth(), frame->GetHeight(), |
static_cast<int>(frame->GetVideoRotation()), |
- texture_object, texture_id, frame); |
+ handle->oes_texture_id, sampling_matrix, jlongFromPointer(frame)); |
} |
JNIEnv* jni() { |