From d5d742e3b6f84ca5e33257ce5d1fd4bcb32f7a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Tue, 2 Feb 2016 15:34:48 -0500 Subject: [PATCH] android/opensl: set record device stream type Set the recording preset to VOICE_COMMUNICATION. Change-Id: Idfa34a8b1470ae6d4a6069a8f80d922c4710d593 Tuleap: #262 --- src/media/audio/opensl/audio_recorder.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/media/audio/opensl/audio_recorder.cpp b/src/media/audio/opensl/audio_recorder.cpp index 52ea660327..635d4c262a 100644 --- a/src/media/audio/opensl/audio_recorder.cpp +++ b/src/media/audio/opensl/audio_recorder.cpp @@ -72,16 +72,21 @@ AudioRecorder::AudioRecorder(ring::AudioFormat sampleFormat, SLEngineItf slEngin // create audio recorder // (requires the RECORD_AUDIO permission) - const SLInterfaceID id[1] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE}; + const SLInterfaceID ids[2] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE, SL_IID_ANDROIDCONFIGURATION}; const SLboolean req[1] = {SL_BOOLEAN_TRUE}; SLresult result; result = (*slEngine)->CreateAudioRecorder(slEngine, &recObjectItf_, &audioSrc, &audioSnk, - 1, id, req); + sizeof(ids)/sizeof(ids[0]), ids, req); SLASSERT(result); + SLAndroidConfigurationItf recordConfig; + SLint32 streamType = SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION; + result = (*recObjectItf_)->GetInterface(recObjectItf_, SL_IID_ANDROIDCONFIGURATION, &recordConfig); + result = (*recordConfig)->SetConfiguration(recordConfig, SL_ANDROID_KEY_RECORDING_PRESET, &streamType, sizeof(SLint32)); + result = (*recObjectItf_)->Realize(recObjectItf_, SL_BOOLEAN_FALSE); SLASSERT(result); result = (*recObjectItf_)->GetInterface(recObjectItf_, SL_IID_RECORD, &recItf_); -- GitLab