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

Commit 7a195238 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Shunkai Yao
Browse files

Spatializer AIDL: add spatializedSpeakerLayout

Bug: 377582613
Flag: android.media.audio.spatializer_capabilities
Test: adb shell dumpsys audio | grep "Spatial audio" -A 7
Change-Id: I2f591f7c7ea08045b3d16de7448863a406b3695f
Merged-In: I2f591f7c7ea08045b3d16de7448863a406b3695f
parent 31406c58
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ union Spatializer {
  android.media.audio.common.HeadTracking.Mode headTrackingMode;
  android.media.audio.common.HeadTracking.ConnectionMode headTrackingConnectionMode;
  android.media.audio.common.HeadTracking.SensorData headTrackingSensorData;
  android.media.audio.common.AudioChannelLayout[] spatializedChannelLayout;
  @VintfStability
  union Id {
    android.hardware.audio.effect.VendorExtension vendorExtensionTag;
+16 −0
Original line number Diff line number Diff line
@@ -86,4 +86,20 @@ union Spatializer {
     * Headtracking sensor data.
     */
    HeadTracking.SensorData headTrackingSensorData;

    /**
     * Spatialized channel layouts.
     * A spatialized channel layout is one where each virtual speaker position is rendered
     * at its corresponding virtual position, and is not downmixed with any other.
     * For instance if a spatializer is only capable of distinct positions for 5.1, it would only
     * return 5.1:
     *  - the list wouldn't include 4.0, because that mask is "contained" within 5.1
     *  - the list wouldn't include 7.1 (and so on) because the side and rear channels would be
     *     downmixed together.
     * Another example is a spatializer that can only spatialize up to 9 channels (not counting .1)
     * and that supports 5.1.4, and 7.1.2, the list should include both.
     * The values must also be part of the values reported by supportedChannelLayout.
     * The array containing the values cannot be empty.
     */
    AudioChannelLayout[] spatializedChannelLayout;
}