diff --git a/audio/aidl/Android.bp b/audio/aidl/Android.bp index 01af9400ab..af3f5a2fb4 100644 --- a/audio/aidl/Android.bp +++ b/audio/aidl/Android.bp @@ -120,8 +120,6 @@ aidl_interface { "android/hardware/audio/core/IStreamOut.aidl", "android/hardware/audio/core/IStreamOutEventCallback.aidl", "android/hardware/audio/core/ITelephony.aidl", - "android/hardware/audio/core/MicrophoneDynamicInfo.aidl", - "android/hardware/audio/core/MicrophoneInfo.aidl", "android/hardware/audio/core/MmapBufferDescriptor.aidl", "android/hardware/audio/core/ModuleDebug.aidl", "android/hardware/audio/core/StreamDescriptor.aidl", diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IModule.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IModule.aidl index 45217e739a..1eafdaba57 100644 --- a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IModule.aidl +++ b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IModule.aidl @@ -58,7 +58,7 @@ interface IModule { void setMasterVolume(float volume); boolean getMicMute(); void setMicMute(boolean mute); - android.hardware.audio.core.MicrophoneInfo[] getMicrophones(); + android.media.audio.common.MicrophoneInfo[] getMicrophones(); void updateAudioMode(android.media.audio.common.AudioMode mode); void updateScreenRotation(android.hardware.audio.core.IModule.ScreenRotation rotation); void updateScreenState(boolean isTurnedOn); diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamIn.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamIn.aidl index 1041943446..a01f877e86 100644 --- a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamIn.aidl +++ b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/IStreamIn.aidl @@ -35,7 +35,7 @@ package android.hardware.audio.core; @VintfStability interface IStreamIn { android.hardware.audio.core.IStreamCommon getStreamCommon(); - android.hardware.audio.core.MicrophoneDynamicInfo[] getActiveMicrophones(); + android.media.audio.common.MicrophoneDynamicInfo[] getActiveMicrophones(); android.hardware.audio.core.IStreamIn.MicrophoneDirection getMicrophoneDirection(); void setMicrophoneDirection(android.hardware.audio.core.IStreamIn.MicrophoneDirection direction); float getMicrophoneFieldDimension(); @@ -43,7 +43,7 @@ interface IStreamIn { 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_WIDE_ANGLE = (-1) /* -1 */; const int MIC_FIELD_DIMENSION_NO_ZOOM = 0; const int MIC_FIELD_DIMENSION_MAX_ZOOM = 1; const int HW_GAIN_MIN = 0; diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/ITelephony.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/ITelephony.aidl index 001d07461e..84d7aa1aa4 100644 --- a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/ITelephony.aidl +++ b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/ITelephony.aidl @@ -46,7 +46,7 @@ interface ITelephony { const int VOICE_VOLUME_MAX = 1; @Backing(type="int") @VintfStability enum TtyMode { - UNSPECIFIED = (-1), + UNSPECIFIED = (-1) /* -1 */, OFF = 0, FULL = 1, HCO = 2, diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/MicrophoneDynamicInfo.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/MicrophoneDynamicInfo.aidl deleted file mode 100644 index 50a5528309..0000000000 --- a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/MicrophoneDynamicInfo.aidl +++ /dev/null @@ -1,45 +0,0 @@ -/* - * 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 -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; -@JavaDerive(equals=true, toString=true) @VintfStability -parcelable MicrophoneDynamicInfo { - @utf8InCpp String id; - android.hardware.audio.core.MicrophoneDynamicInfo.ChannelMapping[] channelMapping; - @Backing(type="int") @VintfStability - enum ChannelMapping { - UNUSED = 0, - DIRECT = 1, - PROCESSED = 2, - } -} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/MicrophoneInfo.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/MicrophoneInfo.aidl deleted file mode 100644 index b77afe32cb..0000000000 --- a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/MicrophoneInfo.aidl +++ /dev/null @@ -1,82 +0,0 @@ -/* - * 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 -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; -@JavaDerive(equals=true, toString=true) @VintfStability -parcelable MicrophoneInfo { - @utf8InCpp String id; - android.media.audio.common.AudioDevice device; - android.hardware.audio.core.MicrophoneInfo.Location location = android.hardware.audio.core.MicrophoneInfo.Location.UNKNOWN; - int group = GROUP_UNKNOWN; - int indexInTheGroup = INDEX_IN_THE_GROUP_UNKNOWN; - @nullable android.hardware.audio.core.MicrophoneInfo.Sensitivity sensitivity; - android.hardware.audio.core.MicrophoneInfo.Directionality directionality = android.hardware.audio.core.MicrophoneInfo.Directionality.UNKNOWN; - android.hardware.audio.core.MicrophoneInfo.FrequencyResponsePoint[] frequencyResponse; - @nullable android.hardware.audio.core.MicrophoneInfo.Coordinate position; - @nullable android.hardware.audio.core.MicrophoneInfo.Coordinate orientation; - const int GROUP_UNKNOWN = (-1); - const int INDEX_IN_THE_GROUP_UNKNOWN = (-1); - @Backing(type="int") @VintfStability - enum Location { - UNKNOWN = 0, - MAINBODY = 1, - MAINBODY_MOVABLE = 2, - PERIPHERAL = 3, - } - @VintfStability - parcelable Sensitivity { - float leveldBFS; - float maxSpldB; - float minSpldB; - } - @Backing(type="int") @VintfStability - enum Directionality { - UNKNOWN = 0, - OMNI = 1, - BI_DIRECTIONAL = 2, - CARDIOID = 3, - HYPER_CARDIOID = 4, - SUPER_CARDIOID = 5, - } - @VintfStability - parcelable FrequencyResponsePoint { - float frequencyHz; - float leveldB; - } - @VintfStability - parcelable Coordinate { - float x; - float y; - float z; - } -} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/StreamDescriptor.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/StreamDescriptor.aidl index a65d7b7cea..3e3dc38b2a 100644 --- a/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/StreamDescriptor.aidl +++ b/audio/aidl/aidl_api/android.hardware.audio.core/current/android/hardware/audio/core/StreamDescriptor.aidl @@ -39,12 +39,12 @@ parcelable StreamDescriptor { int frameSizeBytes; long bufferSizeFrames; android.hardware.audio.core.StreamDescriptor.AudioBuffer audio; - const int LATENCY_UNKNOWN = (-1); + const int LATENCY_UNKNOWN = (-1) /* -1 */; @FixedSize @VintfStability parcelable Position { - long frames = UNKNOWN; - long timeNs = UNKNOWN; - const long UNKNOWN = (-1); + long frames = UNKNOWN /* -1 */; + long timeNs = UNKNOWN /* -1 */; + const long UNKNOWN = (-1) /* -1 */; } @Backing(type="int") @VintfStability enum State { diff --git a/audio/aidl/android/hardware/audio/core/IModule.aidl b/audio/aidl/android/hardware/audio/core/IModule.aidl index 968b5733f2..edfb9f27f6 100644 --- a/audio/aidl/android/hardware/audio/core/IModule.aidl +++ b/audio/aidl/android/hardware/audio/core/IModule.aidl @@ -26,7 +26,6 @@ import android.hardware.audio.core.IStreamIn; import android.hardware.audio.core.IStreamOut; import android.hardware.audio.core.IStreamOutEventCallback; import android.hardware.audio.core.ITelephony; -import android.hardware.audio.core.MicrophoneInfo; import android.hardware.audio.core.ModuleDebug; import android.hardware.audio.core.StreamDescriptor; import android.hardware.audio.core.VendorParameter; @@ -39,6 +38,7 @@ import android.media.audio.common.AudioOffloadInfo; import android.media.audio.common.AudioPort; import android.media.audio.common.AudioPortConfig; import android.media.audio.common.Float; +import android.media.audio.common.MicrophoneInfo; /** * Each instance of IModule corresponds to a separate audio module. The system diff --git a/audio/aidl/android/hardware/audio/core/IStreamIn.aidl b/audio/aidl/android/hardware/audio/core/IStreamIn.aidl index c2b36332a3..93cad11a58 100644 --- a/audio/aidl/android/hardware/audio/core/IStreamIn.aidl +++ b/audio/aidl/android/hardware/audio/core/IStreamIn.aidl @@ -18,7 +18,7 @@ package android.hardware.audio.core; import android.hardware.audio.common.SinkMetadata; import android.hardware.audio.core.IStreamCommon; -import android.hardware.audio.core.MicrophoneDynamicInfo; +import android.media.audio.common.MicrophoneDynamicInfo; /** * This interface provides means for receiving audio data from input devices. diff --git a/audio/aidl/android/hardware/audio/core/MicrophoneDynamicInfo.aidl b/audio/aidl/android/hardware/audio/core/MicrophoneDynamicInfo.aidl deleted file mode 100644 index 36cc51fa00..0000000000 --- a/audio/aidl/android/hardware/audio/core/MicrophoneDynamicInfo.aidl +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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.core; - -/** - * Structure providing dynamic information on a microphone. This information - * changes between recording sessions. - */ -@JavaDerive(equals=true, toString=true) -@VintfStability -parcelable MicrophoneDynamicInfo { - /** - * Unique alphanumeric id for the microphone. It must match the id of one of - * the 'MicrophoneInfo' entries returned by 'IModule.getMicrophones'. - */ - @utf8InCpp String id; - - @VintfStability - @Backing(type="int") - enum ChannelMapping { - /** Channel not used. */ - UNUSED = 0, - /** Channel is used and the signal is not processed. */ - DIRECT = 1, - /** Channel is used and the signal has some processing. */ - PROCESSED = 2, - } - /** - * The vector is indexes by zero-based channels of the microphone, thus the - * element '0' corresponds to the first channel, '1' is the second, etc. The - * vector must contain at least 1 element. - */ - ChannelMapping[] channelMapping; -} diff --git a/audio/aidl/android/hardware/audio/core/MicrophoneInfo.aidl b/audio/aidl/android/hardware/audio/core/MicrophoneInfo.aidl deleted file mode 100644 index 3b8c7f37f1..0000000000 --- a/audio/aidl/android/hardware/audio/core/MicrophoneInfo.aidl +++ /dev/null @@ -1,146 +0,0 @@ -/* - * 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.core; - -import android.media.audio.common.AudioDevice; - -/** - * Structure providing static information on a microphone. This information - * never changes during the lifetime of the IModule which owns the microphone. - * The information presented in this structure indicates the location and - * orientation of the microphone on the device as well as useful information - * like frequency response and sensitivity. - */ -@JavaDerive(equals=true, toString=true) -@VintfStability -parcelable MicrophoneInfo { - /** - * Unique alphanumeric id for the microphone. It must remain the same across - * device reboots. The client must never attempt to parse the value of this - * field. - */ - @utf8InCpp String id; - /** - * Describes the location of the microphone in terms of managed audio devices. - */ - AudioDevice device; - - @VintfStability - @Backing(type="int") - enum Location { - /** Microphone location is unknown. */ - UNKNOWN = 0, - /** The microphone is located on the main body of the device. */ - MAINBODY = 1, - /** The microphone is located on a movable main body of the device. */ - MAINBODY_MOVABLE = 2, - /** The microphone is located on a peripheral. */ - PERIPHERAL = 3, - } - /** Location of the microphone in regard to the body of the device */ - Location location = Location.UNKNOWN; - - /** - * This value is used when the group of the microphone is unknown. - */ - const int GROUP_UNKNOWN = -1; - /** - * An identifier to group related microphones together, for example, - * microphones of a microphone array should all belong to the same group. - * Note that microphones assigned to 'GROUP_UNKNOWN' do not form a group. - */ - int group = GROUP_UNKNOWN; - /** - * This value is used when the index in the group of the microphone is - * unknown. - */ - const int INDEX_IN_THE_GROUP_UNKNOWN = -1; - /** - * Index of this microphone within the group. The pair (group, index) must - * be unique within the same HAL module, except the pair - * (GROUP_UNKNOWN, INDEX_IN_THE_GROUP_UNKNOWN). - */ - int indexInTheGroup = INDEX_IN_THE_GROUP_UNKNOWN; - - @VintfStability - parcelable Sensitivity { - /** Level in dBFS produced by a 1000 Hz tone at 94 dB SPL. */ - float leveldBFS; - /** Level in dB of the max SPL supported at 1000 Hz */ - float maxSpldB; - /** Level in dB of the min SPL supported at 1000 Hz */ - float minSpldB; - } - /** - * If provided, must describe acceptable sound pressure levels (SPL) - * for a 1 kHz sine wave, and the resulting level in dBFS. - */ - @nullable Sensitivity sensitivity; - - @VintfStability - @Backing(type="int") - enum Directionality { - UNKNOWN = 0, - OMNI = 1, - BI_DIRECTIONAL = 2, - CARDIOID = 3, - HYPER_CARDIOID = 4, - SUPER_CARDIOID = 5, - } - /** - * The standard polar pattern of the microphone. - */ - Directionality directionality = Directionality.UNKNOWN; - - /** - * A (frequency, level) pair. Used to represent frequency response. - */ - @VintfStability - parcelable FrequencyResponsePoint { - float frequencyHz; - float leveldB; - } - /** - * Vector with ordered frequency responses (from low to high frequencies) - * with the frequency response of the microphone. Levels are in dB, - * relative to level at 1000 Hz. - */ - FrequencyResponsePoint[] frequencyResponse; - - /** - * A 3D point used to represent position or orientation of a microphone. - */ - @VintfStability - parcelable Coordinate { - float x; - float y; - float z; - } - /** - * If provided, must specify distances of the microphone's capsule, in - * meters, from the bottom-left-back corner of the bounding box of device in - * its natural orientation (PORTRAIT for phones, LANDSCAPE for tablets, TVs, - * etc). - */ - @nullable Coordinate position; - /** - * If provided, describes the normalized point which defines the main - * orientation of the microphone's capsule. - * Magnitude = sqrt(x^2 + y^2 + z^2) = 1. - */ - @nullable Coordinate orientation; -} diff --git a/audio/aidl/default/Configuration.cpp b/audio/aidl/default/Configuration.cpp index 854c7f372c..a72be24034 100644 --- a/audio/aidl/default/Configuration.cpp +++ b/audio/aidl/default/Configuration.cpp @@ -40,6 +40,7 @@ using aidl::android::media::audio::common::AudioPortExt; using aidl::android::media::audio::common::AudioPortMixExt; using aidl::android::media::audio::common::AudioProfile; using aidl::android::media::audio::common::Int; +using aidl::android::media::audio::common::MicrophoneInfo; using aidl::android::media::audio::common::PcmType; using android::hardware::audio::common::makeBitPositionFlagMask; diff --git a/audio/aidl/default/Module.cpp b/audio/aidl/default/Module.cpp index 2f6ab2fe7a..10aead2726 100644 --- a/audio/aidl/default/Module.cpp +++ b/audio/aidl/default/Module.cpp @@ -55,6 +55,7 @@ using aidl::android::media::audio::common::AudioPortExt; using aidl::android::media::audio::common::AudioProfile; using aidl::android::media::audio::common::Boolean; using aidl::android::media::audio::common::Int; +using aidl::android::media::audio::common::MicrophoneInfo; using aidl::android::media::audio::common::PcmType; using android::hardware::audio::common::getFrameSizeInBytes; using android::hardware::audio::common::isBitPositionFlagSet; diff --git a/audio/aidl/default/Stream.cpp b/audio/aidl/default/Stream.cpp index d62ca1d1ca..49ad2f2d74 100644 --- a/audio/aidl/default/Stream.cpp +++ b/audio/aidl/default/Stream.cpp @@ -31,6 +31,8 @@ using aidl::android::media::audio::common::AudioDualMonoMode; using aidl::android::media::audio::common::AudioLatencyMode; using aidl::android::media::audio::common::AudioOffloadInfo; using aidl::android::media::audio::common::AudioPlaybackRate; +using aidl::android::media::audio::common::MicrophoneDynamicInfo; +using aidl::android::media::audio::common::MicrophoneInfo; using android::hardware::audio::common::getChannelCount; using android::hardware::audio::common::getFrameSizeInBytes; diff --git a/audio/aidl/default/StreamStub.cpp b/audio/aidl/default/StreamStub.cpp index 85d1e16053..0ed935785a 100644 --- a/audio/aidl/default/StreamStub.cpp +++ b/audio/aidl/default/StreamStub.cpp @@ -24,6 +24,7 @@ using aidl::android::hardware::audio::common::SinkMetadata; using aidl::android::hardware::audio::common::SourceMetadata; using aidl::android::media::audio::common::AudioDevice; using aidl::android::media::audio::common::AudioOffloadInfo; +using aidl::android::media::audio::common::MicrophoneInfo; namespace aidl::android::hardware::audio::core { diff --git a/audio/aidl/default/include/core-impl/Configuration.h b/audio/aidl/default/include/core-impl/Configuration.h index 1aca1fe1bb..4dd01338e2 100644 --- a/audio/aidl/default/include/core-impl/Configuration.h +++ b/audio/aidl/default/include/core-impl/Configuration.h @@ -22,14 +22,14 @@ #include #include -#include #include #include +#include namespace aidl::android::hardware::audio::core::internal { struct Configuration { - std::vector microphones; + std::vector<::aidl::android::media::audio::common::MicrophoneInfo> microphones; std::vector<::aidl::android::media::audio::common::AudioPort> ports; std::vector<::aidl::android::media::audio::common::AudioPortConfig> portConfigs; std::vector<::aidl::android::media::audio::common::AudioPortConfig> initialConfigs; diff --git a/audio/aidl/default/include/core-impl/Module.h b/audio/aidl/default/include/core-impl/Module.h index fab1c14df1..8365b3438f 100644 --- a/audio/aidl/default/include/core-impl/Module.h +++ b/audio/aidl/default/include/core-impl/Module.h @@ -94,7 +94,9 @@ class Module : public BnModule { ndk::ScopedAStatus setMasterVolume(float in_volume) override; ndk::ScopedAStatus getMicMute(bool* _aidl_return) override; ndk::ScopedAStatus setMicMute(bool in_mute) override; - ndk::ScopedAStatus getMicrophones(std::vector* _aidl_return) override; + ndk::ScopedAStatus getMicrophones( + std::vector<::aidl::android::media::audio::common::MicrophoneInfo>* _aidl_return) + override; ndk::ScopedAStatus updateAudioMode( ::aidl::android::media::audio::common::AudioMode in_mode) override; ndk::ScopedAStatus updateScreenRotation( diff --git a/audio/aidl/default/include/core-impl/Stream.h b/audio/aidl/default/include/core-impl/Stream.h index f8c12e6063..0d4365a3ae 100644 --- a/audio/aidl/default/include/core-impl/Stream.h +++ b/audio/aidl/default/include/core-impl/Stream.h @@ -32,10 +32,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include @@ -413,7 +413,8 @@ class StreamIn : public StreamCommonImpl<::aidl::android::hardware::audio::commo getStreamCommon(_aidl_return); } ndk::ScopedAStatus getActiveMicrophones( - std::vector* _aidl_return) override; + std::vector<::aidl::android::media::audio::common::MicrophoneDynamicInfo>* _aidl_return) + override; ndk::ScopedAStatus getMicrophoneDirection(MicrophoneDirection* _aidl_return) override; ndk::ScopedAStatus setMicrophoneDirection(MicrophoneDirection in_direction) override; ndk::ScopedAStatus getMicrophoneFieldDimension(float* _aidl_return) override; @@ -434,7 +435,7 @@ class StreamIn : public StreamCommonImpl<::aidl::android::hardware::audio::commo StreamIn(const ::aidl::android::hardware::audio::common::SinkMetadata& sinkMetadata, StreamContext&& context, const DriverInterface::CreateInstance& createDriver, const StreamWorkerInterface::CreateInstance& createWorker, - const std::vector& microphones); + const std::vector<::aidl::android::media::audio::common::MicrophoneInfo>& microphones); void createStreamCommon(const std::shared_ptr& myPtr) { StreamCommonImpl< ::aidl::android::hardware::audio::common::SinkMetadata>::createStreamCommon(myPtr); @@ -445,7 +446,8 @@ class StreamIn : public StreamCommonImpl<::aidl::android::hardware::audio::commo public: using CreateInstance = std::function& microphones, + StreamContext&& context, + const std::vector<::aidl::android::media::audio::common::MicrophoneInfo>& microphones, std::shared_ptr* result)>; }; diff --git a/audio/aidl/default/include/core-impl/StreamStub.h b/audio/aidl/default/include/core-impl/StreamStub.h index aea9da5696..69fd7b3983 100644 --- a/audio/aidl/default/include/core-impl/StreamStub.h +++ b/audio/aidl/default/include/core-impl/StreamStub.h @@ -43,13 +43,16 @@ class StreamInStub final : public StreamIn { public: static ndk::ScopedAStatus createInstance( const ::aidl::android::hardware::audio::common::SinkMetadata& sinkMetadata, - StreamContext&& context, const std::vector& microphones, + StreamContext&& context, + const std::vector<::aidl::android::media::audio::common::MicrophoneInfo>& microphones, std::shared_ptr* result); private: friend class ndk::SharedRefBase; - StreamInStub(const ::aidl::android::hardware::audio::common::SinkMetadata& sinkMetadata, - StreamContext&& context, const std::vector& microphones); + StreamInStub( + const ::aidl::android::hardware::audio::common::SinkMetadata& sinkMetadata, + StreamContext&& context, + const std::vector<::aidl::android::media::audio::common::MicrophoneInfo>& microphones); }; class StreamOutStub final : public StreamOut { diff --git a/audio/aidl/default/include/core-impl/StreamUsb.h b/audio/aidl/default/include/core-impl/StreamUsb.h index 8ac1f34f2c..c04dc66162 100644 --- a/audio/aidl/default/include/core-impl/StreamUsb.h +++ b/audio/aidl/default/include/core-impl/StreamUsb.h @@ -60,18 +60,22 @@ class DriverUsb : public DriverInterface { class StreamInUsb final : public StreamIn { ndk::ScopedAStatus getActiveMicrophones( - std::vector* _aidl_return) override; + std::vector<::aidl::android::media::audio::common::MicrophoneDynamicInfo>* _aidl_return) + override; public: static ndk::ScopedAStatus createInstance( const ::aidl::android::hardware::audio::common::SinkMetadata& sinkMetadata, - StreamContext&& context, const std::vector& microphones, + StreamContext&& context, + const std::vector<::aidl::android::media::audio::common::MicrophoneInfo>& microphones, std::shared_ptr* result); private: friend class ndk::SharedRefBase; - StreamInUsb(const ::aidl::android::hardware::audio::common::SinkMetadata& sinkMetadata, - StreamContext&& context, const std::vector& microphones); + StreamInUsb( + const ::aidl::android::hardware::audio::common::SinkMetadata& sinkMetadata, + StreamContext&& context, + const std::vector<::aidl::android::media::audio::common::MicrophoneInfo>& microphones); }; class StreamOutUsb final : public StreamOut { diff --git a/audio/aidl/default/usb/StreamUsb.cpp b/audio/aidl/default/usb/StreamUsb.cpp index 22e36ac76f..bd53a0ef2a 100644 --- a/audio/aidl/default/usb/StreamUsb.cpp +++ b/audio/aidl/default/usb/StreamUsb.cpp @@ -30,6 +30,8 @@ using aidl::android::hardware::audio::common::SourceMetadata; using aidl::android::media::audio::common::AudioDevice; using aidl::android::media::audio::common::AudioDeviceAddress; using aidl::android::media::audio::common::AudioOffloadInfo; +using aidl::android::media::audio::common::MicrophoneDynamicInfo; +using aidl::android::media::audio::common::MicrophoneInfo; namespace aidl::android::hardware::audio::core { @@ -239,4 +241,4 @@ StreamOutUsb::StreamOutUsb(const SourceMetadata& sourceMetadata, StreamContext&& }, offloadInfo) {} -} // namespace aidl::android::hardware::audio::core \ No newline at end of file +} // namespace aidl::android::hardware::audio::core diff --git a/audio/aidl/vts/VtsHalAudioCoreModuleTargetTest.cpp b/audio/aidl/vts/VtsHalAudioCoreModuleTargetTest.cpp index 3ca51c730c..ed56597180 100644 --- a/audio/aidl/vts/VtsHalAudioCoreModuleTargetTest.cpp +++ b/audio/aidl/vts/VtsHalAudioCoreModuleTargetTest.cpp @@ -64,8 +64,6 @@ using aidl::android::hardware::audio::core::IStreamCommon; using aidl::android::hardware::audio::core::IStreamIn; using aidl::android::hardware::audio::core::IStreamOut; using aidl::android::hardware::audio::core::ITelephony; -using aidl::android::hardware::audio::core::MicrophoneDynamicInfo; -using aidl::android::hardware::audio::core::MicrophoneInfo; using aidl::android::hardware::audio::core::ModuleDebug; using aidl::android::hardware::audio::core::StreamDescriptor; using aidl::android::hardware::audio::core::VendorParameter; @@ -93,6 +91,8 @@ using aidl::android::media::audio::common::AudioUsage; using aidl::android::media::audio::common::Boolean; using aidl::android::media::audio::common::Float; using aidl::android::media::audio::common::Int; +using aidl::android::media::audio::common::MicrophoneDynamicInfo; +using aidl::android::media::audio::common::MicrophoneInfo; using aidl::android::media::audio::common::Void; using android::hardware::audio::common::getChannelCount; using android::hardware::audio::common::isBitPositionFlagSet;