EffectHalAidl: set the datamq event flag at intialization time
Bug: 363428226
Test: atest AudioEffectTest
Test: YouTubeMusic with effect enabled
Change-Id: Iaa163d7d01c4efb9356312351b7febc0bff37bc0
diff --git a/media/libaudiohal/impl/EffectHalAidl.cpp b/media/libaudiohal/impl/EffectHalAidl.cpp
index f68dd8a..9fdde49 100644
--- a/media/libaudiohal/impl/EffectHalAidl.cpp
+++ b/media/libaudiohal/impl/EffectHalAidl.cpp
@@ -80,7 +80,9 @@
int version = 0;
// use factory HAL version because effect can be an EffectProxy instance
return factory->getInterfaceVersion(&version).isOk() ? version : 0;
- }()) {
+ }()),
+ mEventFlagDataMqNotEmpty(mHalVersion >= kReopenSupportedVersion ? kEventFlagDataMqNotEmpty
+ : kEventFlagNotEmpty) {
assert(mFactory != nullptr);
assert(mEffect != nullptr);
createAidlConversion(effect, sessionId, ioId, desc);
@@ -249,9 +251,7 @@
return 0;
}
- // for V2 audio effect HAL, expect different EventFlag to avoid bit conflict with FMQ_NOT_EMPTY
- efGroup->wake(mHalVersion >= kReopenSupportedVersion ? kEventFlagDataMqNotEmpty
- : kEventFlagNotEmpty);
+ efGroup->wake(mEventFlagDataMqNotEmpty);
return samplesToWrite;
}