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

Commit 654afa04 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

Audio policy: use SPEAKER_SAFE device for alarms and ringtones

Use AUDIO_DEVICE_OUT_SPEAKER_SAFE when available for
  STRATEGY_SONIFICATION instead of AUDIO_DEVICE_OUT_SPEAKER.
It is alrady the case for STRATEGY_SONIFICATION_RESPECTFUL
  (notifications).

Test: play an alarm on a device with SPEAKER_SAFE in the policy conf, verify routing matches mixer path
Bug: 35675592
Change-Id: I03a4f4238a1ac73165d44f72e4e587b31ec88cc5
parent 2f35206b
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -552,6 +552,15 @@ audio_devices_t Engine::getDeviceForStrategyInt(routing_strategy strategy,
                AUDIO_POLICY_FORCE_HDMI_SYSTEM_AUDIO_ENFORCED)) {
            device &= ~AUDIO_DEVICE_OUT_SPEAKER;
        }

        // for STRATEGY_SONIFICATION:
        // if SPEAKER was selected, and SPEAKER_SAFE is available, use SPEAKER_SAFE instead
        if ((strategy == STRATEGY_SONIFICATION) &&
                (device & AUDIO_DEVICE_OUT_SPEAKER) &&
                (availableOutputDevicesType & AUDIO_DEVICE_OUT_SPEAKER_SAFE)) {
            device |= AUDIO_DEVICE_OUT_SPEAKER_SAFE;
            device &= ~AUDIO_DEVICE_OUT_SPEAKER;
        }
        } break;

    default: