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

Commit 466e8a8f authored by Eric Laurent's avatar Eric Laurent Committed by Android (Google) Code Review
Browse files

audio: reset output device when disconnecting HDMI

When HDMI is disconnected, the audio HAL should stop writing to
the PCM driver to avoid a write error and a long timeout.
THe problem is that if no audio track is active, the policy manager
will send a 0 device upon HDMI disconnection which is normally ignored.

The fix consists in forcing the device to speaker when transitioning from
HDMI to 0 device.

Bug 7141149.

Change-Id: I3e5878a1d6ec0446f7044eff95e6641332c718bf
parent f859d3e8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -206,6 +206,10 @@ status_t ALSAStreamOps::setParameters(const String8& keyValuePairs)
    if (param.getInt(key, device) == NO_ERROR) {
        // Ignore routing if device is 0.
        ALOGD("setParameters(): keyRouting with device %d", device);
        // reset to speaker when disconnecting HDMI to avoid timeout due to write errors
        if ((device == 0) && (mDevices == AudioSystem::DEVICE_OUT_AUX_DIGITAL)) {
            device = AudioSystem::DEVICE_OUT_SPEAKER;
        }
        mDevices = device;
        if(device) {
            mParent->doRouting(device);