Loading audio/aidl/Android.bp +47 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,53 @@ cc_defaults { ], } // Used for the standalone sounddose HAL aidl_interface { name: "android.hardware.audio.core.sounddose", defaults: [ "android.hardware.audio_defaults", ], srcs: [ "android/hardware/audio/core/ISoundDose.aidl", ], imports: [ "android.media.audio.common.types-V2", ], backend: { // The C++ backend is disabled transitively due to use of FMQ by the core HAL. cpp: { enabled: false, }, java: { sdk_version: "module_current", }, }, versions_with_info: [ // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you // add the latest frozen version to versions_with_info ], } // Note: This should always be one version ahead of the last frozen version latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V1" // Modules that depend on android.hardware.audio.core.sounddose directly can include // the following cc_defaults to avoid explicitly managing dependency versions // across many scattered files. cc_defaults { name: "latest_android_hardware_audio_core_sounddose_ndk_shared", shared_libs: [ latest_android_hardware_audio_core_sounddose + "-ndk", ], } cc_defaults { name: "latest_android_hardware_audio_core_sounddose_ndk_static", static_libs: [ latest_android_hardware_audio_core_sounddose + "-ndk", ], } aidl_interface { name: "android.hardware.audio.effect", defaults: [ Loading audio/aidl/aidl_api/android.hardware.audio.core.sounddose/current/android/hardware/audio/core/ISoundDose.aidl 0 → 100644 +52 −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. */ /////////////////////////////////////////////////////////////////////////////// // THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // /////////////////////////////////////////////////////////////////////////////// // This file is a snapshot of an AIDL file. Do not edit it manually. There are // two cases: // 1). this is a frozen version file - do not edit this in any case. // 2). this is a 'current' file. If you make a backwards compatible change to // the interface (from the latest frozen version), the build system will // prompt you to update this file with `m <name>-update-api`. // // You must not make a backward incompatible change to any AIDL file built // with the aidl_interface module type with versions property set. The module // type is used to build AIDL files in a way that they can be used across // independently updatable components of the system. If a device is shipped // with such a backward incompatible change, it has a high risk of breaking // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.audio.core; @VintfStability interface ISoundDose { void setOutputRs2(float rs2ValueDbA); float getOutputRs2(); void registerSoundDoseCallback(in android.hardware.audio.core.ISoundDose.IHalSoundDoseCallback callback); const int DEFAULT_MAX_RS2 = 100; const int MIN_RS2 = 80; @VintfStability interface IHalSoundDoseCallback { oneway void onMomentaryExposureWarning(float currentDbA, in android.media.audio.common.AudioDevice audioDevice); oneway void onNewMelValues(in android.hardware.audio.core.ISoundDose.IHalSoundDoseCallback.MelRecord melRecord, in android.media.audio.common.AudioDevice audioDevice); @VintfStability parcelable MelRecord { float[] melValues; long timestamp; } } } audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamIn.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -41,9 +41,13 @@ interface IStreamIn { float getMicrophoneFieldDimension(); void setMicrophoneFieldDimension(float zoom); void updateMetadata(in android.hardware.audio.common.SinkMetadata sinkMetadata); float[] getHwGain(); void setHwGain(in float[] channelGains); const int MIC_FIELD_DIMENSION_WIDE_ANGLE = -1; const int MIC_FIELD_DIMENSION_NO_ZOOM = 0; const int MIC_FIELD_DIMENSION_MAX_ZOOM = 1; const int HW_GAIN_MIN = 0; const int HW_GAIN_MAX = 1; @Backing(type="int") @VintfStability enum MicrophoneDirection { UNSPECIFIED = 0, Loading audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamOut.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -36,4 +36,8 @@ package android.hardware.audio.core; interface IStreamOut { android.hardware.audio.core.IStreamCommon getStreamCommon(); void updateMetadata(in android.hardware.audio.common.SourceMetadata sourceMetadata); float[] getHwVolume(); void setHwVolume(in float[] channelVolumes); const int HW_VOLUME_MIN = 0; const int HW_VOLUME_MAX = 1; } audio/aidl/android/hardware/audio/core/IStreamIn.aidl +34 −0 Original line number Diff line number Diff line Loading @@ -131,4 +131,38 @@ interface IStreamIn { * @throws EX_ILLEGAL_STATE If the stream is closed. */ void updateMetadata(in SinkMetadata sinkMetadata); const int HW_GAIN_MIN = 0; const int HW_GAIN_MAX = 1; /** * Retrieve current gain applied in hardware. * * In case when the HAL module has a gain controller, this method returns * the current value of its gain for each input channel. * * The valid range for gain is [0.0f, 1.0f], where 1.0f corresponds to unity * gain, 0.0f corresponds to full mute (see HW_GAIN_* constants). * * @return Current gain values for each input channel. * @throws EX_ILLEGAL_STATE If the stream is closed. * @throws EX_UNSUPPORTED_OPERATION If hardware gain control is not supported. */ float[] getHwGain(); /** * Set gain applied in hardware. * * In case when the HAL module has a gain controller, this method sets the * current value of its gain for each input channel. * * The valid range for gain is [0.0f, 1.0f], where 1.0f corresponds to unity * gain, 0.0f corresponds to full mute (see HW_GAIN_* constants). * * @param gain Gain values for each input channel. * @throws EX_ILLEGAL_ARGUMENT If the number of elements in the provided * array does not match the channel count, or * gain values are out of range. * @throws EX_ILLEGAL_STATE If the stream is closed. * @throws EX_UNSUPPORTED_OPERATION If hardware gain control is not supported. */ void setHwGain(in float[] channelGains); } Loading
audio/aidl/Android.bp +47 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,53 @@ cc_defaults { ], } // Used for the standalone sounddose HAL aidl_interface { name: "android.hardware.audio.core.sounddose", defaults: [ "android.hardware.audio_defaults", ], srcs: [ "android/hardware/audio/core/ISoundDose.aidl", ], imports: [ "android.media.audio.common.types-V2", ], backend: { // The C++ backend is disabled transitively due to use of FMQ by the core HAL. cpp: { enabled: false, }, java: { sdk_version: "module_current", }, }, versions_with_info: [ // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you // add the latest frozen version to versions_with_info ], } // Note: This should always be one version ahead of the last frozen version latest_android_hardware_audio_core_sounddose = "android.hardware.audio.core.sounddose-V1" // Modules that depend on android.hardware.audio.core.sounddose directly can include // the following cc_defaults to avoid explicitly managing dependency versions // across many scattered files. cc_defaults { name: "latest_android_hardware_audio_core_sounddose_ndk_shared", shared_libs: [ latest_android_hardware_audio_core_sounddose + "-ndk", ], } cc_defaults { name: "latest_android_hardware_audio_core_sounddose_ndk_static", static_libs: [ latest_android_hardware_audio_core_sounddose + "-ndk", ], } aidl_interface { name: "android.hardware.audio.effect", defaults: [ Loading
audio/aidl/aidl_api/android.hardware.audio.core.sounddose/current/android/hardware/audio/core/ISoundDose.aidl 0 → 100644 +52 −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. */ /////////////////////////////////////////////////////////////////////////////// // THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // /////////////////////////////////////////////////////////////////////////////// // This file is a snapshot of an AIDL file. Do not edit it manually. There are // two cases: // 1). this is a frozen version file - do not edit this in any case. // 2). this is a 'current' file. If you make a backwards compatible change to // the interface (from the latest frozen version), the build system will // prompt you to update this file with `m <name>-update-api`. // // You must not make a backward incompatible change to any AIDL file built // with the aidl_interface module type with versions property set. The module // type is used to build AIDL files in a way that they can be used across // independently updatable components of the system. If a device is shipped // with such a backward incompatible change, it has a high risk of breaking // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.audio.core; @VintfStability interface ISoundDose { void setOutputRs2(float rs2ValueDbA); float getOutputRs2(); void registerSoundDoseCallback(in android.hardware.audio.core.ISoundDose.IHalSoundDoseCallback callback); const int DEFAULT_MAX_RS2 = 100; const int MIN_RS2 = 80; @VintfStability interface IHalSoundDoseCallback { oneway void onMomentaryExposureWarning(float currentDbA, in android.media.audio.common.AudioDevice audioDevice); oneway void onNewMelValues(in android.hardware.audio.core.ISoundDose.IHalSoundDoseCallback.MelRecord melRecord, in android.media.audio.common.AudioDevice audioDevice); @VintfStability parcelable MelRecord { float[] melValues; long timestamp; } } }
audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamIn.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -41,9 +41,13 @@ interface IStreamIn { float getMicrophoneFieldDimension(); void setMicrophoneFieldDimension(float zoom); void updateMetadata(in android.hardware.audio.common.SinkMetadata sinkMetadata); float[] getHwGain(); void setHwGain(in float[] channelGains); const int MIC_FIELD_DIMENSION_WIDE_ANGLE = -1; const int MIC_FIELD_DIMENSION_NO_ZOOM = 0; const int MIC_FIELD_DIMENSION_MAX_ZOOM = 1; const int HW_GAIN_MIN = 0; const int HW_GAIN_MAX = 1; @Backing(type="int") @VintfStability enum MicrophoneDirection { UNSPECIFIED = 0, Loading
audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamOut.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -36,4 +36,8 @@ package android.hardware.audio.core; interface IStreamOut { android.hardware.audio.core.IStreamCommon getStreamCommon(); void updateMetadata(in android.hardware.audio.common.SourceMetadata sourceMetadata); float[] getHwVolume(); void setHwVolume(in float[] channelVolumes); const int HW_VOLUME_MIN = 0; const int HW_VOLUME_MAX = 1; }
audio/aidl/android/hardware/audio/core/IStreamIn.aidl +34 −0 Original line number Diff line number Diff line Loading @@ -131,4 +131,38 @@ interface IStreamIn { * @throws EX_ILLEGAL_STATE If the stream is closed. */ void updateMetadata(in SinkMetadata sinkMetadata); const int HW_GAIN_MIN = 0; const int HW_GAIN_MAX = 1; /** * Retrieve current gain applied in hardware. * * In case when the HAL module has a gain controller, this method returns * the current value of its gain for each input channel. * * The valid range for gain is [0.0f, 1.0f], where 1.0f corresponds to unity * gain, 0.0f corresponds to full mute (see HW_GAIN_* constants). * * @return Current gain values for each input channel. * @throws EX_ILLEGAL_STATE If the stream is closed. * @throws EX_UNSUPPORTED_OPERATION If hardware gain control is not supported. */ float[] getHwGain(); /** * Set gain applied in hardware. * * In case when the HAL module has a gain controller, this method sets the * current value of its gain for each input channel. * * The valid range for gain is [0.0f, 1.0f], where 1.0f corresponds to unity * gain, 0.0f corresponds to full mute (see HW_GAIN_* constants). * * @param gain Gain values for each input channel. * @throws EX_ILLEGAL_ARGUMENT If the number of elements in the provided * array does not match the channel count, or * gain values are out of range. * @throws EX_ILLEGAL_STATE If the stream is closed. * @throws EX_UNSUPPORTED_OPERATION If hardware gain control is not supported. */ void setHwGain(in float[] channelGains); }