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;