summaryrefslogtreecommitdiff
path: root/srec_jni
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-02-19 10:57:31 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-02-19 10:57:31 -0800
commit848d1df23e9a0c0d98cb45905355eee05ce3fa34 (patch)
tree638162846c83a4f495f081207abc34d55f13b4d1 /srec_jni
parent2f8ec03aa4809cec2b0944ca9bf1c7783e11b4ae (diff)
downloadsrec-848d1df23e9a0c0d98cb45905355eee05ce3fa34.tar.gz
auto import from //branches/cupcake/...@132276
Diffstat (limited to 'srec_jni')
-rw-r--r--srec_jni/android_speech_srec_MicrophoneInputStream.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/srec_jni/android_speech_srec_MicrophoneInputStream.cpp b/srec_jni/android_speech_srec_MicrophoneInputStream.cpp
index fdfdaed..6b0ac19 100644
--- a/srec_jni/android_speech_srec_MicrophoneInputStream.cpp
+++ b/srec_jni/android_speech_srec_MicrophoneInputStream.cpp
@@ -59,27 +59,29 @@ static JNIEXPORT jint JNICALL Java_android_speech_srec_Recognizer_AudioRecordNew
android::AudioSystem::PCM_16_BIT, 1,
fifoFrames, 0);
if (ar == NULL) {
- throwException(env, "java/lang/IllegalArgumentException",
- "new AudioRecord::AudioRecord() failed", 0);
+ LOGE("Error creating AudioRecord");
}
- else if (int rtn = ar->initCheck()) {
- delete ar;
- ar = NULL;
- throwException(env, "java/lang/IllegalStateException",
- "AudioRecord::initCheck() failed - another instance open?", rtn);
+ else {
+ status_t s = ar->initCheck();
+ if (s != NO_ERROR) {
+ delete ar;
+ ar = NULL;
+ LOGE("initCheck error %d ", s);
+ }
}
+ LOGV("new AudioRecord(%p)", ar);
return (int)ar;
}
-static JNIEXPORT void JNICALL Java_android_speech_srec_Recognizer_AudioRecordStart
+static JNIEXPORT int JNICALL Java_android_speech_srec_Recognizer_AudioRecordStart
(JNIEnv *env, jclass clazz, jint audioRecord) {
- if (int rtn = ((AudioRecord*)audioRecord)->start()) {
- throwException(env, "java/lang/IllegalStateException", "AudioRecord::start failed %d", rtn);
- }
+ LOGV("start = 0x%x", audioRecord);
+ return (int)(((AudioRecord*)audioRecord)->start());
}
static JNIEXPORT jint JNICALL Java_android_speech_srec_Recognizer_AudioRecordRead
(JNIEnv *env, jclass clazz, jint audioRecord, jbyteArray array, jint offset, jint length) {
+ LOGV("read(0x%x)", audioRecord);
jbyte buffer[4096];
if (length > (int)sizeof(buffer)) length = sizeof(buffer);
length = ((AudioRecord*)audioRecord)->read(buffer, length);
@@ -93,13 +95,15 @@ static JNIEXPORT jint JNICALL Java_android_speech_srec_Recognizer_AudioRecordRea
static JNIEXPORT void JNICALL Java_android_speech_srec_Recognizer_AudioRecordStop
(JNIEnv *env, jclass clazz, jint audioRecord) {
+ LOGV("stop(0x%x)", audioRecord);
if (int rtn = ((AudioRecord*)audioRecord)->stop()) {
- throwException(env, "java/lang/IllegalStateException", "AudioRecord::stop failed %d", rtn);
+ throwException(env, "java/io/IOException", "AudioRecord::stop failed %d", rtn);
}
}
static JNIEXPORT void JNICALL Java_android_speech_srec_Recognizer_AudioRecordDelete
(JNIEnv *env, jclass clazz, jint audioRecord) {
+ LOGV("delete(0x%x)", audioRecord);
delete (AudioRecord*)audioRecord;
}
@@ -110,7 +114,7 @@ static JNIEXPORT void JNICALL Java_android_speech_srec_Recognizer_AudioRecordDel
static JNINativeMethod gMethods[] = {
/* name, signature, funcPtr */
{"AudioRecordNew", "(II)I", (void*)Java_android_speech_srec_Recognizer_AudioRecordNew},
- {"AudioRecordStart", "(I)V", (void*)Java_android_speech_srec_Recognizer_AudioRecordStart},
+ {"AudioRecordStart", "(I)I", (void*)Java_android_speech_srec_Recognizer_AudioRecordStart},
{"AudioRecordRead", "(I[BII)I", (void*)Java_android_speech_srec_Recognizer_AudioRecordRead},
{"AudioRecordStop", "(I)V", (void*)Java_android_speech_srec_Recognizer_AudioRecordStop},
{"AudioRecordDelete", "(I)V", (void*)Java_android_speech_srec_Recognizer_AudioRecordDelete},