summaryrefslogtreecommitdiffstats
path: root/media/jni/android_media_ResampleInputStream.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2011-04-08 17:42:34 -0700
committerElliott Hughes <enh@google.com>2011-04-08 17:42:34 -0700
commit15dd15fd572df6b6f785dff75f66e9b99f40322a (patch)
tree101754d3ee5b9903fbe513b308646c8eaccab8af /media/jni/android_media_ResampleInputStream.cpp
parent6cab9a6e3fc660ca9c2b32e01f86c71da222c181 (diff)
downloadframeworks_base-15dd15fd572df6b6f785dff75f66e9b99f40322a.zip
frameworks_base-15dd15fd572df6b6f785dff75f66e9b99f40322a.tar.gz
frameworks_base-15dd15fd572df6b6f785dff75f66e9b99f40322a.tar.bz2
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.cpp23
1 files changed, 4 insertions, 19 deletions
diff --git a/media/jni/android_media_ResampleInputStream.cpp b/media/jni/android_media_ResampleInputStream.cpp
index d965d9a..d5a4a17 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));
}
-
-