Spatializer: fix head pose sensor enabling according to latency mode
Fix logic in Spatializer::checkSensorsState_l() to allow disabling
of head pose sensor if low latency mode is not supported.
Bug: 238408306
Test: spatial audio playback on A2DP wihtout low latency support
Change-Id: I3ff1bb83adc899ef020b635cc64fa04ab03e44f7
diff --git a/services/audiopolicy/service/Spatializer.cpp b/services/audiopolicy/service/Spatializer.cpp
index e8b599a..f4263b0 100644
--- a/services/audiopolicy/service/Spatializer.cpp
+++ b/services/audiopolicy/service/Spatializer.cpp
@@ -804,8 +804,8 @@
bool lowLatencySupported = mSupportedLatencyModes.empty()
|| (std::find(mSupportedLatencyModes.begin(), mSupportedLatencyModes.end(),
AUDIO_LATENCY_MODE_LOW) != mSupportedLatencyModes.end());
- if (mSupportsHeadTracking && mPoseController != nullptr && lowLatencySupported) {
- if (mNumActiveTracks > 0 && mLevel != SpatializationLevel::NONE
+ if (mSupportsHeadTracking && mPoseController != nullptr) {
+ if (lowLatencySupported && mNumActiveTracks > 0 && mLevel != SpatializationLevel::NONE
&& mDesiredHeadTrackingMode != HeadTrackingMode::STATIC
&& mHeadSensor != SpatializerPoseController::INVALID_SENSOR) {
mPoseController->setHeadSensor(mHeadSensor);