| Index: remoting/client/jni/chromoting_jni_runtime.cc
|
| diff --git a/remoting/client/jni/chromoting_jni_runtime.cc b/remoting/client/jni/chromoting_jni_runtime.cc
|
| index 108bb71339d937272e1885c7dd39b03e04d73a1a..11ca7309d3f99f686d37c40a464bcc7a334a5cec 100644
|
| --- a/remoting/client/jni/chromoting_jni_runtime.cc
|
| +++ b/remoting/client/jni/chromoting_jni_runtime.cc
|
| @@ -13,6 +13,7 @@
|
| #include "media/base/yuv_convert.h"
|
| #include "net/android/net_jni_registrar.h"
|
| #include "remoting/base/url_request_context.h"
|
| +#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
|
|
|
| namespace {
|
|
|
| @@ -169,24 +170,33 @@ void ChromotingJniRuntime::CommitPairingCredentials(const std::string& host,
|
| // GCd as soon as the managed method returned, so we mustn't release it here.
|
| }
|
|
|
| -void ChromotingJniRuntime::UpdateImageBuffer(int width,
|
| - int height,
|
| - jobject buffer) {
|
| +base::android::ScopedJavaLocalRef<jobject> ChromotingJniRuntime::NewBitmap(
|
| + webrtc::DesktopSize size) {
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| +
|
| + jobject bitmap = env->CallStaticObjectMethod(
|
| + class_,
|
| + env->GetStaticMethodID(
|
| + class_,
|
| + "newBitmap",
|
| + "(II)Landroid/graphics/Bitmap;"),
|
| + size.width(),
|
| + size.height());
|
| + return base::android::ScopedJavaLocalRef<jobject>(env, bitmap);
|
| +}
|
| +
|
| +void ChromotingJniRuntime::UpdateFrameBitmap(jobject bitmap) {
|
| DCHECK(display_task_runner_->BelongsToCurrentThread());
|
|
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
| - env->SetStaticIntField(
|
| - class_,
|
| - env->GetStaticFieldID(class_, "sWidth", "I"),
|
| - width);
|
| - env->SetStaticIntField(
|
| - class_,
|
| - env->GetStaticFieldID(class_, "sHeight", "I"),
|
| - height);
|
| - env->SetStaticObjectField(
|
| +
|
| + env->CallStaticVoidMethod(
|
| class_,
|
| - env->GetStaticFieldID(class_, "sBuffer", "Ljava/nio/ByteBuffer;"),
|
| - buffer);
|
| + env->GetStaticMethodID(
|
| + class_,
|
| + "setVideoFrame",
|
| + "(Landroid/graphics/Bitmap;)V"),
|
| + bitmap);
|
| }
|
|
|
| void ChromotingJniRuntime::UpdateCursorShape(
|
|
|