Index: media/base/android/MediaCodec_jni.h |
diff --git a/media/base/android/MediaCodec_jni.h b/media/base/android/MediaCodec_jni.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a1e1bbf90251531812bd9381d8cc826d1f60a9e4 |
--- /dev/null |
+++ b/media/base/android/MediaCodec_jni.h |
@@ -0,0 +1,523 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// 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 |
Ami GONE FROM CHROMIUM
2013/01/23 01:32:32
Is this in fact an unmodified copy of that generat
dwkang1
2013/01/28 14:54:30
You shouldn't. =)
|
+// base/android/jni_generator/jni_generator.py |
+// For |
+// android/media/MediaCodec |
Ami GONE FROM CHROMIUM
2013/01/23 01:32:32
You plan to solve the autogen problem before landi
dwkang1
2013/01/28 14:54:30
Fixed the bug in jni_generator.
https://codereview
|
+ |
+#ifndef android_media_MediaCodec_JNI |
+#define android_media_MediaCodec_JNI |
+ |
+#include <jni.h> |
+ |
+#include "base/android/jni_android.h" |
+#include "base/android/scoped_java_ref.h" |
+#include "base/basictypes.h" |
+#include "base/logging.h" |
+ |
+using base::android::ScopedJavaLocalRef; |
+ |
+// Step 1: forward declarations. |
+namespace { |
+const char kMediaCodecClassPath[] = "android/media/MediaCodec"; |
+// Leaking this jclass as we cannot use LazyInstance from some threads. |
+jclass g_MediaCodec_clazz = NULL; |
+} // namespace |
+ |
+namespace JNI_MediaCodec { |
+ |
+// Step 2: method stubs. |
+ |
+static base::subtle::AtomicWord g_MediaCodec_createDecoderByType = 0; |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_createDecoderByType(JNIEnv* |
+ env, jstring p0) __attribute__ ((unused)); |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_createDecoderByType(JNIEnv* |
+ env, jstring p0) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_STATIC>( |
+ env, g_MediaCodec_clazz, |
+ "createDecoderByType", |
+ |
+"(" |
+"Ljava/lang/String;" |
+")" |
+"Landroid/media/MediaCodec;", |
+ &g_MediaCodec_createDecoderByType); |
+ |
+ jobject ret = |
+ env->CallStaticObjectMethod(g_MediaCodec_clazz, |
+ method_id, p0); |
+ base::android::CheckException(env); |
+ return ScopedJavaLocalRef<jobject>(env, ret); |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_createEncoderByType = 0; |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_createEncoderByType(JNIEnv* |
+ env, jstring p0) __attribute__ ((unused)); |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_createEncoderByType(JNIEnv* |
+ env, jstring p0) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_STATIC>( |
+ env, g_MediaCodec_clazz, |
+ "createEncoderByType", |
+ |
+"(" |
+"Ljava/lang/String;" |
+")" |
+"Landroid/media/MediaCodec;", |
+ &g_MediaCodec_createEncoderByType); |
+ |
+ jobject ret = |
+ env->CallStaticObjectMethod(g_MediaCodec_clazz, |
+ method_id, p0); |
+ base::android::CheckException(env); |
+ return ScopedJavaLocalRef<jobject>(env, ret); |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_createByCodecName = 0; |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_createByCodecName(JNIEnv* |
+ env, jstring p0) __attribute__ ((unused)); |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_createByCodecName(JNIEnv* |
+ env, jstring p0) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_STATIC>( |
+ env, g_MediaCodec_clazz, |
+ "createByCodecName", |
+ |
+"(" |
+"Ljava/lang/String;" |
+")" |
+"Landroid/media/MediaCodec;", |
+ &g_MediaCodec_createByCodecName); |
+ |
+ jobject ret = |
+ env->CallStaticObjectMethod(g_MediaCodec_clazz, |
+ method_id, p0); |
+ base::android::CheckException(env); |
+ return ScopedJavaLocalRef<jobject>(env, ret); |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_finalize = 0; |
+static void Java_MediaCodec_finalize(JNIEnv* env, jobject obj) __attribute__ |
+ ((unused)); |
+static void Java_MediaCodec_finalize(JNIEnv* env, jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "finalize", |
+ |
+"(" |
+")" |
+"V", |
+ &g_MediaCodec_finalize); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_release = 0; |
+static void Java_MediaCodec_release(JNIEnv* env, jobject obj) __attribute__ |
+ ((unused)); |
+static void Java_MediaCodec_release(JNIEnv* env, jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "release", |
+ |
+"(" |
+")" |
+"V", |
+ &g_MediaCodec_release); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_configure = 0; |
+static void Java_MediaCodec_configure(JNIEnv* env, jobject obj, jobject p0, |
+ jobject p1, |
+ jobject p2, |
+ jint p3) __attribute__ ((unused)); |
+static void Java_MediaCodec_configure(JNIEnv* env, jobject obj, jobject p0, |
+ jobject p1, |
+ jobject p2, |
+ jint p3) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "configure", |
+ |
+"(" |
+"Landroid/media/MediaFormat;" |
+"Landroid/view/Surface;" |
+"Landroid/media/MediaCrypto;" |
+"I" |
+")" |
+"V", |
+ &g_MediaCodec_configure); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id, p0, p1, p2, p3); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_start = 0; |
+static void Java_MediaCodec_start(JNIEnv* env, jobject obj) __attribute__ |
+ ((unused)); |
+static void Java_MediaCodec_start(JNIEnv* env, jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "start", |
+ |
+"(" |
+")" |
+"V", |
+ &g_MediaCodec_start); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_stop = 0; |
+static void Java_MediaCodec_stop(JNIEnv* env, jobject obj) __attribute__ |
+ ((unused)); |
+static void Java_MediaCodec_stop(JNIEnv* env, jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "stop", |
+ |
+"(" |
+")" |
+"V", |
+ &g_MediaCodec_stop); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_flush = 0; |
+static void Java_MediaCodec_flush(JNIEnv* env, jobject obj) __attribute__ |
+ ((unused)); |
+static void Java_MediaCodec_flush(JNIEnv* env, jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "flush", |
+ |
+"(" |
+")" |
+"V", |
+ &g_MediaCodec_flush); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_queueInputBuffer = 0; |
+static void Java_MediaCodec_queueInputBuffer(JNIEnv* env, jobject obj, jint p0, |
+ jint p1, |
+ jint p2, |
+ jlong p3, |
+ jint p4) __attribute__ ((unused)); |
+static void Java_MediaCodec_queueInputBuffer(JNIEnv* env, jobject obj, jint p0, |
+ jint p1, |
+ jint p2, |
+ jlong p3, |
+ jint p4) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "queueInputBuffer", |
+ |
+"(" |
+"I" |
+"I" |
+"I" |
+"J" |
+"I" |
+")" |
+"V", |
+ &g_MediaCodec_queueInputBuffer); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id, p0, p1, p2, p3, p4); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_queueSecureInputBuffer = 0; |
+static void Java_MediaCodec_queueSecureInputBuffer(JNIEnv* env, jobject obj, |
+ jint p0, |
+ jint p1, |
+ jobject p2, |
+ jlong p3, |
+ jint p4) __attribute__ ((unused)); |
+static void Java_MediaCodec_queueSecureInputBuffer(JNIEnv* env, jobject obj, |
+ jint p0, |
+ jint p1, |
+ jobject p2, |
+ jlong p3, |
+ jint p4) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "queueSecureInputBuffer", |
+ |
+"(" |
+"I" |
+"I" |
+"Landroid/media/MediaCodec$CryptoInfo;" |
+"J" |
+"I" |
+")" |
+"V", |
+ &g_MediaCodec_queueSecureInputBuffer); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id, p0, p1, p2, p3, p4); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_dequeueInputBuffer = 0; |
+static jint Java_MediaCodec_dequeueInputBuffer(JNIEnv* env, jobject obj, jlong |
+ p0) __attribute__ ((unused)); |
+static jint Java_MediaCodec_dequeueInputBuffer(JNIEnv* env, jobject obj, jlong |
+ p0) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "dequeueInputBuffer", |
+ |
+"(" |
+"J" |
+")" |
+"I", |
+ &g_MediaCodec_dequeueInputBuffer); |
+ |
+ jint ret = |
+ env->CallIntMethod(obj, |
+ method_id, p0); |
+ base::android::CheckException(env); |
+ return ret; |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_dequeueOutputBuffer = 0; |
+static jint Java_MediaCodec_dequeueOutputBuffer(JNIEnv* env, jobject obj, |
+ jobject p0, |
+ jlong p1) __attribute__ ((unused)); |
+static jint Java_MediaCodec_dequeueOutputBuffer(JNIEnv* env, jobject obj, |
+ jobject p0, |
+ jlong p1) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "dequeueOutputBuffer", |
+ |
+"(" |
+"Landroid/media/MediaCodec$BufferInfo;" |
+"J" |
+")" |
+"I", |
+ &g_MediaCodec_dequeueOutputBuffer); |
+ |
+ jint ret = |
+ env->CallIntMethod(obj, |
+ method_id, p0, p1); |
+ base::android::CheckException(env); |
+ return ret; |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_releaseOutputBuffer = 0; |
+static void Java_MediaCodec_releaseOutputBuffer(JNIEnv* env, jobject obj, jint |
+ p0, |
+ jboolean p1) __attribute__ ((unused)); |
+static void Java_MediaCodec_releaseOutputBuffer(JNIEnv* env, jobject obj, jint |
+ p0, |
+ jboolean p1) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "releaseOutputBuffer", |
+ |
+"(" |
+"I" |
+"Z" |
+")" |
+"V", |
+ &g_MediaCodec_releaseOutputBuffer); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id, p0, p1); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_getOutputFormat = 0; |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_getOutputFormat(JNIEnv* env, |
+ jobject obj) __attribute__ ((unused)); |
+static ScopedJavaLocalRef<jobject> Java_MediaCodec_getOutputFormat(JNIEnv* env, |
+ jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "getOutputFormat", |
+ |
+"(" |
+")" |
+"Landroid/media/MediaFormat;", |
+ &g_MediaCodec_getOutputFormat); |
+ |
+ jobject ret = |
+ env->CallObjectMethod(obj, |
+ method_id); |
+ base::android::CheckException(env); |
+ return ScopedJavaLocalRef<jobject>(env, ret); |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_getInputBuffers = 0; |
+static ScopedJavaLocalRef<jobjectArray> Java_MediaCodec_getInputBuffers(JNIEnv* |
+ env, jobject obj) __attribute__ ((unused)); |
+static ScopedJavaLocalRef<jobjectArray> Java_MediaCodec_getInputBuffers(JNIEnv* |
+ env, jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "getInputBuffers", |
+ |
+"(" |
+")" |
+"[Ljava/nio/ByteBuffer;", |
+ &g_MediaCodec_getInputBuffers); |
+ |
+ jobjectArray ret = |
+ static_cast<jobjectArray>(env->CallObjectMethod(obj, |
+ method_id)); |
+ base::android::CheckException(env); |
+ return ScopedJavaLocalRef<jobjectArray>(env, ret); |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_getOutputBuffers = 0; |
+static ScopedJavaLocalRef<jobjectArray> Java_MediaCodec_getOutputBuffers(JNIEnv* |
+ env, jobject obj) __attribute__ ((unused)); |
+static ScopedJavaLocalRef<jobjectArray> Java_MediaCodec_getOutputBuffers(JNIEnv* |
+ env, jobject obj) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "getOutputBuffers", |
+ |
+"(" |
+")" |
+"[Ljava/nio/ByteBuffer;", |
+ &g_MediaCodec_getOutputBuffers); |
+ |
+ jobjectArray ret = |
+ static_cast<jobjectArray>(env->CallObjectMethod(obj, |
+ method_id)); |
+ base::android::CheckException(env); |
+ return ScopedJavaLocalRef<jobjectArray>(env, ret); |
+} |
+ |
+static base::subtle::AtomicWord g_MediaCodec_setVideoScalingMode = 0; |
+static void Java_MediaCodec_setVideoScalingMode(JNIEnv* env, jobject obj, jint |
+ p0) __attribute__ ((unused)); |
+static void Java_MediaCodec_setVideoScalingMode(JNIEnv* env, jobject obj, jint |
+ p0) { |
+ /* Must call RegisterNativesImpl() */ |
+ DCHECK(g_MediaCodec_clazz); |
+ jmethodID method_id = |
+ base::android::MethodID::LazyGet< |
+ base::android::MethodID::TYPE_INSTANCE>( |
+ env, g_MediaCodec_clazz, |
+ "setVideoScalingMode", |
+ |
+"(" |
+"I" |
+")" |
+"V", |
+ &g_MediaCodec_setVideoScalingMode); |
+ |
+ env->CallVoidMethod(obj, |
+ method_id, p0); |
+ base::android::CheckException(env); |
+ |
+} |
+ |
+// Step 3: RegisterNatives. |
+ |
+static bool RegisterNativesImpl(JNIEnv* env) { |
+ |
+ g_MediaCodec_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( |
+ base::android::GetUnscopedClass(env, kMediaCodecClassPath))); |
+ return true; |
+} |
+} // namespace JNI_MediaCodec |
+ |
+#endif // android_media_MediaCodec_JNI |