Loading services/audiopolicy/service/Spatializer.cpp +12 −5 Original line number Diff line number Diff line Loading @@ -519,9 +519,11 @@ Status Spatializer::setHeadSensor(int sensorHandle) { return binderStatusFromStatusT(INVALID_OPERATION); } std::lock_guard lock(mLock); if (mHeadSensor != sensorHandle) { mHeadSensor = sensorHandle; checkPoseController_l(); checkSensorsState_l(); } return Status::ok(); } Loading @@ -531,8 +533,13 @@ Status Spatializer::setScreenSensor(int sensorHandle) { return binderStatusFromStatusT(INVALID_OPERATION); } std::lock_guard lock(mLock); if (mScreenSensor != sensorHandle) { mScreenSensor = sensorHandle; // TODO: consider a new method setHeadAndScreenSensor() // because we generally set both at the same time. // This will avoid duplicated work and recentering. checkSensorsState_l(); } return Status::ok(); } Loading services/audiopolicy/service/SpatializerPoseController.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -149,6 +149,10 @@ SpatializerPoseController::~SpatializerPoseController() { void SpatializerPoseController::setHeadSensor(int32_t sensor) { std::lock_guard lock(mMutex); if (sensor == mHeadSensor) return; ALOGV("%s: new sensor:%d mHeadSensor:%d mScreenSensor:%d", __func__, sensor, mHeadSensor, mScreenSensor); // Stop current sensor, if valid and different from the other sensor. if (mHeadSensor != INVALID_SENSOR && mHeadSensor != mScreenSensor) { mPoseProvider->stopSensor(mHeadSensor); Loading Loading @@ -179,11 +183,15 @@ void SpatializerPoseController::setHeadSensor(int32_t sensor) { mHeadSensor = INVALID_SENSOR; } mProcessor->recenter(true, false); mProcessor->recenter(true /* recenterHead */, false /* recenterScreen */); } void SpatializerPoseController::setScreenSensor(int32_t sensor) { std::lock_guard lock(mMutex); if (sensor == mScreenSensor) return; ALOGV("%s: new sensor:%d mHeadSensor:%d mScreenSensor:%d", __func__, sensor, mHeadSensor, mScreenSensor); // Stop current sensor, if valid and different from the other sensor. if (mScreenSensor != INVALID_SENSOR && mScreenSensor != mHeadSensor) { mPoseProvider->stopSensor(mScreenSensor); Loading Loading @@ -212,7 +220,7 @@ void SpatializerPoseController::setScreenSensor(int32_t sensor) { mScreenSensor = INVALID_SENSOR; } mProcessor->recenter(false, true); mProcessor->recenter(false /* recenterHead */, true /* recenterScreen */); } void SpatializerPoseController::setDesiredMode(HeadTrackingMode mode) { Loading Loading
services/audiopolicy/service/Spatializer.cpp +12 −5 Original line number Diff line number Diff line Loading @@ -519,9 +519,11 @@ Status Spatializer::setHeadSensor(int sensorHandle) { return binderStatusFromStatusT(INVALID_OPERATION); } std::lock_guard lock(mLock); if (mHeadSensor != sensorHandle) { mHeadSensor = sensorHandle; checkPoseController_l(); checkSensorsState_l(); } return Status::ok(); } Loading @@ -531,8 +533,13 @@ Status Spatializer::setScreenSensor(int sensorHandle) { return binderStatusFromStatusT(INVALID_OPERATION); } std::lock_guard lock(mLock); if (mScreenSensor != sensorHandle) { mScreenSensor = sensorHandle; // TODO: consider a new method setHeadAndScreenSensor() // because we generally set both at the same time. // This will avoid duplicated work and recentering. checkSensorsState_l(); } return Status::ok(); } Loading
services/audiopolicy/service/SpatializerPoseController.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -149,6 +149,10 @@ SpatializerPoseController::~SpatializerPoseController() { void SpatializerPoseController::setHeadSensor(int32_t sensor) { std::lock_guard lock(mMutex); if (sensor == mHeadSensor) return; ALOGV("%s: new sensor:%d mHeadSensor:%d mScreenSensor:%d", __func__, sensor, mHeadSensor, mScreenSensor); // Stop current sensor, if valid and different from the other sensor. if (mHeadSensor != INVALID_SENSOR && mHeadSensor != mScreenSensor) { mPoseProvider->stopSensor(mHeadSensor); Loading Loading @@ -179,11 +183,15 @@ void SpatializerPoseController::setHeadSensor(int32_t sensor) { mHeadSensor = INVALID_SENSOR; } mProcessor->recenter(true, false); mProcessor->recenter(true /* recenterHead */, false /* recenterScreen */); } void SpatializerPoseController::setScreenSensor(int32_t sensor) { std::lock_guard lock(mMutex); if (sensor == mScreenSensor) return; ALOGV("%s: new sensor:%d mHeadSensor:%d mScreenSensor:%d", __func__, sensor, mHeadSensor, mScreenSensor); // Stop current sensor, if valid and different from the other sensor. if (mScreenSensor != INVALID_SENSOR && mScreenSensor != mHeadSensor) { mPoseProvider->stopSensor(mScreenSensor); Loading Loading @@ -212,7 +220,7 @@ void SpatializerPoseController::setScreenSensor(int32_t sensor) { mScreenSensor = INVALID_SENSOR; } mProcessor->recenter(false, true); mProcessor->recenter(false /* recenterHead */, true /* recenterScreen */); } void SpatializerPoseController::setDesiredMode(HeadTrackingMode mode) { Loading