diff options
| -rw-r--r-- | include/media/mediarecorder.h | 3 | ||||
| -rw-r--r-- | media/java/android/media/MediaRecorder.java | 11 | ||||
| -rw-r--r-- | services/audioflinger/AudioPolicyManagerBase.cpp | 1 |
3 files changed, 13 insertions, 2 deletions
diff --git a/include/media/mediarecorder.h b/include/media/mediarecorder.h index 32b6fa1..a710546 100644 --- a/include/media/mediarecorder.h +++ b/include/media/mediarecorder.h @@ -44,7 +44,8 @@ enum audio_source { AUDIO_SOURCE_VOICE_CALL = 4, AUDIO_SOURCE_CAMCORDER = 5, AUDIO_SOURCE_VOICE_RECOGNITION = 6, - AUDIO_SOURCE_MAX = AUDIO_SOURCE_VOICE_RECOGNITION, + AUDIO_SOURCE_VOICE_COMMUNICATION = 7, + AUDIO_SOURCE_MAX = AUDIO_SOURCE_VOICE_COMMUNICATION, AUDIO_SOURCE_LIST_END // must be last - used to validate audio source type }; diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java index 90febba..2bea84f 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -148,6 +148,15 @@ public class MediaRecorder /** Microphone audio source tuned for voice recognition if available, behaves like * {@link #DEFAULT} otherwise. */ public static final int VOICE_RECOGNITION = 6; + + /** + * @hide + * Microphone audio source tuned for voice communications such as VoIP. It + * will for instance take advantage of echo cancellation or automatic gain control + * if available. It otherwise behaves like {@link #DEFAULT} if no voice processing + * is available. + */ + public static final int VOICE_COMMUNICATION = 7; } /** @@ -253,7 +262,7 @@ public class MediaRecorder * Gets the maximum value for audio sources. * @see android.media.MediaRecorder.AudioSource */ - public static final int getAudioSourceMax() { return AudioSource.VOICE_RECOGNITION; } + public static final int getAudioSourceMax() { return AudioSource.VOICE_COMMUNICATION; } /** * Sets the video source to be used for recording. If this method is not diff --git a/services/audioflinger/AudioPolicyManagerBase.cpp b/services/audioflinger/AudioPolicyManagerBase.cpp index 86d4c9f..edea2c5 100644 --- a/services/audioflinger/AudioPolicyManagerBase.cpp +++ b/services/audioflinger/AudioPolicyManagerBase.cpp @@ -1749,6 +1749,7 @@ uint32_t AudioPolicyManagerBase::getDeviceForInputSource(int inputSource) case AUDIO_SOURCE_DEFAULT: case AUDIO_SOURCE_MIC: case AUDIO_SOURCE_VOICE_RECOGNITION: + case AUDIO_SOURCE_VOICE_COMMUNICATION: if (mForceUse[AudioSystem::FOR_RECORD] == AudioSystem::FORCE_BT_SCO && mAvailableInputDevices & AudioSystem::DEVICE_IN_BLUETOOTH_SCO_HEADSET) { device = AudioSystem::DEVICE_IN_BLUETOOTH_SCO_HEADSET; |
