gecko-dev/widget/android/GeneratedSDKWrappers.cpp
Andrew Martin McDonough 068835d9bb Bug 1014614 - Use Android MediaCodec for decoding H264 and AAC in MP4 r=cpearce,edwin
--HG--
extra : rebase_source : 7e7d1fc38d13b52e2294c0237479b78b31bdeafb
2014-10-21 08:53:01 -05:00

1860 lines
64 KiB
C++

// GENERATED CODE
// Generated by the Java program at /build/jarClassProcessors at compile time from
// a given set of jars and a set of requested methods. To update, change the annotations
// on the corresponding Java methods and rerun the build. Manually updating this file
// will cause your build to fail.
#include "GeneratedSDKWrappers.h"
#include "AndroidBridgeUtilities.h"
#include "nsXPCOMStrings.h"
#include "AndroidBridge.h"
#include "nsDebug.h"
namespace mozilla {
namespace widget {
namespace android {
jclass MediaCodec::mMediaCodecClass = 0;
jmethodID MediaCodec::jConfigure = 0;
jmethodID MediaCodec::jCreateByCodecName = 0;
jmethodID MediaCodec::jCreateDecoderByType = 0;
jmethodID MediaCodec::jCreateEncoderByType = 0;
jmethodID MediaCodec::jDequeueInputBuffer = 0;
jmethodID MediaCodec::jDequeueOutputBuffer = 0;
jmethodID MediaCodec::jFinalize = 0;
jmethodID MediaCodec::jFlush = 0;
jmethodID MediaCodec::jGetInputBuffers = 0;
jmethodID MediaCodec::jGetOutputBuffers = 0;
jmethodID MediaCodec::jGetOutputFormat = 0;
jmethodID MediaCodec::jQueueInputBuffer = 0;
jmethodID MediaCodec::jQueueSecureInputBuffer = 0;
jmethodID MediaCodec::jRelease = 0;
jmethodID MediaCodec::jReleaseOutputBuffer = 0;
jmethodID MediaCodec::jSetVideoScalingMode = 0;
jmethodID MediaCodec::jStart = 0;
jmethodID MediaCodec::jStop = 0;
jfieldID MediaCodec::jBUFFER_FLAG_CODEC_CONFIG = 0;
jfieldID MediaCodec::jBUFFER_FLAG_END_OF_STREAM = 0;
jfieldID MediaCodec::jBUFFER_FLAG_SYNC_FRAME = 0;
jfieldID MediaCodec::jCONFIGURE_FLAG_ENCODE = 0;
jfieldID MediaCodec::jCRYPTO_MODE_AES_CTR = 0;
jfieldID MediaCodec::jCRYPTO_MODE_UNENCRYPTED = 0;
jfieldID MediaCodec::jINFO_OUTPUT_BUFFERS_CHANGED = 0;
jfieldID MediaCodec::jINFO_OUTPUT_FORMAT_CHANGED = 0;
jfieldID MediaCodec::jINFO_TRY_AGAIN_LATER = 0;
jfieldID MediaCodec::jVIDEO_SCALING_MODE_SCALE_TO_FIT = 0;
jfieldID MediaCodec::jVIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 0;
void MediaCodec::InitStubs(JNIEnv *jEnv) {
initInit();
mMediaCodecClass = getClassGlobalRef("android/media/MediaCodec");
jConfigure = getMethod("configure", "(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V");
jCreateByCodecName = getStaticMethod("createByCodecName", "(Ljava/lang/String;)Landroid/media/MediaCodec;");
jCreateDecoderByType = getStaticMethod("createDecoderByType", "(Ljava/lang/String;)Landroid/media/MediaCodec;");
jCreateEncoderByType = getStaticMethod("createEncoderByType", "(Ljava/lang/String;)Landroid/media/MediaCodec;");
jDequeueInputBuffer = getMethod("dequeueInputBuffer", "(J)I");
jDequeueOutputBuffer = getMethod("dequeueOutputBuffer", "(Landroid/media/MediaCodec$BufferInfo;J)I");
jFinalize = getMethod("finalize", "()V");
jFlush = getMethod("flush", "()V");
jGetInputBuffers = getMethod("getInputBuffers", "()[Ljava/nio/ByteBuffer;");
jGetOutputBuffers = getMethod("getOutputBuffers", "()[Ljava/nio/ByteBuffer;");
jGetOutputFormat = getMethod("getOutputFormat", "()Landroid/media/MediaFormat;");
jQueueInputBuffer = getMethod("queueInputBuffer", "(IIIJI)V");
jQueueSecureInputBuffer = getMethod("queueSecureInputBuffer", "(IILandroid/media/MediaCodec$CryptoInfo;JI)V");
jRelease = getMethod("release", "()V");
jReleaseOutputBuffer = getMethod("releaseOutputBuffer", "(IZ)V");
jSetVideoScalingMode = getMethod("setVideoScalingMode", "(I)V");
jStart = getMethod("start", "()V");
jStop = getMethod("stop", "()V");
jBUFFER_FLAG_CODEC_CONFIG = getStaticField("BUFFER_FLAG_CODEC_CONFIG", "I");
jBUFFER_FLAG_END_OF_STREAM = getStaticField("BUFFER_FLAG_END_OF_STREAM", "I");
jBUFFER_FLAG_SYNC_FRAME = getStaticField("BUFFER_FLAG_SYNC_FRAME", "I");
jCONFIGURE_FLAG_ENCODE = getStaticField("CONFIGURE_FLAG_ENCODE", "I");
jCRYPTO_MODE_AES_CTR = getStaticField("CRYPTO_MODE_AES_CTR", "I");
jCRYPTO_MODE_UNENCRYPTED = getStaticField("CRYPTO_MODE_UNENCRYPTED", "I");
jINFO_OUTPUT_BUFFERS_CHANGED = getStaticField("INFO_OUTPUT_BUFFERS_CHANGED", "I");
jINFO_OUTPUT_FORMAT_CHANGED = getStaticField("INFO_OUTPUT_FORMAT_CHANGED", "I");
jINFO_TRY_AGAIN_LATER = getStaticField("INFO_TRY_AGAIN_LATER", "I");
jVIDEO_SCALING_MODE_SCALE_TO_FIT = getStaticField("VIDEO_SCALING_MODE_SCALE_TO_FIT", "I");
jVIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = getStaticField("VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING", "I");
}
MediaCodec* MediaCodec::Wrap(jobject obj) {
JNIEnv *env = GetJNIForThread();
MediaCodec* ret = new MediaCodec(obj, env);
env->DeleteLocalRef(obj);
return ret;
}
void MediaCodec::Configure(jobject a0, jobject a1, jobject a2, int32_t a3) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(3) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[4];
args[0].l = a0;
args[1].l = a1;
args[2].l = a2;
args[3].i = a3;
env->CallVoidMethodA(wrapped_obj, jConfigure, args);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
jobject MediaCodec::CreateByCodecName(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
jobject temp = env->CallStaticObjectMethod(mMediaCodecClass, jCreateByCodecName, j0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject MediaCodec::CreateDecoderByType(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
jobject temp = env->CallStaticObjectMethod(mMediaCodecClass, jCreateDecoderByType, j0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject MediaCodec::CreateEncoderByType(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
jobject temp = env->CallStaticObjectMethod(mMediaCodecClass, jCreateEncoderByType, j0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
int32_t MediaCodec::DequeueInputBuffer(int64_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jDequeueInputBuffer, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int32_t MediaCodec::DequeueOutputBuffer(jobject a0, int64_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jDequeueOutputBuffer, a0, a1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
void MediaCodec::Finalize() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, jFinalize);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaCodec::Flush() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, jFlush);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
jobjectArray MediaCodec::GetInputBuffers() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jGetInputBuffers);
AndroidBridge::HandleUncaughtException(env);
jobjectArray ret = static_cast<jobjectArray>(env->PopLocalFrame(temp));
return ret;
}
jobjectArray MediaCodec::GetOutputBuffers() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jGetOutputBuffers);
AndroidBridge::HandleUncaughtException(env);
jobjectArray ret = static_cast<jobjectArray>(env->PopLocalFrame(temp));
return ret;
}
jobject MediaCodec::GetOutputFormat() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jGetOutputFormat);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
void MediaCodec::QueueInputBuffer(int32_t a0, int32_t a1, int32_t a2, int64_t a3, int32_t a4) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(5) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[5];
args[0].i = a0;
args[1].i = a1;
args[2].i = a2;
args[3].j = a3;
args[4].i = a4;
env->CallVoidMethodA(wrapped_obj, jQueueInputBuffer, args);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaCodec::QueueSecureInputBuffer(int32_t a0, int32_t a1, jobject a2, int64_t a3, int32_t a4) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[5];
args[0].i = a0;
args[1].i = a1;
args[2].l = a2;
args[3].j = a3;
args[4].i = a4;
env->CallVoidMethodA(wrapped_obj, jQueueSecureInputBuffer, args);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaCodec::Release() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, jRelease);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaCodec::ReleaseOutputBuffer(int32_t a0, bool a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, jReleaseOutputBuffer, a0, a1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaCodec::SetVideoScalingMode(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, jSetVideoScalingMode, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaCodec::Start() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, jStart);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaCodec::Stop() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, jStop);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
int32_t MediaCodec::getBUFFER_FLAG_CODEC_CONFIG() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jBUFFER_FLAG_CODEC_CONFIG);
}
int32_t MediaCodec::getBUFFER_FLAG_END_OF_STREAM() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jBUFFER_FLAG_END_OF_STREAM);
}
int32_t MediaCodec::getBUFFER_FLAG_SYNC_FRAME() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jBUFFER_FLAG_SYNC_FRAME);
}
int32_t MediaCodec::getCONFIGURE_FLAG_ENCODE() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jCONFIGURE_FLAG_ENCODE);
}
int32_t MediaCodec::getCRYPTO_MODE_AES_CTR() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jCRYPTO_MODE_AES_CTR);
}
int32_t MediaCodec::getCRYPTO_MODE_UNENCRYPTED() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jCRYPTO_MODE_UNENCRYPTED);
}
int32_t MediaCodec::getINFO_OUTPUT_BUFFERS_CHANGED() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jINFO_OUTPUT_BUFFERS_CHANGED);
}
int32_t MediaCodec::getINFO_OUTPUT_FORMAT_CHANGED() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jINFO_OUTPUT_FORMAT_CHANGED);
}
int32_t MediaCodec::getINFO_TRY_AGAIN_LATER() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jINFO_TRY_AGAIN_LATER);
}
int32_t MediaCodec::getVIDEO_SCALING_MODE_SCALE_TO_FIT() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jVIDEO_SCALING_MODE_SCALE_TO_FIT);
}
int32_t MediaCodec::getVIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING() {
JNIEnv *env = GetJNIForThread();
return env->GetStaticIntField(mMediaCodecClass, jVIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
}
jclass MediaFormat::mMediaFormatClass = 0;
jmethodID MediaFormat::jMediaFormat = 0;
jmethodID MediaFormat::jContainsKey = 0;
jmethodID MediaFormat::jCreateAudioFormat = 0;
jmethodID MediaFormat::jCreateVideoFormat = 0;
jmethodID MediaFormat::jGetByteBuffer = 0;
jmethodID MediaFormat::jGetFloat = 0;
jmethodID MediaFormat::jGetInteger = 0;
jmethodID MediaFormat::jGetLong = 0;
jmethodID MediaFormat::jGetString = 0;
jmethodID MediaFormat::jSetByteBuffer = 0;
jmethodID MediaFormat::jSetFloat = 0;
jmethodID MediaFormat::jSetInteger = 0;
jmethodID MediaFormat::jSetLong = 0;
jmethodID MediaFormat::jSetString = 0;
jmethodID MediaFormat::jToString = 0;
jfieldID MediaFormat::jKEY_AAC_PROFILE = 0;
jfieldID MediaFormat::jKEY_BIT_RATE = 0;
jfieldID MediaFormat::jKEY_CHANNEL_COUNT = 0;
jfieldID MediaFormat::jKEY_CHANNEL_MASK = 0;
jfieldID MediaFormat::jKEY_COLOR_FORMAT = 0;
jfieldID MediaFormat::jKEY_DURATION = 0;
jfieldID MediaFormat::jKEY_FLAC_COMPRESSION_LEVEL = 0;
jfieldID MediaFormat::jKEY_FRAME_RATE = 0;
jfieldID MediaFormat::jKEY_HEIGHT = 0;
jfieldID MediaFormat::jKEY_IS_ADTS = 0;
jfieldID MediaFormat::jKEY_I_FRAME_INTERVAL = 0;
jfieldID MediaFormat::jKEY_MAX_INPUT_SIZE = 0;
jfieldID MediaFormat::jKEY_MIME = 0;
jfieldID MediaFormat::jKEY_SAMPLE_RATE = 0;
jfieldID MediaFormat::jKEY_WIDTH = 0;
void MediaFormat::InitStubs(JNIEnv *jEnv) {
initInit();
mMediaFormatClass = getClassGlobalRef("android/media/MediaFormat");
jMediaFormat = getMethod("<init>", "()V");
jContainsKey = getMethod("containsKey", "(Ljava/lang/String;)Z");
jCreateAudioFormat = getStaticMethod("createAudioFormat", "(Ljava/lang/String;II)Landroid/media/MediaFormat;");
jCreateVideoFormat = getStaticMethod("createVideoFormat", "(Ljava/lang/String;II)Landroid/media/MediaFormat;");
jGetByteBuffer = getMethod("getByteBuffer", "(Ljava/lang/String;)Ljava/nio/ByteBuffer;");
jGetFloat = getMethod("getFloat", "(Ljava/lang/String;)F");
jGetInteger = getMethod("getInteger", "(Ljava/lang/String;)I");
jGetLong = getMethod("getLong", "(Ljava/lang/String;)J");
jGetString = getMethod("getString", "(Ljava/lang/String;)Ljava/lang/String;");
jSetByteBuffer = getMethod("setByteBuffer", "(Ljava/lang/String;Ljava/nio/ByteBuffer;)V");
jSetFloat = getMethod("setFloat", "(Ljava/lang/String;F)V");
jSetInteger = getMethod("setInteger", "(Ljava/lang/String;I)V");
jSetLong = getMethod("setLong", "(Ljava/lang/String;J)V");
jSetString = getMethod("setString", "(Ljava/lang/String;Ljava/lang/String;)V");
jToString = getMethod("toString", "()Ljava/lang/String;");
jKEY_AAC_PROFILE = getStaticField("KEY_AAC_PROFILE", "Ljava/lang/String;");
jKEY_BIT_RATE = getStaticField("KEY_BIT_RATE", "Ljava/lang/String;");
jKEY_CHANNEL_COUNT = getStaticField("KEY_CHANNEL_COUNT", "Ljava/lang/String;");
jKEY_CHANNEL_MASK = getStaticField("KEY_CHANNEL_MASK", "Ljava/lang/String;");
jKEY_COLOR_FORMAT = getStaticField("KEY_COLOR_FORMAT", "Ljava/lang/String;");
jKEY_DURATION = getStaticField("KEY_DURATION", "Ljava/lang/String;");
jKEY_FLAC_COMPRESSION_LEVEL = getStaticField("KEY_FLAC_COMPRESSION_LEVEL", "Ljava/lang/String;");
jKEY_FRAME_RATE = getStaticField("KEY_FRAME_RATE", "Ljava/lang/String;");
jKEY_HEIGHT = getStaticField("KEY_HEIGHT", "Ljava/lang/String;");
jKEY_IS_ADTS = getStaticField("KEY_IS_ADTS", "Ljava/lang/String;");
jKEY_I_FRAME_INTERVAL = getStaticField("KEY_I_FRAME_INTERVAL", "Ljava/lang/String;");
jKEY_MAX_INPUT_SIZE = getStaticField("KEY_MAX_INPUT_SIZE", "Ljava/lang/String;");
jKEY_MIME = getStaticField("KEY_MIME", "Ljava/lang/String;");
jKEY_SAMPLE_RATE = getStaticField("KEY_SAMPLE_RATE", "Ljava/lang/String;");
jKEY_WIDTH = getStaticField("KEY_WIDTH", "Ljava/lang/String;");
}
MediaFormat* MediaFormat::Wrap(jobject obj) {
JNIEnv *env = GetJNIForThread();
MediaFormat* ret = new MediaFormat(obj, env);
env->DeleteLocalRef(obj);
return ret;
}
MediaFormat::MediaFormat() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
Init(env->NewObject(mMediaFormatClass, jMediaFormat), env);
env->PopLocalFrame(nullptr);
}
bool MediaFormat::ContainsKey(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
bool temp = env->CallBooleanMethod(wrapped_obj, jContainsKey, j0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jobject MediaFormat::CreateAudioFormat(const nsAString& a0, int32_t a1, int32_t a2) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[3];
args[0].l = AndroidBridge::NewJavaString(env, a0);
args[1].i = a1;
args[2].i = a2;
jobject temp = env->CallStaticObjectMethodA(mMediaFormatClass, jCreateAudioFormat, args);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject MediaFormat::CreateVideoFormat(const nsAString& a0, int32_t a1, int32_t a2) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[3];
args[0].l = AndroidBridge::NewJavaString(env, a0);
args[1].i = a1;
args[2].i = a2;
jobject temp = env->CallStaticObjectMethodA(mMediaFormatClass, jCreateVideoFormat, args);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject MediaFormat::GetByteBuffer(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
jobject temp = env->CallObjectMethod(wrapped_obj, jGetByteBuffer, j0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jfloat MediaFormat::GetFloat(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
jfloat temp = env->CallFloatMethod(wrapped_obj, jGetFloat, j0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int32_t MediaFormat::GetInteger(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
int32_t temp = env->CallIntMethod(wrapped_obj, jGetInteger, j0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int64_t MediaFormat::GetLong(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
int64_t temp = env->CallLongMethod(wrapped_obj, jGetLong, j0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jstring MediaFormat::GetString(const nsAString& a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
jobject temp = env->CallObjectMethod(wrapped_obj, jGetString, j0);
AndroidBridge::HandleUncaughtException(env);
jstring ret = static_cast<jstring>(env->PopLocalFrame(temp));
return ret;
}
void MediaFormat::SetByteBuffer(const nsAString& a0, jobject a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
env->CallVoidMethod(wrapped_obj, jSetByteBuffer, j0, a1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaFormat::SetFloat(const nsAString& a0, jfloat a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
env->CallVoidMethod(wrapped_obj, jSetFloat, j0, a1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaFormat::SetInteger(const nsAString& a0, int32_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
env->CallVoidMethod(wrapped_obj, jSetInteger, j0, a1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaFormat::SetLong(const nsAString& a0, int64_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
env->CallVoidMethod(wrapped_obj, jSetLong, j0, a1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
void MediaFormat::SetString(const nsAString& a0, const nsAString& a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jstring j0 = AndroidBridge::NewJavaString(env, a0);
jstring j1 = AndroidBridge::NewJavaString(env, a1);
env->CallVoidMethod(wrapped_obj, jSetString, j0, j1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
jstring MediaFormat::ToString() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jToString);
AndroidBridge::HandleUncaughtException(env);
jstring ret = static_cast<jstring>(env->PopLocalFrame(temp));
return ret;
}
jstring MediaFormat::getKEY_AAC_PROFILE() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_AAC_PROFILE));
}
jstring MediaFormat::getKEY_BIT_RATE() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_BIT_RATE));
}
jstring MediaFormat::getKEY_CHANNEL_COUNT() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_CHANNEL_COUNT));
}
jstring MediaFormat::getKEY_CHANNEL_MASK() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_CHANNEL_MASK));
}
jstring MediaFormat::getKEY_COLOR_FORMAT() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_COLOR_FORMAT));
}
jstring MediaFormat::getKEY_DURATION() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_DURATION));
}
jstring MediaFormat::getKEY_FLAC_COMPRESSION_LEVEL() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_FLAC_COMPRESSION_LEVEL));
}
jstring MediaFormat::getKEY_FRAME_RATE() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_FRAME_RATE));
}
jstring MediaFormat::getKEY_HEIGHT() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_HEIGHT));
}
jstring MediaFormat::getKEY_IS_ADTS() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_IS_ADTS));
}
jstring MediaFormat::getKEY_I_FRAME_INTERVAL() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_I_FRAME_INTERVAL));
}
jstring MediaFormat::getKEY_MAX_INPUT_SIZE() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_MAX_INPUT_SIZE));
}
jstring MediaFormat::getKEY_MIME() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_MIME));
}
jstring MediaFormat::getKEY_SAMPLE_RATE() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_SAMPLE_RATE));
}
jstring MediaFormat::getKEY_WIDTH() {
JNIEnv *env = GetJNIForThread();
return static_cast<jstring>(env->GetStaticObjectField(mMediaFormatClass, jKEY_WIDTH));
}
jclass ByteBuffer::mByteBufferClass = 0;
jmethodID ByteBuffer::j_get = 0;
jmethodID ByteBuffer::j_put = 0;
jmethodID ByteBuffer::jAllocate = 0;
jmethodID ByteBuffer::jAllocateDirect = 0;
jmethodID ByteBuffer::jArray = 0;
jmethodID ByteBuffer::jArray1 = 0;
jmethodID ByteBuffer::jArrayOffset = 0;
jmethodID ByteBuffer::jAsCharBuffer = 0;
jmethodID ByteBuffer::jAsDoubleBuffer = 0;
jmethodID ByteBuffer::jAsFloatBuffer = 0;
jmethodID ByteBuffer::jAsIntBuffer = 0;
jmethodID ByteBuffer::jAsLongBuffer = 0;
jmethodID ByteBuffer::jAsReadOnlyBuffer = 0;
jmethodID ByteBuffer::jAsShortBuffer = 0;
jmethodID ByteBuffer::jCompact = 0;
jmethodID ByteBuffer::jCompareTo = 0;
jmethodID ByteBuffer::jCompareTo1 = 0;
jmethodID ByteBuffer::jDuplicate = 0;
jmethodID ByteBuffer::jEquals = 0;
jmethodID ByteBuffer::jGet = 0;
jmethodID ByteBuffer::jGet1 = 0;
jmethodID ByteBuffer::jGet10 = 0;
jmethodID ByteBuffer::jGet11 = 0;
jmethodID ByteBuffer::jGetChar = 0;
jmethodID ByteBuffer::jGetChar1 = 0;
jmethodID ByteBuffer::jGetDouble = 0;
jmethodID ByteBuffer::jGetDouble1 = 0;
jmethodID ByteBuffer::jGetFloat = 0;
jmethodID ByteBuffer::jGetFloat1 = 0;
jmethodID ByteBuffer::jGetInt = 0;
jmethodID ByteBuffer::jGetInt1 = 0;
jmethodID ByteBuffer::jGetLong = 0;
jmethodID ByteBuffer::jGetLong1 = 0;
jmethodID ByteBuffer::jGetShort = 0;
jmethodID ByteBuffer::jGetShort1 = 0;
jmethodID ByteBuffer::jHasArray = 0;
jmethodID ByteBuffer::jHashCode = 0;
jmethodID ByteBuffer::jIsDirect = 0;
jmethodID ByteBuffer::jOrder = 0;
jmethodID ByteBuffer::jOrder1 = 0;
jmethodID ByteBuffer::jPut = 0;
jmethodID ByteBuffer::jPut1 = 0;
jmethodID ByteBuffer::jPut12 = 0;
jmethodID ByteBuffer::jPut13 = 0;
jmethodID ByteBuffer::jPut14 = 0;
jmethodID ByteBuffer::jPutChar = 0;
jmethodID ByteBuffer::jPutChar1 = 0;
jmethodID ByteBuffer::jPutDouble = 0;
jmethodID ByteBuffer::jPutDouble1 = 0;
jmethodID ByteBuffer::jPutFloat = 0;
jmethodID ByteBuffer::jPutFloat1 = 0;
jmethodID ByteBuffer::jPutInt = 0;
jmethodID ByteBuffer::jPutInt1 = 0;
jmethodID ByteBuffer::jPutLong = 0;
jmethodID ByteBuffer::jPutLong1 = 0;
jmethodID ByteBuffer::jPutShort = 0;
jmethodID ByteBuffer::jPutShort1 = 0;
jmethodID ByteBuffer::jSlice = 0;
jmethodID ByteBuffer::jToString = 0;
jmethodID ByteBuffer::jWrap = 0;
jmethodID ByteBuffer::jWrap1 = 0;
jfieldID ByteBuffer::jBigEndian = 0;
jfieldID ByteBuffer::jHb = 0;
jfieldID ByteBuffer::jIsReadOnly = 0;
jfieldID ByteBuffer::jNativeByteOrder = 0;
jfieldID ByteBuffer::jOffset = 0;
void ByteBuffer::InitStubs(JNIEnv *jEnv) {
initInit();
mByteBufferClass = getClassGlobalRef("java/nio/ByteBuffer");
//j_get = getMethod("_get", "(I)B");
//j_put = getMethod("_put", "(IB)V");
jAllocate = getStaticMethod("allocate", "(I)Ljava/nio/ByteBuffer;");
jAllocateDirect = getStaticMethod("allocateDirect", "(I)Ljava/nio/ByteBuffer;");
jArray = getMethod("array", "()Ljava/lang/Object;");
jArray1 = getMethod("array", "()[B");
jArrayOffset = getMethod("arrayOffset", "()I");
jAsCharBuffer = getMethod("asCharBuffer", "()Ljava/nio/CharBuffer;");
jAsDoubleBuffer = getMethod("asDoubleBuffer", "()Ljava/nio/DoubleBuffer;");
jAsFloatBuffer = getMethod("asFloatBuffer", "()Ljava/nio/FloatBuffer;");
jAsIntBuffer = getMethod("asIntBuffer", "()Ljava/nio/IntBuffer;");
jAsLongBuffer = getMethod("asLongBuffer", "()Ljava/nio/LongBuffer;");
jAsReadOnlyBuffer = getMethod("asReadOnlyBuffer", "()Ljava/nio/ByteBuffer;");
jAsShortBuffer = getMethod("asShortBuffer", "()Ljava/nio/ShortBuffer;");
jCompact = getMethod("compact", "()Ljava/nio/ByteBuffer;");
jCompareTo = getMethod("compareTo", "(Ljava/lang/Object;)I");
jCompareTo1 = getMethod("compareTo", "(Ljava/nio/ByteBuffer;)I");
jDuplicate = getMethod("duplicate", "()Ljava/nio/ByteBuffer;");
jEquals = getMethod("equals", "(Ljava/lang/Object;)Z");
jGet = getMethod("get", "()B");
jGet1 = getMethod("get", "(I)B");
jGet10 = getMethod("get", "([B)Ljava/nio/ByteBuffer;");
jGet11 = getMethod("get", "([BII)Ljava/nio/ByteBuffer;");
jGetChar = getMethod("getChar", "()C");
jGetChar1 = getMethod("getChar", "(I)C");
jGetDouble = getMethod("getDouble", "()D");
jGetDouble1 = getMethod("getDouble", "(I)D");
jGetFloat = getMethod("getFloat", "()F");
jGetFloat1 = getMethod("getFloat", "(I)F");
jGetInt = getMethod("getInt", "()I");
jGetInt1 = getMethod("getInt", "(I)I");
jGetLong = getMethod("getLong", "()J");
jGetLong1 = getMethod("getLong", "(I)J");
jGetShort = getMethod("getShort", "()S");
jGetShort1 = getMethod("getShort", "(I)S");
jHasArray = getMethod("hasArray", "()Z");
jHashCode = getMethod("hashCode", "()I");
jIsDirect = getMethod("isDirect", "()Z");
jOrder = getMethod("order", "()Ljava/nio/ByteOrder;");
jOrder1 = getMethod("order", "(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;");
jPut = getMethod("put", "(B)Ljava/nio/ByteBuffer;");
jPut1 = getMethod("put", "(IB)Ljava/nio/ByteBuffer;");
jPut12 = getMethod("put", "(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;");
jPut13 = getMethod("put", "([B)Ljava/nio/ByteBuffer;");
jPut14 = getMethod("put", "([BII)Ljava/nio/ByteBuffer;");
jPutChar = getMethod("putChar", "(C)Ljava/nio/ByteBuffer;");
jPutChar1 = getMethod("putChar", "(IC)Ljava/nio/ByteBuffer;");
jPutDouble = getMethod("putDouble", "(D)Ljava/nio/ByteBuffer;");
jPutDouble1 = getMethod("putDouble", "(ID)Ljava/nio/ByteBuffer;");
jPutFloat = getMethod("putFloat", "(F)Ljava/nio/ByteBuffer;");
jPutFloat1 = getMethod("putFloat", "(IF)Ljava/nio/ByteBuffer;");
jPutInt = getMethod("putInt", "(I)Ljava/nio/ByteBuffer;");
jPutInt1 = getMethod("putInt", "(II)Ljava/nio/ByteBuffer;");
jPutLong = getMethod("putLong", "(IJ)Ljava/nio/ByteBuffer;");
jPutLong1 = getMethod("putLong", "(J)Ljava/nio/ByteBuffer;");
jPutShort = getMethod("putShort", "(IS)Ljava/nio/ByteBuffer;");
jPutShort1 = getMethod("putShort", "(S)Ljava/nio/ByteBuffer;");
jSlice = getMethod("slice", "()Ljava/nio/ByteBuffer;");
jToString = getMethod("toString", "()Ljava/lang/String;");
jWrap = getStaticMethod("wrap", "([B)Ljava/nio/ByteBuffer;");
jWrap1 = getStaticMethod("wrap", "([BII)Ljava/nio/ByteBuffer;");
/*
jBigEndian = getField("bigEndian", "Z");
jHb = getField("hb", "[B");
jIsReadOnly = getField("isReadOnly", "Z");
jNativeByteOrder = getField("nativeByteOrder", "Z");
jOffset = getField("offset", "I");
*/
}
ByteBuffer* ByteBuffer::Wrap(jobject obj) {
JNIEnv *env = GetJNIForThread();
ByteBuffer* ret = new ByteBuffer(obj, env);
env->DeleteLocalRef(obj);
return ret;
}
int8_t ByteBuffer::_get(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int8_t temp = env->CallByteMethod(wrapped_obj, j_get, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
void ByteBuffer::_put(int32_t a0, int8_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
env->CallVoidMethod(wrapped_obj, j_put, a0, a1);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
jobject ByteBuffer::Allocate(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallStaticObjectMethod(mByteBufferClass, jAllocate, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::AllocateDirect(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallStaticObjectMethod(mByteBufferClass, jAllocateDirect, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Array() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jArray);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jbyteArray ByteBuffer::Array1() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jArray1);
AndroidBridge::HandleUncaughtException(env);
jbyteArray ret = static_cast<jbyteArray>(env->PopLocalFrame(temp));
return ret;
}
int32_t ByteBuffer::ArrayOffset() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jArrayOffset);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jstring ByteBuffer::AsCharBuffer() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jAsCharBuffer);
AndroidBridge::HandleUncaughtException(env);
jstring ret = static_cast<jstring>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::AsDoubleBuffer() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jAsDoubleBuffer);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::AsFloatBuffer() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jAsFloatBuffer);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::AsIntBuffer() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jAsIntBuffer);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::AsLongBuffer() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jAsLongBuffer);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::AsReadOnlyBuffer() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jAsReadOnlyBuffer);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::AsShortBuffer() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jAsShortBuffer);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Compact() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jCompact);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
int32_t ByteBuffer::CompareTo(jobject a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jCompareTo, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int32_t ByteBuffer::CompareTo1(jobject a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jCompareTo1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jobject ByteBuffer::Duplicate() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jDuplicate);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
bool ByteBuffer::Equals(jobject a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
bool temp = env->CallBooleanMethod(wrapped_obj, jEquals, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int8_t ByteBuffer::Get() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int8_t temp = env->CallByteMethod(wrapped_obj, jGet);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int8_t ByteBuffer::Get1(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int8_t temp = env->CallByteMethod(wrapped_obj, jGet1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jobject ByteBuffer::Get1(jbyteArray a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jGet10, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Get1(jbyteArray a0, int32_t a1, int32_t a2) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[3];
args[0].l = a0;
args[1].i = a1;
args[2].i = a2;
jobject temp = env->CallObjectMethodA(wrapped_obj, jGet11, args);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
uint16_t ByteBuffer::GetChar() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
uint16_t temp = env->CallCharMethod(wrapped_obj, jGetChar);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
uint16_t ByteBuffer::GetChar1(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
uint16_t temp = env->CallCharMethod(wrapped_obj, jGetChar1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jdouble ByteBuffer::GetDouble() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jdouble temp = env->CallDoubleMethod(wrapped_obj, jGetDouble);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jdouble ByteBuffer::GetDouble1(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jdouble temp = env->CallDoubleMethod(wrapped_obj, jGetDouble1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jfloat ByteBuffer::GetFloat() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jfloat temp = env->CallFloatMethod(wrapped_obj, jGetFloat);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jfloat ByteBuffer::GetFloat1(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jfloat temp = env->CallFloatMethod(wrapped_obj, jGetFloat1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int32_t ByteBuffer::GetInt() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jGetInt);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int32_t ByteBuffer::GetInt1(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jGetInt1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int64_t ByteBuffer::GetLong() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int64_t temp = env->CallLongMethod(wrapped_obj, jGetLong);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int64_t ByteBuffer::GetLong1(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int64_t temp = env->CallLongMethod(wrapped_obj, jGetLong1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int16_t ByteBuffer::GetShort() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int16_t temp = env->CallShortMethod(wrapped_obj, jGetShort);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int16_t ByteBuffer::GetShort1(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int16_t temp = env->CallShortMethod(wrapped_obj, jGetShort1, a0);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
bool ByteBuffer::HasArray() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
bool temp = env->CallBooleanMethod(wrapped_obj, jHasArray);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
int32_t ByteBuffer::HashCode() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
int32_t temp = env->CallIntMethod(wrapped_obj, jHashCode);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
bool ByteBuffer::IsDirect() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
bool temp = env->CallBooleanMethod(wrapped_obj, jIsDirect);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
return temp;
}
jobject ByteBuffer::Order() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jOrder);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Order1(jobject a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jOrder1, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Put(int8_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPut, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Put1(int32_t a0, int8_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPut1, a0, a1);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Put1(jobject a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPut12, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Put1(jbyteArray a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPut13, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Put1(jbyteArray a0, int32_t a1, int32_t a2) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[3];
args[0].l = a0;
args[1].i = a1;
args[2].i = a2;
jobject temp = env->CallObjectMethodA(wrapped_obj, jPut14, args);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutChar(uint16_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutChar, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutChar1(int32_t a0, uint16_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutChar1, a0, a1);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutDouble(jdouble a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutDouble, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutDouble1(int32_t a0, jdouble a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutDouble1, a0, a1);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutFloat(jfloat a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutFloat, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutFloat1(int32_t a0, jfloat a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutFloat1, a0, a1);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutInt(int32_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutInt, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutInt1(int32_t a0, int32_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutInt1, a0, a1);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutLong(int32_t a0, int64_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutLong, a0, a1);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutLong1(int64_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutLong1, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutShort(int32_t a0, int16_t a1) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutShort, a0, a1);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::PutShort1(int16_t a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jPutShort1, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Slice() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jSlice);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jstring ByteBuffer::ToString() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(1) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallObjectMethod(wrapped_obj, jToString);
AndroidBridge::HandleUncaughtException(env);
jstring ret = static_cast<jstring>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Wrap1(jbyteArray a0) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jobject temp = env->CallStaticObjectMethod(mByteBufferClass, jWrap, a0);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
jobject ByteBuffer::Wrap2(jbyteArray a0, int32_t a1, int32_t a2) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(2) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[3];
args[0].l = a0;
args[1].i = a1;
args[2].i = a2;
jobject temp = env->CallStaticObjectMethodA(mByteBufferClass, jWrap1, args);
AndroidBridge::HandleUncaughtException(env);
jobject ret = static_cast<jobject>(env->PopLocalFrame(temp));
return ret;
}
bool ByteBuffer::getBigEndian() {
JNIEnv *env = GetJNIForThread();
return env->GetBooleanField(wrapped_obj, jBigEndian);
}
void ByteBuffer::setBigEndian(bool a0) {
JNIEnv *env = GetJNIForThread();
env->SetBooleanField(wrapped_obj, jBigEndian, a0);
}
jbyteArray ByteBuffer::getHb() {
JNIEnv *env = GetJNIForThread();
return static_cast<jbyteArray>(env->GetObjectField(wrapped_obj, jHb));
}
bool ByteBuffer::getIsReadOnly() {
JNIEnv *env = GetJNIForThread();
return env->GetBooleanField(wrapped_obj, jIsReadOnly);
}
void ByteBuffer::setIsReadOnly(bool a0) {
JNIEnv *env = GetJNIForThread();
env->SetBooleanField(wrapped_obj, jIsReadOnly, a0);
}
bool ByteBuffer::getNativeByteOrder() {
JNIEnv *env = GetJNIForThread();
return env->GetBooleanField(wrapped_obj, jNativeByteOrder);
}
void ByteBuffer::setNativeByteOrder(bool a0) {
JNIEnv *env = GetJNIForThread();
env->SetBooleanField(wrapped_obj, jNativeByteOrder, a0);
}
int32_t ByteBuffer::getOffset() {
JNIEnv *env = GetJNIForThread();
return env->GetIntField(wrapped_obj, jOffset);
}
jclass BufferInfo::mBufferInfoClass = 0;
jmethodID BufferInfo::jBufferInfo = 0;
jmethodID BufferInfo::jSet = 0;
jfieldID BufferInfo::jFlags = 0;
jfieldID BufferInfo::jOffset = 0;
jfieldID BufferInfo::jPresentationTimeUs = 0;
jfieldID BufferInfo::jSize = 0;
void BufferInfo::InitStubs(JNIEnv *jEnv) {
initInit();
mBufferInfoClass = getClassGlobalRef("android/media/MediaCodec$BufferInfo");
jBufferInfo = getMethod("<init>", "()V");
jSet = getMethod("set", "(IIJI)V");
jFlags = getField("flags", "I");
jOffset = getField("offset", "I");
jPresentationTimeUs = getField("presentationTimeUs", "J");
jSize = getField("size", "I");
}
BufferInfo* BufferInfo::Wrap(jobject obj) {
JNIEnv *env = GetJNIForThread();
BufferInfo* ret = new BufferInfo(obj, env);
env->DeleteLocalRef(obj);
return ret;
}
BufferInfo::BufferInfo() {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
Init(env->NewObject(mBufferInfoClass, jBufferInfo), env);
env->PopLocalFrame(nullptr);
}
void BufferInfo::Set(int32_t a0, int32_t a1, int64_t a2, int32_t a3) {
JNIEnv *env = GetJNIForThread();
if (env->PushLocalFrame(0) != 0) {
AndroidBridge::HandleUncaughtException(env);
MOZ_CRASH("Exception should have caused crash.");
}
jvalue args[4];
args[0].i = a0;
args[1].i = a1;
args[2].j = a2;
args[3].i = a3;
env->CallVoidMethodA(wrapped_obj, jSet, args);
AndroidBridge::HandleUncaughtException(env);
env->PopLocalFrame(nullptr);
}
int32_t BufferInfo::getFlags() {
JNIEnv *env = GetJNIForThread();
return env->GetIntField(wrapped_obj, jFlags);
}
void BufferInfo::setFlags(int32_t a0) {
JNIEnv *env = GetJNIForThread();
env->SetIntField(wrapped_obj, jFlags, a0);
}
int32_t BufferInfo::getOffset() {
JNIEnv *env = GetJNIForThread();
return env->GetIntField(wrapped_obj, jOffset);
}
void BufferInfo::setOffset(int32_t a0) {
JNIEnv *env = GetJNIForThread();
env->SetIntField(wrapped_obj, jOffset, a0);
}
int64_t BufferInfo::getPresentationTimeUs() {
JNIEnv *env = GetJNIForThread();
return env->GetLongField(wrapped_obj, jPresentationTimeUs);
}
void BufferInfo::setPresentationTimeUs(int64_t a0) {
JNIEnv *env = GetJNIForThread();
env->SetLongField(wrapped_obj, jPresentationTimeUs, a0);
}
int32_t BufferInfo::getSize() {
JNIEnv *env = GetJNIForThread();
return env->GetIntField(wrapped_obj, jSize);
}
void BufferInfo::setSize(int32_t a0) {
JNIEnv *env = GetJNIForThread();
env->SetIntField(wrapped_obj, jSize, a0);
}
void InitSDKStubs(JNIEnv *jEnv) {
MediaCodec::InitStubs(jEnv);
MediaFormat::InitStubs(jEnv);
ByteBuffer::InitStubs(jEnv);
BufferInfo::InitStubs(jEnv);
}
} /* android */
} /* widget */
} /* mozilla */