diff options
author | Eric Laurent <elaurent@google.com> | 2012-03-29 15:19:36 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2012-03-29 19:48:40 -0700 |
commit | 505e5c8859f596ed58489be565d6e029314b2ac8 (patch) | |
tree | d65193ee590857873a384437f7ee2cf6032e8467 /core/jni/android_media_AudioRecord.cpp | |
parent | f31af709159e180d392fd32efb96a026e998e76a (diff) | |
download | frameworks_base-505e5c8859f596ed58489be565d6e029314b2ac8.zip frameworks_base-505e5c8859f596ed58489be565d6e029314b2ac8.tar.gz frameworks_base-505e5c8859f596ed58489be565d6e029314b2ac8.tar.bz2 |
implemented synchronous audio capture
Added the infrastructure to support the synchronization of playback and
capture actions on specific events.
The first requirement for this feature is to synchronize the audio capture
start with the full rendering of a given audio content.
The applications can further be extended to other use cases
(synchronized playback start...) by adding new synchronization events and
new synchronous control methods on player or recorders.
Also added a method to query the audio session from a ToneGenerator.
Change-Id: I4e47f5108c7cbbd3bd334a7fad9b3b6c5ba55d88
Diffstat (limited to 'core/jni/android_media_AudioRecord.cpp')
-rw-r--r-- | core/jni/android_media_AudioRecord.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/jni/android_media_AudioRecord.cpp b/core/jni/android_media_AudioRecord.cpp index 480c3a6..2fe0b9e 100644 --- a/core/jni/android_media_AudioRecord.cpp +++ b/core/jni/android_media_AudioRecord.cpp @@ -254,7 +254,7 @@ native_track_failure: // ---------------------------------------------------------------------------- static int -android_media_AudioRecord_start(JNIEnv *env, jobject thiz) +android_media_AudioRecord_start(JNIEnv *env, jobject thiz, jint event, jint triggerSession) { AudioRecord *lpRecorder = (AudioRecord *)env->GetIntField(thiz, javaAudioRecordFields.nativeRecorderInJavaObj); @@ -263,7 +263,8 @@ android_media_AudioRecord_start(JNIEnv *env, jobject thiz) return AUDIORECORD_ERROR; } - return android_media_translateRecorderErrorCode(lpRecorder->start()); + return android_media_translateRecorderErrorCode( + lpRecorder->start((AudioSystem::sync_event_t)event, triggerSession)); } @@ -508,7 +509,7 @@ static jint android_media_AudioRecord_get_min_buff_size(JNIEnv *env, jobject th // ---------------------------------------------------------------------------- static JNINativeMethod gMethods[] = { // name, signature, funcPtr - {"native_start", "()I", (void *)android_media_AudioRecord_start}, + {"native_start", "(II)I", (void *)android_media_AudioRecord_start}, {"native_stop", "()V", (void *)android_media_AudioRecord_stop}, {"native_setup", "(Ljava/lang/Object;IIIII[I)I", (void *)android_media_AudioRecord_setup}, |