Loading media/libaudiohal/impl/EffectsFactoryHalHidl.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ using namespace ::android::hardware::audio::effect::CPP_VERSION; EffectsFactoryHalHidl::EffectsFactoryHalHidl(sp<IEffectsFactory> effectsFactory) : ConversionHelperHidl("EffectsFactory") { ALOG_ASSERT(effectsFactory != nullptr, "Provided IDevicesFactory service is NULL"); ALOG_ASSERT(effectsFactory != nullptr, "Provided IEffectsFactory service is NULL"); mEffectsFactory = effectsFactory; } Loading media/libaudiohal/impl/EffectsFactoryHalHidl.h +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ class EffectsFactoryHalHidl : public EffectsFactoryHalInterface, public Conversi virtual status_t dumpEffects(int fd); virtual float getHalVersion() { return MAJOR_VERSION + (float)MINOR_VERSION / 10; } status_t allocateBuffer(size_t size, sp<EffectBufferHalInterface>* buffer) override; status_t mirrorBuffer(void* external, size_t size, sp<EffectBufferHalInterface>* buffer) override; Loading media/libaudiohal/include/media/audiohal/EffectsFactoryHalInterface.h +2 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,8 @@ class EffectsFactoryHalInterface : public RefBase virtual status_t dumpEffects(int fd) = 0; virtual float getHalVersion() = 0; static sp<EffectsFactoryHalInterface> create(); virtual status_t allocateBuffer(size_t size, sp<EffectBufferHalInterface>* buffer) = 0; Loading services/audioflinger/DeviceEffectManager.cpp +12 −3 Original line number Diff line number Diff line Loading @@ -117,10 +117,19 @@ sp<AudioFlinger::EffectHandle> AudioFlinger::DeviceEffectManager::createEffect_l status_t AudioFlinger::DeviceEffectManager::checkEffectCompatibility( const effect_descriptor_t *desc) { sp<EffectsFactoryHalInterface> effectsFactory = mAudioFlinger.getEffectsFactory(); if (effectsFactory == nullptr) { return BAD_VALUE; } static const float sMinDeviceEffectHalVersion = 6.0; float halVersion = effectsFactory->getHalVersion(); if ((desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_PRE_PROC && (desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_POST_PROC) { ALOGW("%s() non pre/post processing device effect %s", __func__, desc->name); if (((desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_PRE_PROC && (desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_POST_PROC) || halVersion < sMinDeviceEffectHalVersion) { ALOGW("%s() non pre/post processing device effect %s or incompatible API version %f", __func__, desc->name, halVersion); return BAD_VALUE; } Loading Loading
media/libaudiohal/impl/EffectsFactoryHalHidl.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ using namespace ::android::hardware::audio::effect::CPP_VERSION; EffectsFactoryHalHidl::EffectsFactoryHalHidl(sp<IEffectsFactory> effectsFactory) : ConversionHelperHidl("EffectsFactory") { ALOG_ASSERT(effectsFactory != nullptr, "Provided IDevicesFactory service is NULL"); ALOG_ASSERT(effectsFactory != nullptr, "Provided IEffectsFactory service is NULL"); mEffectsFactory = effectsFactory; } Loading
media/libaudiohal/impl/EffectsFactoryHalHidl.h +2 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,8 @@ class EffectsFactoryHalHidl : public EffectsFactoryHalInterface, public Conversi virtual status_t dumpEffects(int fd); virtual float getHalVersion() { return MAJOR_VERSION + (float)MINOR_VERSION / 10; } status_t allocateBuffer(size_t size, sp<EffectBufferHalInterface>* buffer) override; status_t mirrorBuffer(void* external, size_t size, sp<EffectBufferHalInterface>* buffer) override; Loading
media/libaudiohal/include/media/audiohal/EffectsFactoryHalInterface.h +2 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,8 @@ class EffectsFactoryHalInterface : public RefBase virtual status_t dumpEffects(int fd) = 0; virtual float getHalVersion() = 0; static sp<EffectsFactoryHalInterface> create(); virtual status_t allocateBuffer(size_t size, sp<EffectBufferHalInterface>* buffer) = 0; Loading
services/audioflinger/DeviceEffectManager.cpp +12 −3 Original line number Diff line number Diff line Loading @@ -117,10 +117,19 @@ sp<AudioFlinger::EffectHandle> AudioFlinger::DeviceEffectManager::createEffect_l status_t AudioFlinger::DeviceEffectManager::checkEffectCompatibility( const effect_descriptor_t *desc) { sp<EffectsFactoryHalInterface> effectsFactory = mAudioFlinger.getEffectsFactory(); if (effectsFactory == nullptr) { return BAD_VALUE; } static const float sMinDeviceEffectHalVersion = 6.0; float halVersion = effectsFactory->getHalVersion(); if ((desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_PRE_PROC && (desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_POST_PROC) { ALOGW("%s() non pre/post processing device effect %s", __func__, desc->name); if (((desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_PRE_PROC && (desc->flags & EFFECT_FLAG_TYPE_MASK) != EFFECT_FLAG_TYPE_POST_PROC) || halVersion < sMinDeviceEffectHalVersion) { ALOGW("%s() non pre/post processing device effect %s or incompatible API version %f", __func__, desc->name, halVersion); return BAD_VALUE; } Loading