summaryrefslogtreecommitdiffstats
path: root/core/jni/android_media_AudioRecord.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2012-03-29 15:19:36 -0700
committerEric Laurent <elaurent@google.com>2012-03-29 19:48:40 -0700
commit505e5c8859f596ed58489be565d6e029314b2ac8 (patch)
treed65193ee590857873a384437f7ee2cf6032e8467 /core/jni/android_media_AudioRecord.cpp
parentf31af709159e180d392fd32efb96a026e998e76a (diff)
downloadframeworks_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.cpp7
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},