1*bebae9c0SAndroid Build Coastguard Worker /* 2*bebae9c0SAndroid Build Coastguard Worker * Copyright (C) 2010 The Android Open Source Project 3*bebae9c0SAndroid Build Coastguard Worker * 4*bebae9c0SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*bebae9c0SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*bebae9c0SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*bebae9c0SAndroid Build Coastguard Worker * 8*bebae9c0SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*bebae9c0SAndroid Build Coastguard Worker * 10*bebae9c0SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*bebae9c0SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*bebae9c0SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*bebae9c0SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*bebae9c0SAndroid Build Coastguard Worker * limitations under the License. 15*bebae9c0SAndroid Build Coastguard Worker */ 16*bebae9c0SAndroid Build Coastguard Worker 17*bebae9c0SAndroid Build Coastguard Worker #ifndef OPENSL_ES_ANDROIDCONFIGURATION_H_ 18*bebae9c0SAndroid Build Coastguard Worker #define OPENSL_ES_ANDROIDCONFIGURATION_H_ 19*bebae9c0SAndroid Build Coastguard Worker 20*bebae9c0SAndroid Build Coastguard Worker #ifdef __cplusplus 21*bebae9c0SAndroid Build Coastguard Worker extern "C" { 22*bebae9c0SAndroid Build Coastguard Worker #endif 23*bebae9c0SAndroid Build Coastguard Worker 24*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 25*bebae9c0SAndroid Build Coastguard Worker /* Android AudioRecorder configuration */ 26*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 27*bebae9c0SAndroid Build Coastguard Worker 28*bebae9c0SAndroid Build Coastguard Worker /** Audio recording preset */ 29*bebae9c0SAndroid Build Coastguard Worker /** Audio recording preset key */ 30*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_KEY_RECORDING_PRESET ((const SLchar*) "androidRecordingPreset") 31*bebae9c0SAndroid Build Coastguard Worker /** Audio recording preset values */ 32*bebae9c0SAndroid Build Coastguard Worker /** preset "none" cannot be set, it is used to indicate the current settings 33*bebae9c0SAndroid Build Coastguard Worker * do not match any of the presets. */ 34*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_RECORDING_PRESET_NONE ((SLuint32) 0x00000000) 35*bebae9c0SAndroid Build Coastguard Worker /** generic recording configuration on the platform */ 36*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_RECORDING_PRESET_GENERIC ((SLuint32) 0x00000001) 37*bebae9c0SAndroid Build Coastguard Worker /** uses the microphone audio source with the same orientation as the camera 38*bebae9c0SAndroid Build Coastguard Worker * if available, the main device microphone otherwise */ 39*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_RECORDING_PRESET_CAMCORDER ((SLuint32) 0x00000002) 40*bebae9c0SAndroid Build Coastguard Worker /** uses the main microphone tuned for voice recognition */ 41*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION ((SLuint32) 0x00000003) 42*bebae9c0SAndroid Build Coastguard Worker /** uses the main microphone tuned for audio communications */ 43*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION ((SLuint32) 0x00000004) 44*bebae9c0SAndroid Build Coastguard Worker /** uses the main microphone unprocessed */ 45*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_RECORDING_PRESET_UNPROCESSED ((SLuint32) 0x00000005) 46*bebae9c0SAndroid Build Coastguard Worker 47*bebae9c0SAndroid Build Coastguard Worker 48*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 49*bebae9c0SAndroid Build Coastguard Worker /* Android AudioPlayer configuration */ 50*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 51*bebae9c0SAndroid Build Coastguard Worker 52*bebae9c0SAndroid Build Coastguard Worker /** Audio playback stream type */ 53*bebae9c0SAndroid Build Coastguard Worker /** Audio playback stream type key */ 54*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_KEY_STREAM_TYPE ((const SLchar*) "androidPlaybackStreamType") 55*bebae9c0SAndroid Build Coastguard Worker 56*bebae9c0SAndroid Build Coastguard Worker /** Audio playback stream type values */ 57*bebae9c0SAndroid Build Coastguard Worker /* same as android.media.AudioManager.STREAM_VOICE_CALL */ 58*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_STREAM_VOICE ((SLint32) 0x00000000) 59*bebae9c0SAndroid Build Coastguard Worker /* same as android.media.AudioManager.STREAM_SYSTEM */ 60*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_STREAM_SYSTEM ((SLint32) 0x00000001) 61*bebae9c0SAndroid Build Coastguard Worker /* same as android.media.AudioManager.STREAM_RING */ 62*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_STREAM_RING ((SLint32) 0x00000002) 63*bebae9c0SAndroid Build Coastguard Worker /* same as android.media.AudioManager.STREAM_MUSIC */ 64*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_STREAM_MEDIA ((SLint32) 0x00000003) 65*bebae9c0SAndroid Build Coastguard Worker /* same as android.media.AudioManager.STREAM_ALARM */ 66*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_STREAM_ALARM ((SLint32) 0x00000004) 67*bebae9c0SAndroid Build Coastguard Worker /* same as android.media.AudioManager.STREAM_NOTIFICATION */ 68*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_STREAM_NOTIFICATION ((SLint32) 0x00000005) 69*bebae9c0SAndroid Build Coastguard Worker 70*bebae9c0SAndroid Build Coastguard Worker 71*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 72*bebae9c0SAndroid Build Coastguard Worker /* Android AudioPlayer and AudioRecorder configuration */ 73*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 74*bebae9c0SAndroid Build Coastguard Worker 75*bebae9c0SAndroid Build Coastguard Worker /** Audio Performance mode. 76*bebae9c0SAndroid Build Coastguard Worker * Performance mode tells the framework how to configure the audio path 77*bebae9c0SAndroid Build Coastguard Worker * for a player or recorder according to application performance and 78*bebae9c0SAndroid Build Coastguard Worker * functional requirements. 79*bebae9c0SAndroid Build Coastguard Worker * It affects the output or input latency based on acceptable tradeoffs on 80*bebae9c0SAndroid Build Coastguard Worker * battery drain and use of pre or post processing effects. 81*bebae9c0SAndroid Build Coastguard Worker * Performance mode should be set before realizing the object and should be 82*bebae9c0SAndroid Build Coastguard Worker * read after realizing the object to check if the requested mode could be 83*bebae9c0SAndroid Build Coastguard Worker * granted or not. 84*bebae9c0SAndroid Build Coastguard Worker */ 85*bebae9c0SAndroid Build Coastguard Worker /** Audio Performance mode key */ 86*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_KEY_PERFORMANCE_MODE ((const SLchar*) "androidPerformanceMode") 87*bebae9c0SAndroid Build Coastguard Worker 88*bebae9c0SAndroid Build Coastguard Worker /** Audio performance values */ 89*bebae9c0SAndroid Build Coastguard Worker /* No specific performance requirement. Allows HW and SW pre/post processing. */ 90*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_PERFORMANCE_NONE ((SLuint32) 0x00000000) 91*bebae9c0SAndroid Build Coastguard Worker /* Priority given to latency. No HW or software pre/post processing. 92*bebae9c0SAndroid Build Coastguard Worker * This is the default if no performance mode is specified. */ 93*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_PERFORMANCE_LATENCY ((SLuint32) 0x00000001) 94*bebae9c0SAndroid Build Coastguard Worker /* Priority given to latency while still allowing HW pre and post processing. */ 95*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_PERFORMANCE_LATENCY_EFFECTS ((SLuint32) 0x00000002) 96*bebae9c0SAndroid Build Coastguard Worker /* Priority given to power saving if latency is not a concern. 97*bebae9c0SAndroid Build Coastguard Worker * Allows HW and SW pre/post processing. */ 98*bebae9c0SAndroid Build Coastguard Worker #define SL_ANDROID_PERFORMANCE_POWER_SAVING ((SLuint32) 0x00000003) 99*bebae9c0SAndroid Build Coastguard Worker 100*bebae9c0SAndroid Build Coastguard Worker 101*bebae9c0SAndroid Build Coastguard Worker #ifdef __cplusplus 102*bebae9c0SAndroid Build Coastguard Worker } 103*bebae9c0SAndroid Build Coastguard Worker #endif /* __cplusplus */ 104*bebae9c0SAndroid Build Coastguard Worker 105*bebae9c0SAndroid Build Coastguard Worker #endif /* OPENSL_ES_ANDROIDCONFIGURATION_H_ */ 106