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

Commit c171c7c4 authored by Eric Laurent's avatar Eric Laurent
Browse files

audio policy: fix USB mic selection for VoIP

When transitioning from speaker phone to normal mode and a USB
headset is connected, we must force a teardown of active input
as the new input device cannot be reached via current input stream.

Bug: 24406915.
Change-Id: I9f7c1d3f3cba285c25a6da1d54a3d15a5c1f378a
parent 036b6593
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -566,9 +566,15 @@ void AudioPolicyManager::setForceUse(audio_policy_force_use_t usage,

    audio_io_handle_t activeInput = mInputs.getActiveInput();
    if (activeInput != 0) {
        setInputDevice(activeInput, getNewInputDevice(activeInput));
        sp<AudioInputDescriptor> activeDesc = mInputs.valueFor(activeInput);
        audio_devices_t newDevice = getNewInputDevice(activeInput);
        // Force new input selection if the new device can not be reached via current input
        if (activeDesc->mProfile->mSupportedDevices.types() & (newDevice & ~AUDIO_DEVICE_BIT_IN)) {
            setInputDevice(activeInput, newDevice);
        } else {
            closeInput(activeInput);
        }
    }

}

void AudioPolicyManager::setSystemProperty(const char* property, const char* value)