diff options
author | Narayan Kamath <narayan@google.com> | 2013-12-20 16:16:52 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-12-20 16:16:53 +0000 |
commit | 52c430fc98ff1b8b9f683814587ee364d2be14c8 (patch) | |
tree | aaa4beda5d8082c7e231ce9ef9650fdb2fdf4a01 | |
parent | b51ed34abbb70994da221c545678d9dc5fe88141 (diff) | |
parent | ae710cd10213c0a89e9daea945f3efa9f90b188e (diff) | |
download | voip-52c430fc98ff1b8b9f683814587ee364d2be14c8.tar.gz |
Merge "AArch64: Use long for pointers"
-rw-r--r-- | src/java/android/net/rtp/AudioGroup.java | 16 | ||||
-rw-r--r-- | src/jni/rtp/AudioGroup.cpp | 26 |
2 files changed, 21 insertions, 21 deletions
diff --git a/src/java/android/net/rtp/AudioGroup.java b/src/java/android/net/rtp/AudioGroup.java index 8faeb88..30a664c 100644 --- a/src/java/android/net/rtp/AudioGroup.java +++ b/src/java/android/net/rtp/AudioGroup.java @@ -91,10 +91,10 @@ public class AudioGroup { private static final int MODE_LAST = 3; - private final Map<AudioStream, Integer> mStreams; + private final Map<AudioStream, Long> mStreams; private int mMode = MODE_ON_HOLD; - private int mNative; + private long mNative; static { System.loadLibrary("rtp_jni"); } @@ -103,7 +103,7 @@ public class AudioGroup { * Creates an empty AudioGroup. */ public AudioGroup() { - mStreams = new HashMap<AudioStream, Integer>(); + mStreams = new HashMap<AudioStream, Long>(); } /** @@ -149,7 +149,7 @@ public class AudioGroup { AudioCodec codec = stream.getCodec(); String codecSpec = String.format(Locale.US, "%d %s %s", codec.type, codec.rtpmap, codec.fmtp); - int id = nativeAdd(stream.getMode(), stream.getSocket(), + long id = nativeAdd(stream.getMode(), stream.getSocket(), stream.getRemoteAddress().getHostAddress(), stream.getRemotePort(), codecSpec, stream.getDtmfType()); mStreams.put(stream, id); @@ -159,18 +159,18 @@ public class AudioGroup { } } - private native int nativeAdd(int mode, int socket, String remoteAddress, + private native long nativeAdd(int mode, int socket, String remoteAddress, int remotePort, String codecSpec, int dtmfType); // Package-private method used by AudioStream.join(). synchronized void remove(AudioStream stream) { - Integer id = mStreams.remove(stream); + Long id = mStreams.remove(stream); if (id != null) { nativeRemove(id); } } - private native void nativeRemove(int id); + private native void nativeRemove(long id); /** * Sends a DTMF digit to every {@link AudioStream} in this group. Currently @@ -200,7 +200,7 @@ public class AudioGroup { @Override protected void finalize() throws Throwable { - nativeRemove(0); + nativeRemove(0L); super.finalize(); } } diff --git a/src/jni/rtp/AudioGroup.cpp b/src/jni/rtp/AudioGroup.cpp index 3f9e55e..691fcf4 100644 --- a/src/jni/rtp/AudioGroup.cpp +++ b/src/jni/rtp/AudioGroup.cpp @@ -936,7 +936,7 @@ exit: static jfieldID gNative; static jfieldID gMode; -int add(JNIEnv *env, jobject thiz, jint mode, +jlong add(JNIEnv *env, jobject thiz, jint mode, jint socket, jstring jRemoteAddress, jint remotePort, jstring jCodecSpec, jint dtmfType) { @@ -992,7 +992,7 @@ int add(JNIEnv *env, jobject thiz, jint mode, codec = NULL; // Create audio group. - group = (AudioGroup *)env->GetIntField(thiz, gNative); + group = (AudioGroup *)env->GetLongField(thiz, gNative); if (!group) { int mode = env->GetIntField(thiz, gMode); group = new AudioGroup; @@ -1011,32 +1011,32 @@ int add(JNIEnv *env, jobject thiz, jint mode, } // Succeed. - env->SetIntField(thiz, gNative, (int)group); - return (int)stream; + env->SetLongField(thiz, gNative, (jlong)group); + return (jlong)stream; error: delete group; delete stream; delete codec; close(socket); - env->SetIntField(thiz, gNative, 0); + env->SetLongField(thiz, gNative, 0); return 0; } -void remove(JNIEnv *env, jobject thiz, jint stream) +void remove(JNIEnv *env, jobject thiz, jlong stream) { - AudioGroup *group = (AudioGroup *)env->GetIntField(thiz, gNative); + AudioGroup *group = (AudioGroup *)env->GetLongField(thiz, gNative); if (group) { if (!stream || !group->remove((AudioStream *)stream)) { delete group; - env->SetIntField(thiz, gNative, 0); + env->SetLongField(thiz, gNative, 0); } } } void setMode(JNIEnv *env, jobject thiz, jint mode) { - AudioGroup *group = (AudioGroup *)env->GetIntField(thiz, gNative); + AudioGroup *group = (AudioGroup *)env->GetLongField(thiz, gNative); if (group && !group->setMode(mode)) { jniThrowException(env, "java/lang/IllegalArgumentException", NULL); } @@ -1044,15 +1044,15 @@ void setMode(JNIEnv *env, jobject thiz, jint mode) void sendDtmf(JNIEnv *env, jobject thiz, jint event) { - AudioGroup *group = (AudioGroup *)env->GetIntField(thiz, gNative); + AudioGroup *group = (AudioGroup *)env->GetLongField(thiz, gNative); if (group && !group->sendDtmf(event)) { jniThrowException(env, "java/lang/IllegalArgumentException", NULL); } } JNINativeMethod gMethods[] = { - {"nativeAdd", "(IILjava/lang/String;ILjava/lang/String;I)I", (void *)add}, - {"nativeRemove", "(I)V", (void *)remove}, + {"nativeAdd", "(IILjava/lang/String;ILjava/lang/String;I)J", (void *)add}, + {"nativeRemove", "(J)V", (void *)remove}, {"nativeSetMode", "(I)V", (void *)setMode}, {"nativeSendDtmf", "(I)V", (void *)sendDtmf}, }; @@ -1069,7 +1069,7 @@ int registerAudioGroup(JNIEnv *env) jclass clazz; if ((clazz = env->FindClass("android/net/rtp/AudioGroup")) == NULL || - (gNative = env->GetFieldID(clazz, "mNative", "I")) == NULL || + (gNative = env->GetFieldID(clazz, "mNative", "J")) == NULL || (gMode = env->GetFieldID(clazz, "mMode", "I")) == NULL || env->RegisterNatives(clazz, gMethods, NELEM(gMethods)) < 0) { ALOGE("JNI registration failed"); |