summaryrefslogtreecommitdiffstats
path: root/media/jni/soundpool
diff options
context:
space:
mode:
authorDave Sparks <davidsparks@android.com>2009-12-23 17:19:22 -0800
committerDave Sparks <davidsparks@android.com>2009-12-23 17:22:57 -0800
commit3c56221af7160355f5265bc2dc14322636d945fc (patch)
treeefb306f860aa84dac83451f523b85dda2c756ea6 /media/jni/soundpool
parent2ce9a190449bf495edcf2931bf172d1e1dcb94b5 (diff)
downloadframeworks_base-3c56221af7160355f5265bc2dc14322636d945fc.zip
frameworks_base-3c56221af7160355f5265bc2dc14322636d945fc.tar.gz
frameworks_base-3c56221af7160355f5265bc2dc14322636d945fc.tar.bz2
Fix SoundPool restart problem CheckJNI issue.
Diffstat (limited to 'media/jni/soundpool')
-rw-r--r--media/jni/soundpool/android_media_SoundPool.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/media/jni/soundpool/android_media_SoundPool.cpp b/media/jni/soundpool/android_media_SoundPool.cpp
index f6ea916..f0677a6 100644
--- a/media/jni/soundpool/android_media_SoundPool.cpp
+++ b/media/jni/soundpool/android_media_SoundPool.cpp
@@ -283,9 +283,13 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved)
"(Ljava/lang/Object;IIILjava/lang/Object;)V");
if (fields.mPostEvent == NULL) {
LOGE("Can't find android/media/SoundPool.postEventFromNative");
- return -1;
+ goto bail;
}
+ // create a reference to class. Technically, we're leaking this reference
+ // since it's a static object.
+ fields.mSoundPoolClass = (jclass) env->NewGlobalRef(clazz);
+
if (AndroidRuntime::registerNativeMethods(env, kClassPathName, gMethods, NELEM(gMethods)) < 0)
goto bail;