Loading audio/7.1/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -13,11 +13,13 @@ hidl_interface { name: "android.hardware.audio@7.1", root: "android.hardware", srcs: [ "types.hal", "IDevice.hal", "IDevicesFactory.hal", "IPrimaryDevice.hal", "IStreamIn.hal", "IStreamOut.hal", "IStreamOutLatencyModeCallback.hal", ], interfaces: [ "android.hardware.audio@7.0", Loading audio/7.1/IStreamOut.hal +47 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,54 @@ package android.hardware.audio@7.1; import @7.0::Result; import @7.0::IStreamOut; import IStreamOutLatencyModeCallback; interface IStreamOut extends @7.0::IStreamOut { /** * Indicates the requested latency mode for this output stream. * * The requested mode can be one of the modes returned by * getRecommendedLatencyModes() API. * * Optional method. * Mandated only on specific spatial audio streams indicated by * AUDIO_OUTPUT_FLAG_SPATIALIZER flag if they can be routed to a BT classic sink. * * @return retval operation completion status. */ setLatencyMode(LatencyMode mode) generates (Result retval); /** * Indicates which latency modes are currently supported on this output stream. * If the transport protocol (e.g Bluetooth A2DP) used by this output stream to reach * the output device supports variable latency modes, the HAL indicates which * modes are currently supported. * The framework can then call setLatencyMode() with one of the supported modes to select * the desired operation mode. * * Optional method. * Mandated only on specific spatial audio streams indicated by * AUDIO_OUTPUT_FLAG_SPATIALIZER flag if they can be routed to a BT classic sink. * * @return retval operation completion status. * @return modes currrently supported latency modes. */ getRecommendedLatencyModes() generates (Result retval, vec<LatencyMode> modes); /** * Set the callback interface for notifying changes in supported latency modes. * * Calling this method with a null pointer will result in releasing * the callback. * * Optional method. * Mandated only on specific spatial audio streams indicated by * AUDIO_OUTPUT_FLAG_SPATIALIZER flag if they can be routed to a BT classic sink. * * @return retval operation completion status. */ setLatencyModeCallback(IStreamOutLatencyModeCallback callback) generates (Result retval); }; audio/7.1/IStreamOutLatencyModeCallback.hal 0 → 100644 +28 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.audio@7.1; /** * Callback interface for output stream variable latency mode feature. */ interface IStreamOutLatencyModeCallback { /** * Called with the new list of supported latency modes when a change occurs. */ oneway onRecommendedLatencyModeChanged(vec<LatencyMode> modes); }; audio/7.1/config/api/current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,8 @@ package android.audio.policy.configuration.V7_1 { enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_7POINT1; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_7POINT1POINT2; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_7POINT1POINT4; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_9POINT1POINT4; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_9POINT1POINT6; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_HAPTIC_AB; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_MONO; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_MONO_HAPTIC_A; Loading Loading @@ -125,6 +127,7 @@ package android.audio.policy.configuration.V7_1 { enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_AUX_DIGITAL; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_AUX_LINE; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLE_BROADCAST; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLE_HEADSET; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLE_SPEAKER; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLUETOOTH_A2DP; Loading Loading @@ -284,6 +287,7 @@ package android.audio.policy.configuration.V7_1 { enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_NON_BLOCKING; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_PRIMARY; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_RAW; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_SPATIALIZER; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_SYNC; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_TTS; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_VOIP_RX; Loading audio/7.1/config/audio_policy_configuration.xsd +4 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ <xs:enumeration value="AUDIO_OUTPUT_FLAG_VOIP_RX" /> <xs:enumeration value="AUDIO_OUTPUT_FLAG_INCALL_MUSIC" /> <xs:enumeration value="AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD" /> <xs:enumeration value="AUDIO_OUTPUT_FLAG_SPATIALIZER" /> <xs:enumeration value="AUDIO_INPUT_FLAG_FAST" /> <xs:enumeration value="AUDIO_INPUT_FLAG_HW_HOTWORD" /> <xs:enumeration value="AUDIO_INPUT_FLAG_RAW" /> Loading Loading @@ -276,6 +277,7 @@ <xs:enumeration value="AUDIO_DEVICE_OUT_ECHO_CANCELLER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLE_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLE_SPEAKER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLE_BROADCAST"/> <xs:enumeration value="AUDIO_DEVICE_OUT_DEFAULT"/> <xs:enumeration value="AUDIO_DEVICE_OUT_STUB"/> Loading Loading @@ -510,6 +512,8 @@ <xs:enumeration value="AUDIO_CHANNEL_OUT_7POINT1"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_7POINT1POINT2"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_7POINT1POINT4"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_9POINT1POINT4"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_9POINT1POINT6"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_13POINT_360RA"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_22POINT2"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_MONO_HAPTIC_A"/> Loading Loading
audio/7.1/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -13,11 +13,13 @@ hidl_interface { name: "android.hardware.audio@7.1", root: "android.hardware", srcs: [ "types.hal", "IDevice.hal", "IDevicesFactory.hal", "IPrimaryDevice.hal", "IStreamIn.hal", "IStreamOut.hal", "IStreamOutLatencyModeCallback.hal", ], interfaces: [ "android.hardware.audio@7.0", Loading
audio/7.1/IStreamOut.hal +47 −0 Original line number Diff line number Diff line Loading @@ -16,7 +16,54 @@ package android.hardware.audio@7.1; import @7.0::Result; import @7.0::IStreamOut; import IStreamOutLatencyModeCallback; interface IStreamOut extends @7.0::IStreamOut { /** * Indicates the requested latency mode for this output stream. * * The requested mode can be one of the modes returned by * getRecommendedLatencyModes() API. * * Optional method. * Mandated only on specific spatial audio streams indicated by * AUDIO_OUTPUT_FLAG_SPATIALIZER flag if they can be routed to a BT classic sink. * * @return retval operation completion status. */ setLatencyMode(LatencyMode mode) generates (Result retval); /** * Indicates which latency modes are currently supported on this output stream. * If the transport protocol (e.g Bluetooth A2DP) used by this output stream to reach * the output device supports variable latency modes, the HAL indicates which * modes are currently supported. * The framework can then call setLatencyMode() with one of the supported modes to select * the desired operation mode. * * Optional method. * Mandated only on specific spatial audio streams indicated by * AUDIO_OUTPUT_FLAG_SPATIALIZER flag if they can be routed to a BT classic sink. * * @return retval operation completion status. * @return modes currrently supported latency modes. */ getRecommendedLatencyModes() generates (Result retval, vec<LatencyMode> modes); /** * Set the callback interface for notifying changes in supported latency modes. * * Calling this method with a null pointer will result in releasing * the callback. * * Optional method. * Mandated only on specific spatial audio streams indicated by * AUDIO_OUTPUT_FLAG_SPATIALIZER flag if they can be routed to a BT classic sink. * * @return retval operation completion status. */ setLatencyModeCallback(IStreamOutLatencyModeCallback callback) generates (Result retval); };
audio/7.1/IStreamOutLatencyModeCallback.hal 0 → 100644 +28 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.audio@7.1; /** * Callback interface for output stream variable latency mode feature. */ interface IStreamOutLatencyModeCallback { /** * Called with the new list of supported latency modes when a change occurs. */ oneway onRecommendedLatencyModeChanged(vec<LatencyMode> modes); };
audio/7.1/config/api/current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,8 @@ package android.audio.policy.configuration.V7_1 { enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_7POINT1; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_7POINT1POINT2; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_7POINT1POINT4; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_9POINT1POINT4; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_9POINT1POINT6; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_HAPTIC_AB; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_MONO; enum_constant public static final android.audio.policy.configuration.V7_1.AudioChannelMask AUDIO_CHANNEL_OUT_MONO_HAPTIC_A; Loading Loading @@ -125,6 +127,7 @@ package android.audio.policy.configuration.V7_1 { enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_AUX_DIGITAL; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_AUX_LINE; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLE_BROADCAST; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLE_HEADSET; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLE_SPEAKER; enum_constant public static final android.audio.policy.configuration.V7_1.AudioDevice AUDIO_DEVICE_OUT_BLUETOOTH_A2DP; Loading Loading @@ -284,6 +287,7 @@ package android.audio.policy.configuration.V7_1 { enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_NON_BLOCKING; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_PRIMARY; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_RAW; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_SPATIALIZER; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_SYNC; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_TTS; enum_constant public static final android.audio.policy.configuration.V7_1.AudioInOutFlag AUDIO_OUTPUT_FLAG_VOIP_RX; Loading
audio/7.1/config/audio_policy_configuration.xsd +4 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ <xs:enumeration value="AUDIO_OUTPUT_FLAG_VOIP_RX" /> <xs:enumeration value="AUDIO_OUTPUT_FLAG_INCALL_MUSIC" /> <xs:enumeration value="AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD" /> <xs:enumeration value="AUDIO_OUTPUT_FLAG_SPATIALIZER" /> <xs:enumeration value="AUDIO_INPUT_FLAG_FAST" /> <xs:enumeration value="AUDIO_INPUT_FLAG_HW_HOTWORD" /> <xs:enumeration value="AUDIO_INPUT_FLAG_RAW" /> Loading Loading @@ -276,6 +277,7 @@ <xs:enumeration value="AUDIO_DEVICE_OUT_ECHO_CANCELLER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLE_HEADSET"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLE_SPEAKER"/> <xs:enumeration value="AUDIO_DEVICE_OUT_BLE_BROADCAST"/> <xs:enumeration value="AUDIO_DEVICE_OUT_DEFAULT"/> <xs:enumeration value="AUDIO_DEVICE_OUT_STUB"/> Loading Loading @@ -510,6 +512,8 @@ <xs:enumeration value="AUDIO_CHANNEL_OUT_7POINT1"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_7POINT1POINT2"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_7POINT1POINT4"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_9POINT1POINT4"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_9POINT1POINT6"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_13POINT_360RA"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_22POINT2"/> <xs:enumeration value="AUDIO_CHANNEL_OUT_MONO_HAPTIC_A"/> Loading