diff options
author | Elliott Hughes <enh@google.com> | 2011-04-08 17:42:34 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2011-04-08 17:42:34 -0700 |
commit | 15dd15fd572df6b6f785dff75f66e9b99f40322a (patch) | |
tree | 101754d3ee5b9903fbe513b308646c8eaccab8af /media/jni/android_media_ResampleInputStream.cpp | |
parent | 6cab9a6e3fc660ca9c2b32e01f86c71da222c181 (diff) |
Tidy up exception throwing in the media native code.
(I'm going through all of frameworks/base in multiple passes. This pass is just
for exception throwing.)
Change-Id: Ia14a5c720edae86ac780023be88e676aa1b3315d
Diffstat (limited to 'media/jni/android_media_ResampleInputStream.cpp')
-rw-r--r-- | media/jni/android_media_ResampleInputStream.cpp | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/media/jni/android_media_ResampleInputStream.cpp b/media/jni/android_media_ResampleInputStream.cpp index d965d9a9a4e4..d5a4a1795d71 100644 --- a/media/jni/android_media_ResampleInputStream.cpp +++ b/media/jni/android_media_ResampleInputStream.cpp @@ -36,19 +36,6 @@ using namespace android; -// -// helper function to throw an exception -// -static void throwException(JNIEnv *env, const char* ex, const char* fmt, int data) { - if (jclass cls = env->FindClass(ex)) { - char msg[1000]; - sprintf(msg, fmt, data); - env->ThrowNew(cls, msg); - env->DeleteLocalRef(cls); - } -} - - #define FIR_COEF(coef) (short)(0x10000 * coef) static const short fir21[] = { FIR_COEF(-0.006965742326), @@ -90,18 +77,18 @@ static void android_media_ResampleInputStream_fir21(JNIEnv *env, jclass clazz, jbyteArray jIn, jint jInOffset, jbyteArray jOut, jint jOutOffset, jint jNpoints) { - + // safety first! if (nFir21 + jNpoints * 2 > BUF_SIZE) { - throwException(env, "java/lang/IllegalArgumentException", + jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException", "FIR+data too long %d", nFir21 + jNpoints); return; } - + // get input data short in[BUF_SIZE]; env->GetByteArrayRegion(jIn, jInOffset, (jNpoints * 2 + nFir21 - 1) * 2, (jbyte*)in); - + // compute filter short out[BUF_SIZE]; for (int i = 0; i < jNpoints; i++) { @@ -132,5 +119,3 @@ int register_android_media_ResampleInputStream(JNIEnv *env) return AndroidRuntime::registerNativeMethods(env, kClassPathName, gMethods, NELEM(gMethods)); } - - |