EffectProxy return the active sub-effect descriptor
Bug: 271500140
Test: Youtube Music on Panther
Merged-In: I13d92f9d8345e7d38e886adaf82f4e67eebea5a8
Change-Id: I13d92f9d8345e7d38e886adaf82f4e67eebea5a8
diff --git a/media/libaudiohal/impl/EffectProxy.cpp b/media/libaudiohal/impl/EffectProxy.cpp
index fac03b7..a131879 100644
--- a/media/libaudiohal/impl/EffectProxy.cpp
+++ b/media/libaudiohal/impl/EffectProxy.cpp
@@ -134,8 +134,8 @@
}
ndk::ScopedAStatus EffectProxy::getDescriptor(Descriptor* desc) {
- desc->common = mDescriptorCommon;
- desc->capability = mSubEffects[mActiveSubIdx].descriptor.capability;
+ *desc = mSubEffects[mActiveSubIdx].descriptor;
+ desc->common.id.uuid = desc->common.id.proxy.value();
return ndk::ScopedAStatus::ok();
}
@@ -166,6 +166,12 @@
common.flags.hwAcceleratorMode = Flags::HardwareAccelerator::TUNNEL;
}
+ // initial flag values before we know which sub-effect to active (with setOffloadParam)
+ // same as HIDL EffectProxy flags
+ common.flags.type = Flags::Type::INSERT;
+ common.flags.insert = Flags::Insert::LAST;
+ common.flags.volume = Flags::Volume::NONE;
+
// set indication if any sub-effect indication was set
common.flags.offloadIndication |= desc.common.flags.offloadIndication;
common.flags.deviceIndication |= desc.common.flags.deviceIndication;