AudioFlinger: Create DeviceEffectManager callback
Test: atest AudioTrackTest AudioRecordTest
Test: Camera YouTube
Bug: 291319167
Change-Id: Id64e51136079da0ad0218de2836c01d0be4a69bd
diff --git a/services/audioflinger/DeviceEffectManager.cpp b/services/audioflinger/DeviceEffectManager.cpp
index 0f645cd..d78e26f 100644
--- a/services/audioflinger/DeviceEffectManager.cpp
+++ b/services/audioflinger/DeviceEffectManager.cpp
@@ -34,22 +34,23 @@
using detail::AudioHalVersionInfo;
using media::IEffectClient;
-DeviceEffectManager::DeviceEffectManager(AudioFlinger& audioFlinger)
- : mAudioFlinger(audioFlinger),
+DeviceEffectManager::DeviceEffectManager(
+ const sp<IAfDeviceEffectManagerCallback>& afDeviceEffectManagerCallback)
+ : mAfDeviceEffectManagerCallback(afDeviceEffectManagerCallback),
mMyCallback(new DeviceEffectManagerCallback(*this)) {}
void DeviceEffectManager::onFirstRef() {
- mAudioFlinger.mPatchCommandThread->addListener(this);
+ mAfDeviceEffectManagerCallback->getPatchCommandThread()->addListener(this);
}
status_t DeviceEffectManager::addEffectToHal(const struct audio_port_config* device,
const sp<EffectHalInterface>& effect) {
- return mAudioFlinger.addEffectToHal(device, effect);
+ return mAfDeviceEffectManagerCallback->addEffectToHal(device, effect);
};
status_t DeviceEffectManager::removeEffectFromHal(const struct audio_port_config* device,
const sp<EffectHalInterface>& effect) {
- return mAudioFlinger.removeEffectFromHal(device, effect);
+ return mAfDeviceEffectManagerCallback->removeEffectFromHal(device, effect);
};
void DeviceEffectManager::onCreateAudioPatch(audio_patch_handle_t handle,
@@ -129,7 +130,8 @@
}
if (effect == nullptr) {
effect = IAfDeviceEffectProxy::create(device, mMyCallback,
- descriptor, mAudioFlinger.nextUniqueId(AUDIO_UNIQUE_ID_USE_EFFECT),
+ descriptor,
+ mAfDeviceEffectManagerCallback->nextUniqueId(AUDIO_UNIQUE_ID_USE_EFFECT),
notifyFramesProcessed);
effectsForDevice.push_back(effect);
}
@@ -266,11 +268,11 @@
}
bool DeviceEffectManagerCallback::isAudioPolicyReady() const {
- return mManager.audioFlinger().isAudioPolicyReady();
+ return mManager.afDeviceEffectManagerCallback()->isAudioPolicyReady();
}
int DeviceEffectManagerCallback::newEffectId() const {
- return mManager.audioFlinger().nextUniqueId(AUDIO_UNIQUE_ID_USE_EFFECT);
+ return mManager.afDeviceEffectManagerCallback()->nextUniqueId(AUDIO_UNIQUE_ID_USE_EFFECT);
}
} // namespace android