Loading media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl +9 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,15 @@ interface IAudioPolicyService { boolean isUltrasoundSupported(); /** * Queries if there is hardware support for requesting audio capture content from * the DSP hotword pipeline. * * @param lookbackAudio true if additionally querying for the ability to capture audio * from the pipeline prior to capture stream open. */ boolean isHotwordStreamSupported(boolean lookbackAudio); AudioProductStrategy[] listAudioProductStrategies(); int /* product_strategy_t */ getProductStrategyFromAudioAttributes( in AudioAttributesInternal aa, boolean fallbackOnDefault); Loading services/audiopolicy/AudioPolicyInterface.h +2 −0 Original line number Diff line number Diff line Loading @@ -300,6 +300,8 @@ public: virtual bool isUltrasoundSupported() = 0; virtual bool isHotwordStreamSupported(bool lookbackAudio) = 0; virtual status_t getHwOffloadFormatsSupportedForBluetoothMedia( audio_devices_t device, std::vector<audio_format_t> *formats) = 0; Loading services/audiopolicy/managerdefault/AudioPolicyManager.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -5687,6 +5687,21 @@ bool AudioPolicyManager::isUltrasoundSupported() return false; } bool AudioPolicyManager::isHotwordStreamSupported(bool lookbackAudio) { const auto mask = AUDIO_INPUT_FLAG_HOTWORD_TAP | (lookbackAudio ? AUDIO_INPUT_FLAG_HW_LOOKBACK : 0); for (const auto& hwModule : mHwModules) { const InputProfileCollection &inputProfiles = hwModule->getInputProfiles(); for (const auto &inputProfile : inputProfiles) { if ((inputProfile->getFlags() & mask) == mask) { return true; } } } return false; } bool AudioPolicyManager::isCallScreenModeSupported() { return getConfig().isCallScreenModeSupported(); Loading services/audiopolicy/managerdefault/AudioPolicyManager.h +2 −0 Original line number Diff line number Diff line Loading @@ -355,6 +355,8 @@ public: virtual bool isUltrasoundSupported(); bool isHotwordStreamSupported(bool lookbackAudio) override; virtual status_t listAudioProductStrategies(AudioProductStrategyVector &strategies) { return mEngine->listAudioProductStrategies(strategies); Loading services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -2045,6 +2045,17 @@ Status AudioPolicyService::isUltrasoundSupported(bool* _aidl_return) return Status::ok(); } Status AudioPolicyService::isHotwordStreamSupported(bool lookbackAudio, bool* _aidl_return) { if (mAudioPolicyManager == nullptr) { return binderStatusFromStatusT(NO_INIT); } Mutex::Autolock _l(mLock); AutoCallerClear acc; *_aidl_return = mAudioPolicyManager->isHotwordStreamSupported(lookbackAudio); return Status::ok(); } Status AudioPolicyService::listAudioProductStrategies( std::vector<media::AudioProductStrategy>* _aidl_return) { AudioProductStrategyVector strategies; Loading Loading
media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl +9 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,15 @@ interface IAudioPolicyService { boolean isUltrasoundSupported(); /** * Queries if there is hardware support for requesting audio capture content from * the DSP hotword pipeline. * * @param lookbackAudio true if additionally querying for the ability to capture audio * from the pipeline prior to capture stream open. */ boolean isHotwordStreamSupported(boolean lookbackAudio); AudioProductStrategy[] listAudioProductStrategies(); int /* product_strategy_t */ getProductStrategyFromAudioAttributes( in AudioAttributesInternal aa, boolean fallbackOnDefault); Loading
services/audiopolicy/AudioPolicyInterface.h +2 −0 Original line number Diff line number Diff line Loading @@ -300,6 +300,8 @@ public: virtual bool isUltrasoundSupported() = 0; virtual bool isHotwordStreamSupported(bool lookbackAudio) = 0; virtual status_t getHwOffloadFormatsSupportedForBluetoothMedia( audio_devices_t device, std::vector<audio_format_t> *formats) = 0; Loading
services/audiopolicy/managerdefault/AudioPolicyManager.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -5687,6 +5687,21 @@ bool AudioPolicyManager::isUltrasoundSupported() return false; } bool AudioPolicyManager::isHotwordStreamSupported(bool lookbackAudio) { const auto mask = AUDIO_INPUT_FLAG_HOTWORD_TAP | (lookbackAudio ? AUDIO_INPUT_FLAG_HW_LOOKBACK : 0); for (const auto& hwModule : mHwModules) { const InputProfileCollection &inputProfiles = hwModule->getInputProfiles(); for (const auto &inputProfile : inputProfiles) { if ((inputProfile->getFlags() & mask) == mask) { return true; } } } return false; } bool AudioPolicyManager::isCallScreenModeSupported() { return getConfig().isCallScreenModeSupported(); Loading
services/audiopolicy/managerdefault/AudioPolicyManager.h +2 −0 Original line number Diff line number Diff line Loading @@ -355,6 +355,8 @@ public: virtual bool isUltrasoundSupported(); bool isHotwordStreamSupported(bool lookbackAudio) override; virtual status_t listAudioProductStrategies(AudioProductStrategyVector &strategies) { return mEngine->listAudioProductStrategies(strategies); Loading
services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -2045,6 +2045,17 @@ Status AudioPolicyService::isUltrasoundSupported(bool* _aidl_return) return Status::ok(); } Status AudioPolicyService::isHotwordStreamSupported(bool lookbackAudio, bool* _aidl_return) { if (mAudioPolicyManager == nullptr) { return binderStatusFromStatusT(NO_INIT); } Mutex::Autolock _l(mLock); AutoCallerClear acc; *_aidl_return = mAudioPolicyManager->isHotwordStreamSupported(lookbackAudio); return Status::ok(); } Status AudioPolicyService::listAudioProductStrategies( std::vector<media::AudioProductStrategy>* _aidl_return) { AudioProductStrategyVector strategies; Loading