Repo created
This commit is contained in:
parent
81b91f4139
commit
f8c34fa5ee
22732 changed files with 4815320 additions and 2 deletions
|
|
@ -0,0 +1,263 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/EncodedImage
|
||||
|
||||
#ifndef org_webrtc_EncodedImage_JNI
|
||||
#define org_webrtc_EncodedImage_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_EncodedImage[];
|
||||
const char kClassPath_org_webrtc_EncodedImage[] = "org/webrtc/EncodedImage";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_EncodedImage_00024FrameType[];
|
||||
const char kClassPath_org_webrtc_EncodedImage_00024FrameType[] =
|
||||
"org/webrtc/EncodedImage$FrameType";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_EncodedImage_clazz(nullptr);
|
||||
#ifndef org_webrtc_EncodedImage_clazz_defined
|
||||
#define org_webrtc_EncodedImage_clazz_defined
|
||||
inline jclass org_webrtc_EncodedImage_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_EncodedImage,
|
||||
&g_org_webrtc_EncodedImage_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_EncodedImage_00024FrameType_clazz(nullptr);
|
||||
#ifndef org_webrtc_EncodedImage_00024FrameType_clazz_defined
|
||||
#define org_webrtc_EncodedImage_00024FrameType_clazz_defined
|
||||
inline jclass org_webrtc_EncodedImage_00024FrameType_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_EncodedImage_00024FrameType,
|
||||
&g_org_webrtc_EncodedImage_00024FrameType_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_Constructor8(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_EncodedImage_Constructor(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& buffer,
|
||||
const jni_zero::JavaRef<jobject>& releaseCallback,
|
||||
JniIntWrapper encodedWidth,
|
||||
JniIntWrapper encodedHeight,
|
||||
jlong captureTimeNs,
|
||||
const jni_zero::JavaRef<jobject>& frameType,
|
||||
JniIntWrapper rotation,
|
||||
const jni_zero::JavaRef<jobject>& qp) {
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_EncodedImage_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(Ljava/nio/ByteBuffer;Ljava/lang/Runnable;IIJLorg/webrtc/EncodedImage$FrameType;ILjava/lang/Integer;)V",
|
||||
&g_org_webrtc_EncodedImage_Constructor8);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, buffer.obj(), releaseCallback.obj(), as_jint(encodedWidth),
|
||||
as_jint(encodedHeight), captureTimeNs, frameType.obj(), as_jint(rotation), qp.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_getBuffer0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_EncodedImage_getBuffer(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_EncodedImage_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getBuffer",
|
||||
"()Ljava/nio/ByteBuffer;",
|
||||
&g_org_webrtc_EncodedImage_getBuffer0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_getCaptureTimeNs0(nullptr);
|
||||
static jlong Java_EncodedImage_getCaptureTimeNs(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj)
|
||||
{
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_EncodedImage_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getCaptureTimeNs",
|
||||
"()J",
|
||||
&g_org_webrtc_EncodedImage_getCaptureTimeNs0);
|
||||
|
||||
jlong ret =
|
||||
env->CallLongMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_getEncodedHeight0(nullptr);
|
||||
static jint Java_EncodedImage_getEncodedHeight(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_EncodedImage_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getEncodedHeight",
|
||||
"()I",
|
||||
&g_org_webrtc_EncodedImage_getEncodedHeight0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_getEncodedWidth0(nullptr);
|
||||
static jint Java_EncodedImage_getEncodedWidth(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_EncodedImage_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getEncodedWidth",
|
||||
"()I",
|
||||
&g_org_webrtc_EncodedImage_getEncodedWidth0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_getFrameType0(nullptr);
|
||||
static jint Java_EncodedImage_getFrameType(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_EncodedImage_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getFrameType",
|
||||
"()I",
|
||||
&g_org_webrtc_EncodedImage_getFrameType0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_getQp0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_EncodedImage_getQp(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_EncodedImage_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getQp",
|
||||
"()Ljava/lang/Integer;",
|
||||
&g_org_webrtc_EncodedImage_getQp0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_getRotation0(nullptr);
|
||||
static jint Java_EncodedImage_getRotation(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_EncodedImage_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_EncodedImage_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getRotation",
|
||||
"()I",
|
||||
&g_org_webrtc_EncodedImage_getRotation0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_EncodedImage_00024FrameType_fromNativeIndex1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_FrameType_fromNativeIndex(JNIEnv* env,
|
||||
JniIntWrapper nativeIndex) {
|
||||
jclass clazz = org_webrtc_EncodedImage_00024FrameType_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_EncodedImage_00024FrameType_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_STATIC>(
|
||||
env,
|
||||
clazz,
|
||||
"fromNativeIndex",
|
||||
"(I)Lorg/webrtc/EncodedImage$FrameType;",
|
||||
&g_org_webrtc_EncodedImage_00024FrameType_fromNativeIndex1);
|
||||
|
||||
jobject ret =
|
||||
env->CallStaticObjectMethod(clazz,
|
||||
call_context.base.method_id, as_jint(nativeIndex));
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_EncodedImage_JNI
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/H264Utils
|
||||
|
||||
#ifndef org_webrtc_H264Utils_JNI
|
||||
#define org_webrtc_H264Utils_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_H264Utils[];
|
||||
const char kClassPath_org_webrtc_H264Utils[] = "org/webrtc/H264Utils";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_H264Utils_clazz(nullptr);
|
||||
#ifndef org_webrtc_H264Utils_clazz_defined
|
||||
#define org_webrtc_H264Utils_clazz_defined
|
||||
inline jclass org_webrtc_H264Utils_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_H264Utils,
|
||||
&g_org_webrtc_H264Utils_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static jboolean JNI_H264Utils_IsSameH264Profile(JNIEnv* env, const jni_zero::JavaParamRef<jobject>&
|
||||
params1,
|
||||
const jni_zero::JavaParamRef<jobject>& params2);
|
||||
|
||||
JNI_BOUNDARY_EXPORT jboolean Java_org_webrtc_H264Utils_nativeIsSameH264Profile(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject params1,
|
||||
jobject params2) {
|
||||
return JNI_H264Utils_IsSameH264Profile(env, jni_zero::JavaParamRef<jobject>(env, params1),
|
||||
jni_zero::JavaParamRef<jobject>(env, params2));
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_H264Utils_JNI
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/JavaI420Buffer
|
||||
|
||||
#ifndef org_webrtc_JavaI420Buffer_JNI
|
||||
#define org_webrtc_JavaI420Buffer_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_JavaI420Buffer[];
|
||||
const char kClassPath_org_webrtc_JavaI420Buffer[] = "org/webrtc/JavaI420Buffer";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_JavaI420Buffer_clazz(nullptr);
|
||||
#ifndef org_webrtc_JavaI420Buffer_clazz_defined
|
||||
#define org_webrtc_JavaI420Buffer_clazz_defined
|
||||
inline jclass org_webrtc_JavaI420Buffer_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_JavaI420Buffer,
|
||||
&g_org_webrtc_JavaI420Buffer_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static void JNI_JavaI420Buffer_CropAndScaleI420(JNIEnv* env, const jni_zero::JavaParamRef<jobject>&
|
||||
srcY,
|
||||
jint srcStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& srcU,
|
||||
jint srcStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& srcV,
|
||||
jint srcStrideV,
|
||||
jint cropX,
|
||||
jint cropY,
|
||||
jint cropWidth,
|
||||
jint cropHeight,
|
||||
const jni_zero::JavaParamRef<jobject>& dstY,
|
||||
jint dstStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& dstU,
|
||||
jint dstStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& dstV,
|
||||
jint dstStrideV,
|
||||
jint scaleWidth,
|
||||
jint scaleHeight);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_JavaI420Buffer_nativeCropAndScaleI420(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject srcY,
|
||||
jint srcStrideY,
|
||||
jobject srcU,
|
||||
jint srcStrideU,
|
||||
jobject srcV,
|
||||
jint srcStrideV,
|
||||
jint cropX,
|
||||
jint cropY,
|
||||
jint cropWidth,
|
||||
jint cropHeight,
|
||||
jobject dstY,
|
||||
jint dstStrideY,
|
||||
jobject dstU,
|
||||
jint dstStrideU,
|
||||
jobject dstV,
|
||||
jint dstStrideV,
|
||||
jint scaleWidth,
|
||||
jint scaleHeight) {
|
||||
return JNI_JavaI420Buffer_CropAndScaleI420(env, jni_zero::JavaParamRef<jobject>(env, srcY),
|
||||
srcStrideY, jni_zero::JavaParamRef<jobject>(env, srcU), srcStrideU,
|
||||
jni_zero::JavaParamRef<jobject>(env, srcV), srcStrideV, cropX, cropY, cropWidth, cropHeight,
|
||||
jni_zero::JavaParamRef<jobject>(env, dstY), dstStrideY, jni_zero::JavaParamRef<jobject>(env,
|
||||
dstU), dstStrideU, jni_zero::JavaParamRef<jobject>(env, dstV), dstStrideV, scaleWidth,
|
||||
scaleHeight);
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_JavaI420Buffer_JNI
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/NV12Buffer
|
||||
|
||||
#ifndef org_webrtc_NV12Buffer_JNI
|
||||
#define org_webrtc_NV12Buffer_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_NV12Buffer[];
|
||||
const char kClassPath_org_webrtc_NV12Buffer[] = "org/webrtc/NV12Buffer";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_NV12Buffer_clazz(nullptr);
|
||||
#ifndef org_webrtc_NV12Buffer_clazz_defined
|
||||
#define org_webrtc_NV12Buffer_clazz_defined
|
||||
inline jclass org_webrtc_NV12Buffer_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_NV12Buffer,
|
||||
&g_org_webrtc_NV12Buffer_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static void JNI_NV12Buffer_CropAndScale(JNIEnv* env, jint cropX,
|
||||
jint cropY,
|
||||
jint cropWidth,
|
||||
jint cropHeight,
|
||||
jint scaleWidth,
|
||||
jint scaleHeight,
|
||||
const jni_zero::JavaParamRef<jobject>& src,
|
||||
jint srcWidth,
|
||||
jint srcHeight,
|
||||
jint srcStride,
|
||||
jint srcSliceHeight,
|
||||
const jni_zero::JavaParamRef<jobject>& dstY,
|
||||
jint dstStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& dstU,
|
||||
jint dstStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& dstV,
|
||||
jint dstStrideV);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_NV12Buffer_nativeCropAndScale(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jint cropX,
|
||||
jint cropY,
|
||||
jint cropWidth,
|
||||
jint cropHeight,
|
||||
jint scaleWidth,
|
||||
jint scaleHeight,
|
||||
jobject src,
|
||||
jint srcWidth,
|
||||
jint srcHeight,
|
||||
jint srcStride,
|
||||
jint srcSliceHeight,
|
||||
jobject dstY,
|
||||
jint dstStrideY,
|
||||
jobject dstU,
|
||||
jint dstStrideU,
|
||||
jobject dstV,
|
||||
jint dstStrideV) {
|
||||
return JNI_NV12Buffer_CropAndScale(env, cropX, cropY, cropWidth, cropHeight, scaleWidth,
|
||||
scaleHeight, jni_zero::JavaParamRef<jobject>(env, src), srcWidth, srcHeight, srcStride,
|
||||
srcSliceHeight, jni_zero::JavaParamRef<jobject>(env, dstY), dstStrideY,
|
||||
jni_zero::JavaParamRef<jobject>(env, dstU), dstStrideU, jni_zero::JavaParamRef<jobject>(env,
|
||||
dstV), dstStrideV);
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_NV12Buffer_JNI
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/NV21Buffer
|
||||
|
||||
#ifndef org_webrtc_NV21Buffer_JNI
|
||||
#define org_webrtc_NV21Buffer_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_NV21Buffer[];
|
||||
const char kClassPath_org_webrtc_NV21Buffer[] = "org/webrtc/NV21Buffer";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_NV21Buffer_clazz(nullptr);
|
||||
#ifndef org_webrtc_NV21Buffer_clazz_defined
|
||||
#define org_webrtc_NV21Buffer_clazz_defined
|
||||
inline jclass org_webrtc_NV21Buffer_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_NV21Buffer,
|
||||
&g_org_webrtc_NV21Buffer_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static void JNI_NV21Buffer_CropAndScale(JNIEnv* env, jint cropX,
|
||||
jint cropY,
|
||||
jint cropWidth,
|
||||
jint cropHeight,
|
||||
jint scaleWidth,
|
||||
jint scaleHeight,
|
||||
const jni_zero::JavaParamRef<jbyteArray>& src,
|
||||
jint srcWidth,
|
||||
jint srcHeight,
|
||||
const jni_zero::JavaParamRef<jobject>& dstY,
|
||||
jint dstStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& dstU,
|
||||
jint dstStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& dstV,
|
||||
jint dstStrideV);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_NV21Buffer_nativeCropAndScale(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jint cropX,
|
||||
jint cropY,
|
||||
jint cropWidth,
|
||||
jint cropHeight,
|
||||
jint scaleWidth,
|
||||
jint scaleHeight,
|
||||
jbyteArray src,
|
||||
jint srcWidth,
|
||||
jint srcHeight,
|
||||
jobject dstY,
|
||||
jint dstStrideY,
|
||||
jobject dstU,
|
||||
jint dstStrideU,
|
||||
jobject dstV,
|
||||
jint dstStrideV) {
|
||||
return JNI_NV21Buffer_CropAndScale(env, cropX, cropY, cropWidth, cropHeight, scaleWidth,
|
||||
scaleHeight, jni_zero::JavaParamRef<jbyteArray>(env, src), srcWidth, srcHeight,
|
||||
jni_zero::JavaParamRef<jobject>(env, dstY), dstStrideY, jni_zero::JavaParamRef<jobject>(env,
|
||||
dstU), dstStrideU, jni_zero::JavaParamRef<jobject>(env, dstV), dstStrideV);
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_NV21Buffer_JNI
|
||||
|
|
@ -0,0 +1,151 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/NativeAndroidVideoTrackSource
|
||||
|
||||
#ifndef org_webrtc_NativeAndroidVideoTrackSource_JNI
|
||||
#define org_webrtc_NativeAndroidVideoTrackSource_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_NativeAndroidVideoTrackSource[];
|
||||
const char kClassPath_org_webrtc_NativeAndroidVideoTrackSource[] =
|
||||
"org/webrtc/NativeAndroidVideoTrackSource";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_NativeAndroidVideoTrackSource_clazz(nullptr);
|
||||
#ifndef org_webrtc_NativeAndroidVideoTrackSource_clazz_defined
|
||||
#define org_webrtc_NativeAndroidVideoTrackSource_clazz_defined
|
||||
inline jclass org_webrtc_NativeAndroidVideoTrackSource_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_NativeAndroidVideoTrackSource,
|
||||
&g_org_webrtc_NativeAndroidVideoTrackSource_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
JNI_BOUNDARY_EXPORT jobject Java_org_webrtc_NativeAndroidVideoTrackSource_nativeAdaptFrame(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong nativeAndroidVideoTrackSource,
|
||||
jint width,
|
||||
jint height,
|
||||
jint rotation,
|
||||
jlong timestampNs) {
|
||||
AndroidVideoTrackSource* native =
|
||||
reinterpret_cast<AndroidVideoTrackSource*>(nativeAndroidVideoTrackSource);
|
||||
CHECK_NATIVE_PTR(env, jcaller, native, "AdaptFrame", nullptr);
|
||||
return native->AdaptFrame(env, width, height, rotation, timestampNs).Release();
|
||||
}
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_NativeAndroidVideoTrackSource_nativeAdaptOutputFormat(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong nativeAndroidVideoTrackSource,
|
||||
jint landscapeWidth,
|
||||
jint landscapeHeight,
|
||||
jobject maxLandscapePixelCount,
|
||||
jint portraitWidth,
|
||||
jint portraitHeight,
|
||||
jobject maxPortraitPixelCount,
|
||||
jobject maxFps) {
|
||||
AndroidVideoTrackSource* native =
|
||||
reinterpret_cast<AndroidVideoTrackSource*>(nativeAndroidVideoTrackSource);
|
||||
CHECK_NATIVE_PTR(env, jcaller, native, "AdaptOutputFormat");
|
||||
return native->AdaptOutputFormat(env, landscapeWidth, landscapeHeight,
|
||||
jni_zero::JavaParamRef<jobject>(env, maxLandscapePixelCount), portraitWidth, portraitHeight,
|
||||
jni_zero::JavaParamRef<jobject>(env, maxPortraitPixelCount),
|
||||
jni_zero::JavaParamRef<jobject>(env, maxFps));
|
||||
}
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_NativeAndroidVideoTrackSource_nativeOnFrameCaptured(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong nativeAndroidVideoTrackSource,
|
||||
jint rotation,
|
||||
jlong timestampNs,
|
||||
jobject buffer) {
|
||||
AndroidVideoTrackSource* native =
|
||||
reinterpret_cast<AndroidVideoTrackSource*>(nativeAndroidVideoTrackSource);
|
||||
CHECK_NATIVE_PTR(env, jcaller, native, "OnFrameCaptured");
|
||||
return native->OnFrameCaptured(env, rotation, timestampNs, jni_zero::JavaParamRef<jobject>(env,
|
||||
buffer));
|
||||
}
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_NativeAndroidVideoTrackSource_nativeSetIsScreencast(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong nativeAndroidVideoTrackSource,
|
||||
jboolean isScreencast) {
|
||||
AndroidVideoTrackSource* native =
|
||||
reinterpret_cast<AndroidVideoTrackSource*>(nativeAndroidVideoTrackSource);
|
||||
CHECK_NATIVE_PTR(env, jcaller, native, "SetIsScreencast");
|
||||
return native->SetIsScreencast(env, isScreencast);
|
||||
}
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_NativeAndroidVideoTrackSource_nativeSetState(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong nativeAndroidVideoTrackSource,
|
||||
jboolean isLive) {
|
||||
AndroidVideoTrackSource* native =
|
||||
reinterpret_cast<AndroidVideoTrackSource*>(nativeAndroidVideoTrackSource);
|
||||
CHECK_NATIVE_PTR(env, jcaller, native, "SetState");
|
||||
return native->SetState(env, isLive);
|
||||
}
|
||||
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_NativeAndroidVideoTrackSource_createFrameAdaptationParameters8(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject>
|
||||
Java_NativeAndroidVideoTrackSource_createFrameAdaptationParameters(JNIEnv* env, JniIntWrapper
|
||||
cropX,
|
||||
JniIntWrapper cropY,
|
||||
JniIntWrapper cropWidth,
|
||||
JniIntWrapper cropHeight,
|
||||
JniIntWrapper scaleWidth,
|
||||
JniIntWrapper scaleHeight,
|
||||
jlong timestampNs,
|
||||
jboolean drop) {
|
||||
jclass clazz = org_webrtc_NativeAndroidVideoTrackSource_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_NativeAndroidVideoTrackSource_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_STATIC>(
|
||||
env,
|
||||
clazz,
|
||||
"createFrameAdaptationParameters",
|
||||
"(IIIIIIJZ)Lorg/webrtc/VideoProcessor$FrameAdaptationParameters;",
|
||||
&g_org_webrtc_NativeAndroidVideoTrackSource_createFrameAdaptationParameters8);
|
||||
|
||||
jobject ret =
|
||||
env->CallStaticObjectMethod(clazz,
|
||||
call_context.base.method_id, as_jint(cropX), as_jint(cropY), as_jint(cropWidth),
|
||||
as_jint(cropHeight), as_jint(scaleWidth), as_jint(scaleHeight), timestampNs, drop);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_NativeAndroidVideoTrackSource_JNI
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/NativeCapturerObserver
|
||||
|
||||
#ifndef org_webrtc_NativeCapturerObserver_JNI
|
||||
#define org_webrtc_NativeCapturerObserver_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_NativeCapturerObserver[];
|
||||
const char kClassPath_org_webrtc_NativeCapturerObserver[] = "org/webrtc/NativeCapturerObserver";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_NativeCapturerObserver_clazz(nullptr);
|
||||
#ifndef org_webrtc_NativeCapturerObserver_clazz_defined
|
||||
#define org_webrtc_NativeCapturerObserver_clazz_defined
|
||||
inline jclass org_webrtc_NativeCapturerObserver_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_NativeCapturerObserver,
|
||||
&g_org_webrtc_NativeCapturerObserver_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_NativeCapturerObserver_Constructor1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_NativeCapturerObserver_Constructor(JNIEnv* env,
|
||||
jlong nativeSource) {
|
||||
jclass clazz = org_webrtc_NativeCapturerObserver_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_NativeCapturerObserver_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(J)V",
|
||||
&g_org_webrtc_NativeCapturerObserver_Constructor1);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, nativeSource);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_NativeCapturerObserver_JNI
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/TimestampAligner
|
||||
|
||||
#ifndef org_webrtc_TimestampAligner_JNI
|
||||
#define org_webrtc_TimestampAligner_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_TimestampAligner[];
|
||||
const char kClassPath_org_webrtc_TimestampAligner[] = "org/webrtc/TimestampAligner";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_TimestampAligner_clazz(nullptr);
|
||||
#ifndef org_webrtc_TimestampAligner_clazz_defined
|
||||
#define org_webrtc_TimestampAligner_clazz_defined
|
||||
inline jclass org_webrtc_TimestampAligner_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_TimestampAligner,
|
||||
&g_org_webrtc_TimestampAligner_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static jlong JNI_TimestampAligner_CreateTimestampAligner(JNIEnv* env);
|
||||
|
||||
JNI_BOUNDARY_EXPORT jlong Java_org_webrtc_TimestampAligner_nativeCreateTimestampAligner(
|
||||
JNIEnv* env,
|
||||
jclass jcaller) {
|
||||
return JNI_TimestampAligner_CreateTimestampAligner(env);
|
||||
}
|
||||
|
||||
static void JNI_TimestampAligner_ReleaseTimestampAligner(JNIEnv* env, jlong timestampAligner);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_TimestampAligner_nativeReleaseTimestampAligner(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong timestampAligner) {
|
||||
return JNI_TimestampAligner_ReleaseTimestampAligner(env, timestampAligner);
|
||||
}
|
||||
|
||||
static jlong JNI_TimestampAligner_RtcTimeNanos(JNIEnv* env);
|
||||
|
||||
JNI_BOUNDARY_EXPORT jlong Java_org_webrtc_TimestampAligner_nativeRtcTimeNanos(
|
||||
JNIEnv* env,
|
||||
jclass jcaller) {
|
||||
return JNI_TimestampAligner_RtcTimeNanos(env);
|
||||
}
|
||||
|
||||
static jlong JNI_TimestampAligner_TranslateTimestamp(JNIEnv* env, jlong timestampAligner,
|
||||
jlong cameraTimeNs);
|
||||
|
||||
JNI_BOUNDARY_EXPORT jlong Java_org_webrtc_TimestampAligner_nativeTranslateTimestamp(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong timestampAligner,
|
||||
jlong cameraTimeNs) {
|
||||
return JNI_TimestampAligner_TranslateTimestamp(env, timestampAligner, cameraTimeNs);
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_TimestampAligner_JNI
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoCodecInfo
|
||||
|
||||
#ifndef org_webrtc_VideoCodecInfo_JNI
|
||||
#define org_webrtc_VideoCodecInfo_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoCodecInfo[];
|
||||
const char kClassPath_org_webrtc_VideoCodecInfo[] = "org/webrtc/VideoCodecInfo";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoCodecInfo_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoCodecInfo_clazz_defined
|
||||
#define org_webrtc_VideoCodecInfo_clazz_defined
|
||||
inline jclass org_webrtc_VideoCodecInfo_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoCodecInfo,
|
||||
&g_org_webrtc_VideoCodecInfo_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoCodecInfo_Constructor2(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoCodecInfo_Constructor(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jstring>& name,
|
||||
const jni_zero::JavaRef<jobject>& params) {
|
||||
jclass clazz = org_webrtc_VideoCodecInfo_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoCodecInfo_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(Ljava/lang/String;Ljava/util/Map;)V",
|
||||
&g_org_webrtc_VideoCodecInfo_Constructor2);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, name.obj(), params.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoCodecInfo_getName0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jstring> Java_VideoCodecInfo_getName(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoCodecInfo_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoCodecInfo_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getName",
|
||||
"()Ljava/lang/String;",
|
||||
&g_org_webrtc_VideoCodecInfo_getName0);
|
||||
|
||||
jstring ret =
|
||||
static_cast<jstring>(env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id));
|
||||
return jni_zero::ScopedJavaLocalRef<jstring>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoCodecInfo_getParams0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoCodecInfo_getParams(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoCodecInfo_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoCodecInfo_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getParams",
|
||||
"()Ljava/util/Map;",
|
||||
&g_org_webrtc_VideoCodecInfo_getParams0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoCodecInfo_JNI
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoCodecStatus
|
||||
|
||||
#ifndef org_webrtc_VideoCodecStatus_JNI
|
||||
#define org_webrtc_VideoCodecStatus_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoCodecStatus[];
|
||||
const char kClassPath_org_webrtc_VideoCodecStatus[] = "org/webrtc/VideoCodecStatus";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoCodecStatus_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoCodecStatus_clazz_defined
|
||||
#define org_webrtc_VideoCodecStatus_clazz_defined
|
||||
inline jclass org_webrtc_VideoCodecStatus_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoCodecStatus,
|
||||
&g_org_webrtc_VideoCodecStatus_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoCodecStatus_getNumber0(nullptr);
|
||||
static jint Java_VideoCodecStatus_getNumber(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoCodecStatus_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoCodecStatus_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getNumber",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoCodecStatus_getNumber0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoCodecStatus_JNI
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoDecoderFactory
|
||||
|
||||
#ifndef org_webrtc_VideoDecoderFactory_JNI
|
||||
#define org_webrtc_VideoDecoderFactory_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoDecoderFactory[];
|
||||
const char kClassPath_org_webrtc_VideoDecoderFactory[] = "org/webrtc/VideoDecoderFactory";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoDecoderFactory_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoDecoderFactory_clazz_defined
|
||||
#define org_webrtc_VideoDecoderFactory_clazz_defined
|
||||
inline jclass org_webrtc_VideoDecoderFactory_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoDecoderFactory,
|
||||
&g_org_webrtc_VideoDecoderFactory_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoderFactory_createDecoder1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoDecoderFactory_createDecoder(JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& info) {
|
||||
jclass clazz = org_webrtc_VideoDecoderFactory_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoDecoderFactory_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"createDecoder",
|
||||
"(Lorg/webrtc/VideoCodecInfo;)Lorg/webrtc/VideoDecoder;",
|
||||
&g_org_webrtc_VideoDecoderFactory_createDecoder1);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, info.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoderFactory_getSupportedCodecs0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobjectArray>
|
||||
Java_VideoDecoderFactory_getSupportedCodecs(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj)
|
||||
{
|
||||
jclass clazz = org_webrtc_VideoDecoderFactory_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoDecoderFactory_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getSupportedCodecs",
|
||||
"()[Lorg/webrtc/VideoCodecInfo;",
|
||||
&g_org_webrtc_VideoDecoderFactory_getSupportedCodecs0);
|
||||
|
||||
jobjectArray ret =
|
||||
static_cast<jobjectArray>(env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id));
|
||||
return jni_zero::ScopedJavaLocalRef<jobjectArray>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoDecoderFactory_JNI
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoDecoderFallback
|
||||
|
||||
#ifndef org_webrtc_VideoDecoderFallback_JNI
|
||||
#define org_webrtc_VideoDecoderFallback_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoDecoderFallback[];
|
||||
const char kClassPath_org_webrtc_VideoDecoderFallback[] = "org/webrtc/VideoDecoderFallback";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoDecoderFallback_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoDecoderFallback_clazz_defined
|
||||
#define org_webrtc_VideoDecoderFallback_clazz_defined
|
||||
inline jclass org_webrtc_VideoDecoderFallback_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoDecoderFallback,
|
||||
&g_org_webrtc_VideoDecoderFallback_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static jlong JNI_VideoDecoderFallback_Create(JNIEnv* env, jlong webrtcEnvRef,
|
||||
const jni_zero::JavaParamRef<jobject>& fallback,
|
||||
const jni_zero::JavaParamRef<jobject>& primary);
|
||||
|
||||
JNI_BOUNDARY_EXPORT jlong Java_org_webrtc_VideoDecoderFallback_nativeCreate(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong webrtcEnvRef,
|
||||
jobject fallback,
|
||||
jobject primary) {
|
||||
return JNI_VideoDecoderFallback_Create(env, webrtcEnvRef, jni_zero::JavaParamRef<jobject>(env,
|
||||
fallback), jni_zero::JavaParamRef<jobject>(env, primary));
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoDecoderFallback_JNI
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoDecoderWrapper
|
||||
|
||||
#ifndef org_webrtc_VideoDecoderWrapper_JNI
|
||||
#define org_webrtc_VideoDecoderWrapper_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoDecoderWrapper[];
|
||||
const char kClassPath_org_webrtc_VideoDecoderWrapper[] = "org/webrtc/VideoDecoderWrapper";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoDecoderWrapper_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoDecoderWrapper_clazz_defined
|
||||
#define org_webrtc_VideoDecoderWrapper_clazz_defined
|
||||
inline jclass org_webrtc_VideoDecoderWrapper_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoDecoderWrapper,
|
||||
&g_org_webrtc_VideoDecoderWrapper_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_VideoDecoderWrapper_nativeOnDecodedFrame(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong nativeVideoDecoderWrapper,
|
||||
jobject frame,
|
||||
jobject decodeTimeMs,
|
||||
jobject qp) {
|
||||
VideoDecoderWrapper* native = reinterpret_cast<VideoDecoderWrapper*>(nativeVideoDecoderWrapper);
|
||||
CHECK_NATIVE_PTR(env, jcaller, native, "OnDecodedFrame");
|
||||
return native->OnDecodedFrame(env, jni_zero::JavaParamRef<jobject>(env, frame),
|
||||
jni_zero::JavaParamRef<jobject>(env, decodeTimeMs), jni_zero::JavaParamRef<jobject>(env, qp));
|
||||
}
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoderWrapper_createDecoderCallback1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoDecoderWrapper_createDecoderCallback(JNIEnv*
|
||||
env, jlong nativeDecoder) {
|
||||
jclass clazz = org_webrtc_VideoDecoderWrapper_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoDecoderWrapper_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_STATIC>(
|
||||
env,
|
||||
clazz,
|
||||
"createDecoderCallback",
|
||||
"(J)Lorg/webrtc/VideoDecoder$Callback;",
|
||||
&g_org_webrtc_VideoDecoderWrapper_createDecoderCallback1);
|
||||
|
||||
jobject ret =
|
||||
env->CallStaticObjectMethod(clazz,
|
||||
call_context.base.method_id, nativeDecoder);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoDecoderWrapper_JNI
|
||||
|
|
@ -0,0 +1,196 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoDecoder
|
||||
|
||||
#ifndef org_webrtc_VideoDecoder_JNI
|
||||
#define org_webrtc_VideoDecoder_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoDecoder[];
|
||||
const char kClassPath_org_webrtc_VideoDecoder[] = "org/webrtc/VideoDecoder";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoDecoder_00024Settings[];
|
||||
const char kClassPath_org_webrtc_VideoDecoder_00024Settings[] = "org/webrtc/VideoDecoder$Settings";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoDecoder_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoDecoder_clazz_defined
|
||||
#define org_webrtc_VideoDecoder_clazz_defined
|
||||
inline jclass org_webrtc_VideoDecoder_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoDecoder,
|
||||
&g_org_webrtc_VideoDecoder_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoDecoder_00024Settings_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoDecoder_00024Settings_clazz_defined
|
||||
#define org_webrtc_VideoDecoder_00024Settings_clazz_defined
|
||||
inline jclass org_webrtc_VideoDecoder_00024Settings_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoDecoder_00024Settings,
|
||||
&g_org_webrtc_VideoDecoder_00024Settings_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoder_createNative1(nullptr);
|
||||
static jlong Java_VideoDecoder_createNative(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj,
|
||||
jlong webrtcEnvRef) {
|
||||
jclass clazz = org_webrtc_VideoDecoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoDecoder_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"createNative",
|
||||
"(J)J",
|
||||
&g_org_webrtc_VideoDecoder_createNative1);
|
||||
|
||||
jlong ret =
|
||||
env->CallLongMethod(obj.obj(),
|
||||
call_context.base.method_id, webrtcEnvRef);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoder_decode2(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoDecoder_decode(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& frame,
|
||||
const jni_zero::JavaRef<jobject>& info) {
|
||||
jclass clazz = org_webrtc_VideoDecoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoDecoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"decode",
|
||||
"(Lorg/webrtc/EncodedImage;Lorg/webrtc/VideoDecoder$DecodeInfo;)Lorg/webrtc/VideoCodecStatus;",
|
||||
&g_org_webrtc_VideoDecoder_decode2);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, frame.obj(), info.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoder_getImplementationName0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jstring> Java_VideoDecoder_getImplementationName(JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoDecoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoDecoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getImplementationName",
|
||||
"()Ljava/lang/String;",
|
||||
&g_org_webrtc_VideoDecoder_getImplementationName0);
|
||||
|
||||
jstring ret =
|
||||
static_cast<jstring>(env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id));
|
||||
return jni_zero::ScopedJavaLocalRef<jstring>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoder_initDecode2(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoDecoder_initDecode(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& settings,
|
||||
const jni_zero::JavaRef<jobject>& decodeCallback) {
|
||||
jclass clazz = org_webrtc_VideoDecoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoDecoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"initDecode",
|
||||
"(Lorg/webrtc/VideoDecoder$Settings;Lorg/webrtc/VideoDecoder$Callback;)Lorg/webrtc/VideoCodecStatus;",
|
||||
&g_org_webrtc_VideoDecoder_initDecode2);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, settings.obj(), decodeCallback.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoder_release0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoDecoder_release(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoDecoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoDecoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"release",
|
||||
"()Lorg/webrtc/VideoCodecStatus;",
|
||||
&g_org_webrtc_VideoDecoder_release0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoDecoder_00024Settings_Constructor3(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_Settings_Constructor(JNIEnv* env, JniIntWrapper
|
||||
numberOfCores,
|
||||
JniIntWrapper width,
|
||||
JniIntWrapper height) {
|
||||
jclass clazz = org_webrtc_VideoDecoder_00024Settings_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoDecoder_00024Settings_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(III)V",
|
||||
&g_org_webrtc_VideoDecoder_00024Settings_Constructor3);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, as_jint(numberOfCores), as_jint(width), as_jint(height));
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoDecoder_JNI
|
||||
|
|
@ -0,0 +1,243 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoEncoderFactory
|
||||
|
||||
#ifndef org_webrtc_VideoEncoderFactory_JNI
|
||||
#define org_webrtc_VideoEncoderFactory_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoEncoderFactory[];
|
||||
const char kClassPath_org_webrtc_VideoEncoderFactory[] = "org/webrtc/VideoEncoderFactory";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector[];
|
||||
const char kClassPath_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector[] =
|
||||
"org/webrtc/VideoEncoderFactory$VideoEncoderSelector";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoEncoderFactory_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoderFactory_clazz_defined
|
||||
#define org_webrtc_VideoEncoderFactory_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoderFactory_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoderFactory,
|
||||
&g_org_webrtc_VideoEncoderFactory_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz_defined
|
||||
#define org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env,
|
||||
kClassPath_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector,
|
||||
&g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderFactory_createEncoder1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderFactory_createEncoder(JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& info) {
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"createEncoder",
|
||||
"(Lorg/webrtc/VideoCodecInfo;)Lorg/webrtc/VideoEncoder;",
|
||||
&g_org_webrtc_VideoEncoderFactory_createEncoder1);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, info.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderFactory_getEncoderSelector0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderFactory_getEncoderSelector(JNIEnv*
|
||||
env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getEncoderSelector",
|
||||
"()Lorg/webrtc/VideoEncoderFactory$VideoEncoderSelector;",
|
||||
&g_org_webrtc_VideoEncoderFactory_getEncoderSelector0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderFactory_getImplementations0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobjectArray>
|
||||
Java_VideoEncoderFactory_getImplementations(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj)
|
||||
{
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getImplementations",
|
||||
"()[Lorg/webrtc/VideoCodecInfo;",
|
||||
&g_org_webrtc_VideoEncoderFactory_getImplementations0);
|
||||
|
||||
jobjectArray ret =
|
||||
static_cast<jobjectArray>(env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id));
|
||||
return jni_zero::ScopedJavaLocalRef<jobjectArray>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderFactory_getSupportedCodecs0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobjectArray>
|
||||
Java_VideoEncoderFactory_getSupportedCodecs(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj)
|
||||
{
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getSupportedCodecs",
|
||||
"()[Lorg/webrtc/VideoCodecInfo;",
|
||||
&g_org_webrtc_VideoEncoderFactory_getSupportedCodecs0);
|
||||
|
||||
jobjectArray ret =
|
||||
static_cast<jobjectArray>(env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id));
|
||||
return jni_zero::ScopedJavaLocalRef<jobjectArray>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onAvailableBitrate1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderSelector_onAvailableBitrate(JNIEnv*
|
||||
env, const jni_zero::JavaRef<jobject>& obj, JniIntWrapper kbps) {
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"onAvailableBitrate",
|
||||
"(I)Lorg/webrtc/VideoCodecInfo;",
|
||||
&g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onAvailableBitrate1);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, as_jint(kbps));
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onCurrentEncoder1(nullptr);
|
||||
static void Java_VideoEncoderSelector_onCurrentEncoder(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& info) {
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env));
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"onCurrentEncoder",
|
||||
"(Lorg/webrtc/VideoCodecInfo;)V",
|
||||
&g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onCurrentEncoder1);
|
||||
|
||||
env->CallVoidMethod(obj.obj(),
|
||||
call_context.base.method_id, info.obj());
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onEncoderBroken0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderSelector_onEncoderBroken(JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"onEncoderBroken",
|
||||
"()Lorg/webrtc/VideoCodecInfo;",
|
||||
&g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onEncoderBroken0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onResolutionChange2(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderSelector_onResolutionChange(JNIEnv*
|
||||
env, const jni_zero::JavaRef<jobject>& obj, JniIntWrapper widht,
|
||||
JniIntWrapper height) {
|
||||
jclass clazz = org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"onResolutionChange",
|
||||
"(II)Lorg/webrtc/VideoCodecInfo;",
|
||||
&g_org_webrtc_VideoEncoderFactory_00024VideoEncoderSelector_onResolutionChange2);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, as_jint(widht), as_jint(height));
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoEncoderFactory_JNI
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoEncoderFallback
|
||||
|
||||
#ifndef org_webrtc_VideoEncoderFallback_JNI
|
||||
#define org_webrtc_VideoEncoderFallback_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoEncoderFallback[];
|
||||
const char kClassPath_org_webrtc_VideoEncoderFallback[] = "org/webrtc/VideoEncoderFallback";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoderFallback_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoderFallback_clazz_defined
|
||||
#define org_webrtc_VideoEncoderFallback_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoderFallback_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoderFallback,
|
||||
&g_org_webrtc_VideoEncoderFallback_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static jlong JNI_VideoEncoderFallback_CreateEncoder(JNIEnv* env, const
|
||||
jni_zero::JavaParamRef<jobject>& fallback,
|
||||
const jni_zero::JavaParamRef<jobject>& primary);
|
||||
|
||||
JNI_BOUNDARY_EXPORT jlong Java_org_webrtc_VideoEncoderFallback_nativeCreateEncoder(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject fallback,
|
||||
jobject primary) {
|
||||
return JNI_VideoEncoderFallback_CreateEncoder(env, jni_zero::JavaParamRef<jobject>(env, fallback),
|
||||
jni_zero::JavaParamRef<jobject>(env, primary));
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoEncoderFallback_JNI
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoEncoderWrapper
|
||||
|
||||
#ifndef org_webrtc_VideoEncoderWrapper_JNI
|
||||
#define org_webrtc_VideoEncoderWrapper_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoEncoderWrapper[];
|
||||
const char kClassPath_org_webrtc_VideoEncoderWrapper[] = "org/webrtc/VideoEncoderWrapper";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoEncoderWrapper_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoderWrapper_clazz_defined
|
||||
#define org_webrtc_VideoEncoderWrapper_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoderWrapper_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoderWrapper,
|
||||
&g_org_webrtc_VideoEncoderWrapper_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_VideoEncoderWrapper_nativeOnEncodedFrame(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong nativeVideoEncoderWrapper,
|
||||
jobject frame) {
|
||||
VideoEncoderWrapper* native = reinterpret_cast<VideoEncoderWrapper*>(nativeVideoEncoderWrapper);
|
||||
CHECK_NATIVE_PTR(env, jcaller, native, "OnEncodedFrame");
|
||||
return native->OnEncodedFrame(env, jni_zero::JavaParamRef<jobject>(env, frame));
|
||||
}
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderWrapper_createEncoderCallback1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderWrapper_createEncoderCallback(JNIEnv*
|
||||
env, jlong nativeEncoder) {
|
||||
jclass clazz = org_webrtc_VideoEncoderWrapper_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoderWrapper_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_STATIC>(
|
||||
env,
|
||||
clazz,
|
||||
"createEncoderCallback",
|
||||
"(J)Lorg/webrtc/VideoEncoder$Callback;",
|
||||
&g_org_webrtc_VideoEncoderWrapper_createEncoderCallback1);
|
||||
|
||||
jobject ret =
|
||||
env->CallStaticObjectMethod(clazz,
|
||||
call_context.base.method_id, nativeEncoder);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderWrapper_getScalingSettingsHigh1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderWrapper_getScalingSettingsHigh(JNIEnv*
|
||||
env, const jni_zero::JavaRef<jobject>& scalingSettings) {
|
||||
jclass clazz = org_webrtc_VideoEncoderWrapper_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoderWrapper_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_STATIC>(
|
||||
env,
|
||||
clazz,
|
||||
"getScalingSettingsHigh",
|
||||
"(Lorg/webrtc/VideoEncoder$ScalingSettings;)Ljava/lang/Integer;",
|
||||
&g_org_webrtc_VideoEncoderWrapper_getScalingSettingsHigh1);
|
||||
|
||||
jobject ret =
|
||||
env->CallStaticObjectMethod(clazz,
|
||||
call_context.base.method_id, scalingSettings.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderWrapper_getScalingSettingsLow1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoderWrapper_getScalingSettingsLow(JNIEnv*
|
||||
env, const jni_zero::JavaRef<jobject>& scalingSettings) {
|
||||
jclass clazz = org_webrtc_VideoEncoderWrapper_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoderWrapper_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_STATIC>(
|
||||
env,
|
||||
clazz,
|
||||
"getScalingSettingsLow",
|
||||
"(Lorg/webrtc/VideoEncoder$ScalingSettings;)Ljava/lang/Integer;",
|
||||
&g_org_webrtc_VideoEncoderWrapper_getScalingSettingsLow1);
|
||||
|
||||
jobject ret =
|
||||
env->CallStaticObjectMethod(clazz,
|
||||
call_context.base.method_id, scalingSettings.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoderWrapper_getScalingSettingsOn1(nullptr);
|
||||
static jboolean Java_VideoEncoderWrapper_getScalingSettingsOn(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& scalingSettings) {
|
||||
jclass clazz = org_webrtc_VideoEncoderWrapper_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoderWrapper_clazz(env), false);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_STATIC>(
|
||||
env,
|
||||
clazz,
|
||||
"getScalingSettingsOn",
|
||||
"(Lorg/webrtc/VideoEncoder$ScalingSettings;)Z",
|
||||
&g_org_webrtc_VideoEncoderWrapper_getScalingSettingsOn1);
|
||||
|
||||
jboolean ret =
|
||||
env->CallStaticBooleanMethod(clazz,
|
||||
call_context.base.method_id, scalingSettings.obj());
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoEncoderWrapper_JNI
|
||||
|
|
@ -0,0 +1,634 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoEncoder
|
||||
|
||||
#ifndef org_webrtc_VideoEncoder_JNI
|
||||
#define org_webrtc_VideoEncoder_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoEncoder[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder[] = "org/webrtc/VideoEncoder";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoder_00024BitrateAllocation[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder_00024BitrateAllocation[] =
|
||||
"org/webrtc/VideoEncoder$BitrateAllocation";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoder_00024Capabilities[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder_00024Capabilities[] =
|
||||
"org/webrtc/VideoEncoder$Capabilities";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoder_00024EncodeInfo[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder_00024EncodeInfo[] =
|
||||
"org/webrtc/VideoEncoder$EncodeInfo";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoder_00024EncoderInfo[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder_00024EncoderInfo[] =
|
||||
"org/webrtc/VideoEncoder$EncoderInfo";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoder_00024RateControlParameters[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder_00024RateControlParameters[] =
|
||||
"org/webrtc/VideoEncoder$RateControlParameters";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits[] =
|
||||
"org/webrtc/VideoEncoder$ResolutionBitrateLimits";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoEncoder_00024Settings[];
|
||||
const char kClassPath_org_webrtc_VideoEncoder_00024Settings[] = "org/webrtc/VideoEncoder$Settings";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoEncoder_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoder,
|
||||
&g_org_webrtc_VideoEncoder_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoder_00024BitrateAllocation_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_00024BitrateAllocation_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_00024BitrateAllocation_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_00024BitrateAllocation_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoder_00024BitrateAllocation,
|
||||
&g_org_webrtc_VideoEncoder_00024BitrateAllocation_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoder_00024Capabilities_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_00024Capabilities_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_00024Capabilities_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_00024Capabilities_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoder_00024Capabilities,
|
||||
&g_org_webrtc_VideoEncoder_00024Capabilities_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoder_00024EncodeInfo_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_00024EncodeInfo_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_00024EncodeInfo_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_00024EncodeInfo_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoder_00024EncodeInfo,
|
||||
&g_org_webrtc_VideoEncoder_00024EncodeInfo_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoder_00024EncoderInfo_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_00024EncoderInfo_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_00024EncoderInfo_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_00024EncoderInfo_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoder_00024EncoderInfo,
|
||||
&g_org_webrtc_VideoEncoder_00024EncoderInfo_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoder_00024RateControlParameters_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_00024RateControlParameters_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_00024RateControlParameters_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_00024RateControlParameters_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoder_00024RateControlParameters,
|
||||
&g_org_webrtc_VideoEncoder_00024RateControlParameters_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env,
|
||||
kClassPath_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits,
|
||||
&g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoEncoder_00024Settings_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoEncoder_00024Settings_clazz_defined
|
||||
#define org_webrtc_VideoEncoder_00024Settings_clazz_defined
|
||||
inline jclass org_webrtc_VideoEncoder_00024Settings_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoEncoder_00024Settings,
|
||||
&g_org_webrtc_VideoEncoder_00024Settings_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_createNativeVideoEncoder0(nullptr);
|
||||
static jlong Java_VideoEncoder_createNativeVideoEncoder(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"createNativeVideoEncoder",
|
||||
"()J",
|
||||
&g_org_webrtc_VideoEncoder_createNativeVideoEncoder0);
|
||||
|
||||
jlong ret =
|
||||
env->CallLongMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_encode2(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoder_encode(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& frame,
|
||||
const jni_zero::JavaRef<jobject>& info) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"encode",
|
||||
"(Lorg/webrtc/VideoFrame;Lorg/webrtc/VideoEncoder$EncodeInfo;)Lorg/webrtc/VideoCodecStatus;",
|
||||
&g_org_webrtc_VideoEncoder_encode2);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, frame.obj(), info.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_getEncoderInfo0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoder_getEncoderInfo(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getEncoderInfo",
|
||||
"()Lorg/webrtc/VideoEncoder$EncoderInfo;",
|
||||
&g_org_webrtc_VideoEncoder_getEncoderInfo0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_getImplementationName0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jstring> Java_VideoEncoder_getImplementationName(JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getImplementationName",
|
||||
"()Ljava/lang/String;",
|
||||
&g_org_webrtc_VideoEncoder_getImplementationName0);
|
||||
|
||||
jstring ret =
|
||||
static_cast<jstring>(env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id));
|
||||
return jni_zero::ScopedJavaLocalRef<jstring>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_getResolutionBitrateLimits0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobjectArray>
|
||||
Java_VideoEncoder_getResolutionBitrateLimits(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj)
|
||||
{
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getResolutionBitrateLimits",
|
||||
"()[Lorg/webrtc/VideoEncoder$ResolutionBitrateLimits;",
|
||||
&g_org_webrtc_VideoEncoder_getResolutionBitrateLimits0);
|
||||
|
||||
jobjectArray ret =
|
||||
static_cast<jobjectArray>(env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id));
|
||||
return jni_zero::ScopedJavaLocalRef<jobjectArray>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_getScalingSettings0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoder_getScalingSettings(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getScalingSettings",
|
||||
"()Lorg/webrtc/VideoEncoder$ScalingSettings;",
|
||||
&g_org_webrtc_VideoEncoder_getScalingSettings0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_initEncode2(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoder_initEncode(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& settings,
|
||||
const jni_zero::JavaRef<jobject>& encodeCallback) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"initEncode",
|
||||
"(Lorg/webrtc/VideoEncoder$Settings;Lorg/webrtc/VideoEncoder$Callback;)Lorg/webrtc/VideoCodecStatus;",
|
||||
&g_org_webrtc_VideoEncoder_initEncode2);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, settings.obj(), encodeCallback.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_isHardwareEncoder0(nullptr);
|
||||
static jboolean Java_VideoEncoder_isHardwareEncoder(JNIEnv* env, const jni_zero::JavaRef<jobject>&
|
||||
obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), false);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"isHardwareEncoder",
|
||||
"()Z",
|
||||
&g_org_webrtc_VideoEncoder_isHardwareEncoder0);
|
||||
|
||||
jboolean ret =
|
||||
env->CallBooleanMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_release0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoder_release(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"release",
|
||||
"()Lorg/webrtc/VideoCodecStatus;",
|
||||
&g_org_webrtc_VideoEncoder_release0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_setRates1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoEncoder_setRates(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj, const jni_zero::JavaRef<jobject>& rcParameters) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"setRates",
|
||||
"(Lorg/webrtc/VideoEncoder$RateControlParameters;)Lorg/webrtc/VideoCodecStatus;",
|
||||
&g_org_webrtc_VideoEncoder_setRates1);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, rcParameters.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024BitrateAllocation_Constructor1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_BitrateAllocation_Constructor(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobjectArray>& bitratesBbs) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024BitrateAllocation_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoder_00024BitrateAllocation_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"([[I)V",
|
||||
&g_org_webrtc_VideoEncoder_00024BitrateAllocation_Constructor1);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, bitratesBbs.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_00024Capabilities_Constructor1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_Capabilities_Constructor(JNIEnv* env, jboolean
|
||||
lossNotification) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024Capabilities_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoder_00024Capabilities_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(Z)V",
|
||||
&g_org_webrtc_VideoEncoder_00024Capabilities_Constructor1);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, lossNotification);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_00024EncodeInfo_Constructor1(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_EncodeInfo_Constructor(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobjectArray>& frameTypes) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024EncodeInfo_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoder_00024EncodeInfo_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"([Lorg/webrtc/EncodedImage$FrameType;)V",
|
||||
&g_org_webrtc_VideoEncoder_00024EncodeInfo_Constructor1);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, frameTypes.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024EncoderInfo_getApplyAlignmentToAllSimulcastLayers0(nullptr);
|
||||
static jboolean Java_EncoderInfo_getApplyAlignmentToAllSimulcastLayers(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024EncoderInfo_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_00024EncoderInfo_clazz(env), false);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getApplyAlignmentToAllSimulcastLayers",
|
||||
"()Z",
|
||||
&g_org_webrtc_VideoEncoder_00024EncoderInfo_getApplyAlignmentToAllSimulcastLayers0);
|
||||
|
||||
jboolean ret =
|
||||
env->CallBooleanMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024EncoderInfo_getRequestedResolutionAlignment0(nullptr);
|
||||
static jint Java_EncoderInfo_getRequestedResolutionAlignment(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024EncoderInfo_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_00024EncoderInfo_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getRequestedResolutionAlignment",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoEncoder_00024EncoderInfo_getRequestedResolutionAlignment0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024RateControlParameters_Constructor2(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_RateControlParameters_Constructor(JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& bitrate,
|
||||
jdouble framerateFps) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024RateControlParameters_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoder_00024RateControlParameters_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(Lorg/webrtc/VideoEncoder$BitrateAllocation;D)V",
|
||||
&g_org_webrtc_VideoEncoder_00024RateControlParameters_Constructor2);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, bitrate.obj(), framerateFps);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getFrameSizePixels0(nullptr);
|
||||
static jint Java_ResolutionBitrateLimits_getFrameSizePixels(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getFrameSizePixels",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getFrameSizePixels0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getMaxBitrateBps0(nullptr);
|
||||
static jint Java_ResolutionBitrateLimits_getMaxBitrateBps(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getMaxBitrateBps",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getMaxBitrateBps0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getMinBitrateBps0(nullptr);
|
||||
static jint Java_ResolutionBitrateLimits_getMinBitrateBps(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getMinBitrateBps",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getMinBitrateBps0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID>
|
||||
g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getMinStartBitrateBps0(nullptr);
|
||||
static jint Java_ResolutionBitrateLimits_getMinStartBitrateBps(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getMinStartBitrateBps",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoEncoder_00024ResolutionBitrateLimits_getMinStartBitrateBps0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoEncoder_00024Settings_Constructor8(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_Settings_Constructor(JNIEnv* env, JniIntWrapper
|
||||
numberOfCores,
|
||||
JniIntWrapper width,
|
||||
JniIntWrapper height,
|
||||
JniIntWrapper startBitrate,
|
||||
JniIntWrapper maxFramerate,
|
||||
JniIntWrapper numberOfSimulcastStreams,
|
||||
jboolean automaticResizeOn,
|
||||
const jni_zero::JavaRef<jobject>& capabilities) {
|
||||
jclass clazz = org_webrtc_VideoEncoder_00024Settings_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoEncoder_00024Settings_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(IIIIIIZLorg/webrtc/VideoEncoder$Capabilities;)V",
|
||||
&g_org_webrtc_VideoEncoder_00024Settings_Constructor8);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, as_jint(numberOfCores), as_jint(width), as_jint(height),
|
||||
as_jint(startBitrate), as_jint(maxFramerate), as_jint(numberOfSimulcastStreams),
|
||||
automaticResizeOn, capabilities.obj());
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoEncoder_JNI
|
||||
|
|
@ -0,0 +1,460 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoFrame
|
||||
|
||||
#ifndef org_webrtc_VideoFrame_JNI
|
||||
#define org_webrtc_VideoFrame_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoFrame[];
|
||||
const char kClassPath_org_webrtc_VideoFrame[] = "org/webrtc/VideoFrame";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoFrame_00024Buffer[];
|
||||
const char kClassPath_org_webrtc_VideoFrame_00024Buffer[] = "org/webrtc/VideoFrame$Buffer";
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||||
kClassPath_org_webrtc_VideoFrame_00024I420Buffer[];
|
||||
const char kClassPath_org_webrtc_VideoFrame_00024I420Buffer[] = "org/webrtc/VideoFrame$I420Buffer";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoFrame_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoFrame_clazz_defined
|
||||
#define org_webrtc_VideoFrame_clazz_defined
|
||||
inline jclass org_webrtc_VideoFrame_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoFrame,
|
||||
&g_org_webrtc_VideoFrame_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoFrame_00024Buffer_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoFrame_00024Buffer_clazz_defined
|
||||
#define org_webrtc_VideoFrame_00024Buffer_clazz_defined
|
||||
inline jclass org_webrtc_VideoFrame_00024Buffer_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoFrame_00024Buffer,
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_clazz);
|
||||
}
|
||||
#endif
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_VideoFrame_00024I420Buffer_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoFrame_00024I420Buffer_clazz_defined
|
||||
#define org_webrtc_VideoFrame_00024I420Buffer_clazz_defined
|
||||
inline jclass org_webrtc_VideoFrame_00024I420Buffer_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoFrame_00024I420Buffer,
|
||||
&g_org_webrtc_VideoFrame_00024I420Buffer_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_Constructor3(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoFrame_Constructor(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& buffer,
|
||||
JniIntWrapper rotation,
|
||||
jlong timestampNs) {
|
||||
jclass clazz = org_webrtc_VideoFrame_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_VideoFrame_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(Lorg/webrtc/VideoFrame$Buffer;IJ)V",
|
||||
&g_org_webrtc_VideoFrame_Constructor3);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, buffer.obj(), as_jint(rotation), timestampNs);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_getBuffer0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_VideoFrame_getBuffer(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getBuffer",
|
||||
"()Lorg/webrtc/VideoFrame$Buffer;",
|
||||
&g_org_webrtc_VideoFrame_getBuffer0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_getRotation0(nullptr);
|
||||
static jint Java_VideoFrame_getRotation(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getRotation",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoFrame_getRotation0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_getTimestampNs0(nullptr);
|
||||
static jlong Java_VideoFrame_getTimestampNs(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getTimestampNs",
|
||||
"()J",
|
||||
&g_org_webrtc_VideoFrame_getTimestampNs0);
|
||||
|
||||
jlong ret =
|
||||
env->CallLongMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_release0(nullptr);
|
||||
static void Java_VideoFrame_release(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_clazz(env));
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"release",
|
||||
"()V",
|
||||
&g_org_webrtc_VideoFrame_release0);
|
||||
|
||||
env->CallVoidMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024Buffer_cropAndScale6(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_Buffer_cropAndScale(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj, JniIntWrapper cropX,
|
||||
JniIntWrapper cropY,
|
||||
JniIntWrapper cropWidth,
|
||||
JniIntWrapper cropHeight,
|
||||
JniIntWrapper scaleWidth,
|
||||
JniIntWrapper scaleHeight) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024Buffer_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"cropAndScale",
|
||||
"(IIIIII)Lorg/webrtc/VideoFrame$Buffer;",
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_cropAndScale6);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id, as_jint(cropX), as_jint(cropY), as_jint(cropWidth),
|
||||
as_jint(cropHeight), as_jint(scaleWidth), as_jint(scaleHeight));
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024Buffer_getBufferType0(nullptr);
|
||||
static jint Java_Buffer_getBufferType(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024Buffer_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getBufferType",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_getBufferType0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024Buffer_getHeight0(nullptr);
|
||||
static jint Java_Buffer_getHeight(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024Buffer_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getHeight",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_getHeight0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024Buffer_getWidth0(nullptr);
|
||||
static jint Java_Buffer_getWidth(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024Buffer_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getWidth",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_getWidth0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024Buffer_release0(nullptr);
|
||||
static void Java_Buffer_release(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024Buffer_clazz(env));
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"release",
|
||||
"()V",
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_release0);
|
||||
|
||||
env->CallVoidMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024Buffer_retain0(nullptr);
|
||||
static void Java_Buffer_retain(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024Buffer_clazz(env));
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"retain",
|
||||
"()V",
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_retain0);
|
||||
|
||||
env->CallVoidMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024Buffer_toI4200(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_Buffer_toI420(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024Buffer_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"toI420",
|
||||
"()Lorg/webrtc/VideoFrame$I420Buffer;",
|
||||
&g_org_webrtc_VideoFrame_00024Buffer_toI4200);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024I420Buffer_getDataU0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_I420Buffer_getDataU(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024I420Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024I420Buffer_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getDataU",
|
||||
"()Ljava/nio/ByteBuffer;",
|
||||
&g_org_webrtc_VideoFrame_00024I420Buffer_getDataU0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024I420Buffer_getDataV0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_I420Buffer_getDataV(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024I420Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024I420Buffer_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getDataV",
|
||||
"()Ljava/nio/ByteBuffer;",
|
||||
&g_org_webrtc_VideoFrame_00024I420Buffer_getDataV0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024I420Buffer_getDataY0(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_I420Buffer_getDataY(JNIEnv* env, const
|
||||
jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024I420Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024I420Buffer_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getDataY",
|
||||
"()Ljava/nio/ByteBuffer;",
|
||||
&g_org_webrtc_VideoFrame_00024I420Buffer_getDataY0);
|
||||
|
||||
jobject ret =
|
||||
env->CallObjectMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024I420Buffer_getStrideU0(nullptr);
|
||||
static jint Java_I420Buffer_getStrideU(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024I420Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024I420Buffer_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getStrideU",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoFrame_00024I420Buffer_getStrideU0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024I420Buffer_getStrideV0(nullptr);
|
||||
static jint Java_I420Buffer_getStrideV(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024I420Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024I420Buffer_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getStrideV",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoFrame_00024I420Buffer_getStrideV0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoFrame_00024I420Buffer_getStrideY0(nullptr);
|
||||
static jint Java_I420Buffer_getStrideY(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jclass clazz = org_webrtc_VideoFrame_00024I420Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoFrame_00024I420Buffer_clazz(env), 0);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"getStrideY",
|
||||
"()I",
|
||||
&g_org_webrtc_VideoFrame_00024I420Buffer_getStrideY0);
|
||||
|
||||
jint ret =
|
||||
env->CallIntMethod(obj.obj(),
|
||||
call_context.base.method_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoFrame_JNI
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoSink
|
||||
|
||||
#ifndef org_webrtc_VideoSink_JNI
|
||||
#define org_webrtc_VideoSink_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoSink[];
|
||||
const char kClassPath_org_webrtc_VideoSink[] = "org/webrtc/VideoSink";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoSink_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoSink_clazz_defined
|
||||
#define org_webrtc_VideoSink_clazz_defined
|
||||
inline jclass org_webrtc_VideoSink_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoSink,
|
||||
&g_org_webrtc_VideoSink_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_VideoSink_onFrame1(nullptr);
|
||||
static void Java_VideoSink_onFrame(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj, const
|
||||
jni_zero::JavaRef<jobject>& frame) {
|
||||
jclass clazz = org_webrtc_VideoSink_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(),
|
||||
org_webrtc_VideoSink_clazz(env));
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"onFrame",
|
||||
"(Lorg/webrtc/VideoFrame;)V",
|
||||
&g_org_webrtc_VideoSink_onFrame1);
|
||||
|
||||
env->CallVoidMethod(obj.obj(),
|
||||
call_context.base.method_id, frame.obj());
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoSink_JNI
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/VideoTrack
|
||||
|
||||
#ifndef org_webrtc_VideoTrack_JNI
|
||||
#define org_webrtc_VideoTrack_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_VideoTrack[];
|
||||
const char kClassPath_org_webrtc_VideoTrack[] = "org/webrtc/VideoTrack";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_VideoTrack_clazz(nullptr);
|
||||
#ifndef org_webrtc_VideoTrack_clazz_defined
|
||||
#define org_webrtc_VideoTrack_clazz_defined
|
||||
inline jclass org_webrtc_VideoTrack_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_VideoTrack,
|
||||
&g_org_webrtc_VideoTrack_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static void JNI_VideoTrack_AddSink(JNIEnv* env, jlong track,
|
||||
jlong nativeSink);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_VideoTrack_nativeAddSink(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong track,
|
||||
jlong nativeSink) {
|
||||
return JNI_VideoTrack_AddSink(env, track, nativeSink);
|
||||
}
|
||||
|
||||
static void JNI_VideoTrack_FreeSink(JNIEnv* env, jlong sink);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_VideoTrack_nativeFreeSink(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong sink) {
|
||||
return JNI_VideoTrack_FreeSink(env, sink);
|
||||
}
|
||||
|
||||
static void JNI_VideoTrack_RemoveSink(JNIEnv* env, jlong track,
|
||||
jlong nativeSink);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_VideoTrack_nativeRemoveSink(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jlong track,
|
||||
jlong nativeSink) {
|
||||
return JNI_VideoTrack_RemoveSink(env, track, nativeSink);
|
||||
}
|
||||
|
||||
static jlong JNI_VideoTrack_WrapSink(JNIEnv* env, const jni_zero::JavaParamRef<jobject>& sink);
|
||||
|
||||
JNI_BOUNDARY_EXPORT jlong Java_org_webrtc_VideoTrack_nativeWrapSink(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject sink) {
|
||||
return JNI_VideoTrack_WrapSink(env, jni_zero::JavaParamRef<jobject>(env, sink));
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_VideoTrack_JNI
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/WrappedNativeI420Buffer
|
||||
|
||||
#ifndef org_webrtc_WrappedNativeI420Buffer_JNI
|
||||
#define org_webrtc_WrappedNativeI420Buffer_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_WrappedNativeI420Buffer[];
|
||||
const char kClassPath_org_webrtc_WrappedNativeI420Buffer[] = "org/webrtc/WrappedNativeI420Buffer";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||||
g_org_webrtc_WrappedNativeI420Buffer_clazz(nullptr);
|
||||
#ifndef org_webrtc_WrappedNativeI420Buffer_clazz_defined
|
||||
#define org_webrtc_WrappedNativeI420Buffer_clazz_defined
|
||||
inline jclass org_webrtc_WrappedNativeI420Buffer_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_WrappedNativeI420Buffer,
|
||||
&g_org_webrtc_WrappedNativeI420Buffer_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
|
||||
static std::atomic<jmethodID> g_org_webrtc_WrappedNativeI420Buffer_Constructor9(nullptr);
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_WrappedNativeI420Buffer_Constructor(JNIEnv* env,
|
||||
JniIntWrapper width,
|
||||
JniIntWrapper height,
|
||||
const jni_zero::JavaRef<jobject>& dataY,
|
||||
JniIntWrapper strideY,
|
||||
const jni_zero::JavaRef<jobject>& dataU,
|
||||
JniIntWrapper strideU,
|
||||
const jni_zero::JavaRef<jobject>& dataV,
|
||||
JniIntWrapper strideV,
|
||||
jlong nativeBuffer) {
|
||||
jclass clazz = org_webrtc_WrappedNativeI420Buffer_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz,
|
||||
org_webrtc_WrappedNativeI420Buffer_clazz(env), nullptr);
|
||||
|
||||
jni_zero::JniJavaCallContextChecked call_context;
|
||||
call_context.Init<
|
||||
jni_zero::MethodID::TYPE_INSTANCE>(
|
||||
env,
|
||||
clazz,
|
||||
"<init>",
|
||||
"(IILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;IJ)V",
|
||||
&g_org_webrtc_WrappedNativeI420Buffer_Constructor9);
|
||||
|
||||
jobject ret =
|
||||
env->NewObject(clazz,
|
||||
call_context.base.method_id, as_jint(width), as_jint(height), dataY.obj(),
|
||||
as_jint(strideY), dataU.obj(), as_jint(strideU), dataV.obj(), as_jint(strideV),
|
||||
nativeBuffer);
|
||||
return jni_zero::ScopedJavaLocalRef<jobject>(env, ret);
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_WrappedNativeI420Buffer_JNI
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
// Copyright 2014 The Chromium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
||||
// This file is autogenerated by
|
||||
// third_party/jni_zero/jni_generator.py
|
||||
// For
|
||||
// org/webrtc/YuvHelper
|
||||
|
||||
#ifndef org_webrtc_YuvHelper_JNI
|
||||
#define org_webrtc_YuvHelper_JNI
|
||||
|
||||
#include <jni.h>
|
||||
|
||||
#include "third_party/jni_zero/jni_export.h"
|
||||
#include "webrtc/sdk/android/src/jni/jni_generator_helper.h"
|
||||
|
||||
|
||||
// Step 1: Forward declarations.
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char kClassPath_org_webrtc_YuvHelper[];
|
||||
const char kClassPath_org_webrtc_YuvHelper[] = "org/webrtc/YuvHelper";
|
||||
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass> g_org_webrtc_YuvHelper_clazz(nullptr);
|
||||
#ifndef org_webrtc_YuvHelper_clazz_defined
|
||||
#define org_webrtc_YuvHelper_clazz_defined
|
||||
inline jclass org_webrtc_YuvHelper_clazz(JNIEnv* env) {
|
||||
return jni_zero::LazyGetClass(env, kClassPath_org_webrtc_YuvHelper,
|
||||
&g_org_webrtc_YuvHelper_clazz);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Step 2: Constants (optional).
|
||||
|
||||
|
||||
// Step 3: Method stubs.
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
static void JNI_YuvHelper_ABGRToI420(JNIEnv* env, const jni_zero::JavaParamRef<jobject>& src,
|
||||
jint srcStride,
|
||||
const jni_zero::JavaParamRef<jobject>& dstY,
|
||||
jint dstStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& dstU,
|
||||
jint dstStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& dstV,
|
||||
jint dstStrideV,
|
||||
jint width,
|
||||
jint height);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_YuvHelper_nativeABGRToI420(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject src,
|
||||
jint srcStride,
|
||||
jobject dstY,
|
||||
jint dstStrideY,
|
||||
jobject dstU,
|
||||
jint dstStrideU,
|
||||
jobject dstV,
|
||||
jint dstStrideV,
|
||||
jint width,
|
||||
jint height) {
|
||||
return JNI_YuvHelper_ABGRToI420(env, jni_zero::JavaParamRef<jobject>(env, src), srcStride,
|
||||
jni_zero::JavaParamRef<jobject>(env, dstY), dstStrideY, jni_zero::JavaParamRef<jobject>(env,
|
||||
dstU), dstStrideU, jni_zero::JavaParamRef<jobject>(env, dstV), dstStrideV, width, height);
|
||||
}
|
||||
|
||||
static void JNI_YuvHelper_CopyPlane(JNIEnv* env, const jni_zero::JavaParamRef<jobject>& src,
|
||||
jint srcStride,
|
||||
const jni_zero::JavaParamRef<jobject>& dst,
|
||||
jint dstStride,
|
||||
jint width,
|
||||
jint height);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_YuvHelper_nativeCopyPlane(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject src,
|
||||
jint srcStride,
|
||||
jobject dst,
|
||||
jint dstStride,
|
||||
jint width,
|
||||
jint height) {
|
||||
return JNI_YuvHelper_CopyPlane(env, jni_zero::JavaParamRef<jobject>(env, src), srcStride,
|
||||
jni_zero::JavaParamRef<jobject>(env, dst), dstStride, width, height);
|
||||
}
|
||||
|
||||
static void JNI_YuvHelper_I420Copy(JNIEnv* env, const jni_zero::JavaParamRef<jobject>& srcY,
|
||||
jint srcStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& srcU,
|
||||
jint srcStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& srcV,
|
||||
jint srcStrideV,
|
||||
const jni_zero::JavaParamRef<jobject>& dstY,
|
||||
jint dstStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& dstU,
|
||||
jint dstStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& dstV,
|
||||
jint dstStrideV,
|
||||
jint width,
|
||||
jint height);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_YuvHelper_nativeI420Copy(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject srcY,
|
||||
jint srcStrideY,
|
||||
jobject srcU,
|
||||
jint srcStrideU,
|
||||
jobject srcV,
|
||||
jint srcStrideV,
|
||||
jobject dstY,
|
||||
jint dstStrideY,
|
||||
jobject dstU,
|
||||
jint dstStrideU,
|
||||
jobject dstV,
|
||||
jint dstStrideV,
|
||||
jint width,
|
||||
jint height) {
|
||||
return JNI_YuvHelper_I420Copy(env, jni_zero::JavaParamRef<jobject>(env, srcY), srcStrideY,
|
||||
jni_zero::JavaParamRef<jobject>(env, srcU), srcStrideU, jni_zero::JavaParamRef<jobject>(env,
|
||||
srcV), srcStrideV, jni_zero::JavaParamRef<jobject>(env, dstY), dstStrideY,
|
||||
jni_zero::JavaParamRef<jobject>(env, dstU), dstStrideU, jni_zero::JavaParamRef<jobject>(env,
|
||||
dstV), dstStrideV, width, height);
|
||||
}
|
||||
|
||||
static void JNI_YuvHelper_I420Rotate(JNIEnv* env, const jni_zero::JavaParamRef<jobject>& srcY,
|
||||
jint srcStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& srcU,
|
||||
jint srcStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& srcV,
|
||||
jint srcStrideV,
|
||||
const jni_zero::JavaParamRef<jobject>& dstY,
|
||||
jint dstStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& dstU,
|
||||
jint dstStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& dstV,
|
||||
jint dstStrideV,
|
||||
jint srcWidth,
|
||||
jint srcHeight,
|
||||
jint rotationMode);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_YuvHelper_nativeI420Rotate(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject srcY,
|
||||
jint srcStrideY,
|
||||
jobject srcU,
|
||||
jint srcStrideU,
|
||||
jobject srcV,
|
||||
jint srcStrideV,
|
||||
jobject dstY,
|
||||
jint dstStrideY,
|
||||
jobject dstU,
|
||||
jint dstStrideU,
|
||||
jobject dstV,
|
||||
jint dstStrideV,
|
||||
jint srcWidth,
|
||||
jint srcHeight,
|
||||
jint rotationMode) {
|
||||
return JNI_YuvHelper_I420Rotate(env, jni_zero::JavaParamRef<jobject>(env, srcY), srcStrideY,
|
||||
jni_zero::JavaParamRef<jobject>(env, srcU), srcStrideU, jni_zero::JavaParamRef<jobject>(env,
|
||||
srcV), srcStrideV, jni_zero::JavaParamRef<jobject>(env, dstY), dstStrideY,
|
||||
jni_zero::JavaParamRef<jobject>(env, dstU), dstStrideU, jni_zero::JavaParamRef<jobject>(env,
|
||||
dstV), dstStrideV, srcWidth, srcHeight, rotationMode);
|
||||
}
|
||||
|
||||
static void JNI_YuvHelper_I420ToNV12(JNIEnv* env, const jni_zero::JavaParamRef<jobject>& srcY,
|
||||
jint srcStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& srcU,
|
||||
jint srcStrideU,
|
||||
const jni_zero::JavaParamRef<jobject>& srcV,
|
||||
jint srcStrideV,
|
||||
const jni_zero::JavaParamRef<jobject>& dstY,
|
||||
jint dstStrideY,
|
||||
const jni_zero::JavaParamRef<jobject>& dstUV,
|
||||
jint dstStrideUV,
|
||||
jint width,
|
||||
jint height);
|
||||
|
||||
JNI_BOUNDARY_EXPORT void Java_org_webrtc_YuvHelper_nativeI420ToNV12(
|
||||
JNIEnv* env,
|
||||
jclass jcaller,
|
||||
jobject srcY,
|
||||
jint srcStrideY,
|
||||
jobject srcU,
|
||||
jint srcStrideU,
|
||||
jobject srcV,
|
||||
jint srcStrideV,
|
||||
jobject dstY,
|
||||
jint dstStrideY,
|
||||
jobject dstUV,
|
||||
jint dstStrideUV,
|
||||
jint width,
|
||||
jint height) {
|
||||
return JNI_YuvHelper_I420ToNV12(env, jni_zero::JavaParamRef<jobject>(env, srcY), srcStrideY,
|
||||
jni_zero::JavaParamRef<jobject>(env, srcU), srcStrideU, jni_zero::JavaParamRef<jobject>(env,
|
||||
srcV), srcStrideV, jni_zero::JavaParamRef<jobject>(env, dstY), dstStrideY,
|
||||
jni_zero::JavaParamRef<jobject>(env, dstUV), dstStrideUV, width, height);
|
||||
}
|
||||
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // org_webrtc_YuvHelper_JNI
|
||||
Loading…
Add table
Add a link
Reference in a new issue