From 656fd0402613cec0196d5e2ae0a460d044d2805b Mon Sep 17 00:00:00 2001 From: Ashok Bhat Date: Thu, 28 Nov 2013 10:56:06 +0000 Subject: AArch64: Use long for pointers in MediaDrm and MediaMuxer For storing pointers, long is used in MediaDrm and MediaMuxer classes, as native pointers can be 64-bit. Change-Id: I77f26cde627baf0dce70b6aa3a4dbd974051d9a6 Signed-off-by: Ashok Bhat --- media/jni/android_media_MediaDrm.cpp | 6 +++--- media/jni/android_media_MediaMuxer.cpp | 30 +++++++++++++++--------------- 2 files changed, 18 insertions(+), 18 deletions(-) (limited to 'media/jni') diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp index bbb74d2..6d90ccb 100644 --- a/media/jni/android_media_MediaDrm.cpp +++ b/media/jni/android_media_MediaDrm.cpp @@ -267,7 +267,7 @@ static bool throwExceptionAsNecessary( } static sp GetDrm(JNIEnv *env, jobject thiz) { - JDrm *jdrm = (JDrm *)env->GetIntField(thiz, gFields.context); + JDrm *jdrm = (JDrm *)env->GetLongField(thiz, gFields.context); return jdrm ? jdrm->getDrm() : NULL; } @@ -484,7 +484,7 @@ using namespace android; static sp setDrm( JNIEnv *env, jobject thiz, const sp &drm) { - sp old = (JDrm *)env->GetIntField(thiz, gFields.context); + sp old = (JDrm *)env->GetLongField(thiz, gFields.context); if (drm != NULL) { drm->incStrong(thiz); } @@ -520,7 +520,7 @@ static void android_media_MediaDrm_release(JNIEnv *env, jobject thiz) { static void android_media_MediaDrm_native_init(JNIEnv *env) { jclass clazz; FIND_CLASS(clazz, "android/media/MediaDrm"); - GET_FIELD_ID(gFields.context, clazz, "mNativeContext", "I"); + GET_FIELD_ID(gFields.context, clazz, "mNativeContext", "J"); GET_STATIC_METHOD_ID(gFields.post_event, clazz, "postEventFromNative", "(Ljava/lang/Object;IILjava/lang/Object;)V"); diff --git a/media/jni/android_media_MediaMuxer.cpp b/media/jni/android_media_MediaMuxer.cpp index 457b956..c58503b 100644 --- a/media/jni/android_media_MediaMuxer.cpp +++ b/media/jni/android_media_MediaMuxer.cpp @@ -42,7 +42,7 @@ static fields_t gFields; using namespace android; static jint android_media_MediaMuxer_addTrack( - JNIEnv *env, jclass clazz, jint nativeObject, jobjectArray keys, + JNIEnv *env, jclass clazz, jlong nativeObject, jobjectArray keys, jobjectArray values) { sp muxer(reinterpret_cast(nativeObject)); if (muxer == NULL) { @@ -72,7 +72,7 @@ static jint android_media_MediaMuxer_addTrack( } static void android_media_MediaMuxer_writeSampleData( - JNIEnv *env, jclass clazz, jint nativeObject, jint trackIndex, + JNIEnv *env, jclass clazz, jlong nativeObject, jint trackIndex, jobject byteBuf, jint offset, jint size, jlong timeUs, jint flags) { sp muxer(reinterpret_cast(nativeObject)); if (muxer == NULL) { @@ -147,7 +147,7 @@ static jint android_media_MediaMuxer_native_setup( } static void android_media_MediaMuxer_setOrientationHint( - JNIEnv *env, jclass clazz, jint nativeObject, jint degrees) { + JNIEnv *env, jclass clazz, jlong nativeObject, jint degrees) { sp muxer(reinterpret_cast(nativeObject)); if (muxer == NULL) { jniThrowException(env, "java/lang/IllegalStateException", @@ -177,7 +177,7 @@ static void android_media_MediaMuxer_setLocation( } static void android_media_MediaMuxer_start(JNIEnv *env, jclass clazz, - jint nativeObject) { + jlong nativeObject) { sp muxer(reinterpret_cast(nativeObject)); if (muxer == NULL) { jniThrowException(env, "java/lang/IllegalStateException", @@ -195,7 +195,7 @@ static void android_media_MediaMuxer_start(JNIEnv *env, jclass clazz, } static void android_media_MediaMuxer_stop(JNIEnv *env, jclass clazz, - jint nativeObject) { + jlong nativeObject) { sp muxer(reinterpret_cast(nativeObject)); if (muxer == NULL) { jniThrowException(env, "java/lang/IllegalStateException", @@ -213,7 +213,7 @@ static void android_media_MediaMuxer_stop(JNIEnv *env, jclass clazz, } static void android_media_MediaMuxer_native_release( - JNIEnv *env, jclass clazz, jint nativeObject) { + JNIEnv *env, jclass clazz, jlong nativeObject) { sp muxer(reinterpret_cast(nativeObject)); if (muxer != NULL) { muxer->decStrong(clazz); @@ -222,26 +222,26 @@ static void android_media_MediaMuxer_native_release( static JNINativeMethod gMethods[] = { - { "nativeAddTrack", "(I[Ljava/lang/String;[Ljava/lang/Object;)I", + { "nativeAddTrack", "(J[Ljava/lang/String;[Ljava/lang/Object;)I", (void *)android_media_MediaMuxer_addTrack }, - { "nativeSetOrientationHint", "(II)V", + { "nativeSetOrientationHint", "(JI)V", (void *)android_media_MediaMuxer_setOrientationHint}, - { "nativeSetLocation", "(III)V", + { "nativeSetLocation", "(JII)V", (void *)android_media_MediaMuxer_setLocation}, - { "nativeStart", "(I)V", (void *)android_media_MediaMuxer_start}, + { "nativeStart", "(J)V", (void *)android_media_MediaMuxer_start}, - { "nativeWriteSampleData", "(IILjava/nio/ByteBuffer;IIJI)V", + { "nativeWriteSampleData", "(JILjava/nio/ByteBuffer;IIJI)V", (void *)android_media_MediaMuxer_writeSampleData }, - { "nativeStop", "(I)V", (void *)android_media_MediaMuxer_stop}, + { "nativeStop", "(J)V", (void *)android_media_MediaMuxer_stop}, - { "nativeSetup", "(Ljava/io/FileDescriptor;I)I", + { "nativeSetup", "(Ljava/io/FileDescriptor;I)J", (void *)android_media_MediaMuxer_native_setup }, - { "nativeRelease", "(I)V", + { "nativeRelease", "(J)V", (void *)android_media_MediaMuxer_native_release }, }; @@ -255,7 +255,7 @@ int register_android_media_MediaMuxer(JNIEnv *env) { jclass clazz = env->FindClass("android/media/MediaMuxer"); CHECK(clazz != NULL); - gFields.context = env->GetFieldID(clazz, "mNativeContext", "I"); + gFields.context = env->GetFieldID(clazz, "mNativeContext", "J"); CHECK(gFields.context != NULL); jclass byteBufClass = env->FindClass("java/nio/ByteBuffer"); -- cgit v1.1