Fix non-offloadable effect creation on offload threads
Do not prevent the creation of non-offloadable effects on
offload threads.
Bug 29229872
Change-Id: I1deebb5c0973f67a9e925ef1278d22ef7f62c779
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 6f827d9..72be301 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -1341,12 +1341,10 @@
}
} break;
case OFFLOAD:
- // only offloadable effects on offload thread
- if ((desc->flags & EFFECT_FLAG_OFFLOAD_MASK) != EFFECT_FLAG_OFFLOAD_SUPPORTED) {
- ALOGW("checkEffectCompatibility_l(): non offloadable effect %s created on"
- " OFFLOAD thread %s", desc->name, mThreadName);
- return BAD_VALUE;
- }
+ // nothing actionable on offload threads, if the effect:
+ // - is offloadable: the effect can be created
+ // - is NOT offloadable: the effect should still be created, but EffectHandle::enable()
+ // will take care of invalidating the tracks of the thread
break;
case DIRECT:
// Reject any effect on Direct output threads for now, since the format of