diff options
Diffstat (limited to 'media/libeffects')
-rw-r--r-- | media/libeffects/downmix/aidl/EffectDownmix.cpp | 5 | ||||
-rw-r--r-- | media/libeffects/dynamicsproc/aidl/DynamicsProcessing.cpp | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/media/libeffects/downmix/aidl/EffectDownmix.cpp b/media/libeffects/downmix/aidl/EffectDownmix.cpp index de60ca4921..883d41d629 100644 --- a/media/libeffects/downmix/aidl/EffectDownmix.cpp +++ b/media/libeffects/downmix/aidl/EffectDownmix.cpp @@ -177,7 +177,10 @@ void DownmixImpl::process() { * in the life cycle of workerThread (threadLoop). */ uint32_t efState = 0; - if (!mEventFlag || ::android::OK != mEventFlag->wait(kEventFlagNotEmpty, &efState)) { + if (!mEventFlag || + ::android::OK != mEventFlag->wait(mDataMqNotEmptyEf, &efState, 0 /* no timeout */, + true /* retry */) || + !(efState & mDataMqNotEmptyEf)) { LOG(ERROR) << getEffectName() << __func__ << ": StatusEventFlag invalid"; } diff --git a/media/libeffects/dynamicsproc/aidl/DynamicsProcessing.cpp b/media/libeffects/dynamicsproc/aidl/DynamicsProcessing.cpp index fdc16e38d7..836e034c8a 100644 --- a/media/libeffects/dynamicsproc/aidl/DynamicsProcessing.cpp +++ b/media/libeffects/dynamicsproc/aidl/DynamicsProcessing.cpp @@ -213,11 +213,12 @@ ndk::ScopedAStatus DynamicsProcessingImpl::open(const Parameter::Common& common, RETURN_OK_IF(mState != State::INIT); mImplContext = createContext(common); RETURN_IF(!mContext || !mImplContext, EX_NULL_POINTER, "createContextFailed"); - int version = 0; - RETURN_IF(!getInterfaceVersion(&version).isOk(), EX_UNSUPPORTED_OPERATION, + RETURN_IF(!getInterfaceVersion(&mVersion).isOk(), EX_UNSUPPORTED_OPERATION, "FailedToGetInterfaceVersion"); mImplContext->setVersion(version); mEventFlag = mImplContext->getStatusEventFlag(); + mDataMqNotEmptyEf = + mVersion >= kReopenSupportedVersion ? kEventFlagDataMqNotEmpty : kEventFlagNotEmpty; if (specific.has_value()) { RETURN_IF_ASTATUS_NOT_OK(setParameterSpecific(specific.value()), "setSpecParamErr"); @@ -231,8 +232,9 @@ ndk::ScopedAStatus DynamicsProcessingImpl::open(const Parameter::Common& common, mState = State::IDLE; mContext->dupeFmq(ret); - RETURN_IF(createThread(getEffectName()) != RetCode::SUCCESS, EX_UNSUPPORTED_OPERATION, - "FailedToCreateWorker"); + RETURN_IF(createThread(getEffectNameWithVersion()) != RetCode::SUCCESS, + EX_UNSUPPORTED_OPERATION, "FailedToCreateWorker"); + LOG(INFO) << getEffectNameWithVersion() << __func__; return ndk::ScopedAStatus::ok(); } |