Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 820b9e0d authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

Add recording source for voice communication

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Change-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9
parent 2b425d3c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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
};
+10 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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;