diff --git a/lib_com/options.h b/lib_com/options.h index 6bfe63675545869d26b63960f5671f6c88f9fb20..5f86a6d988e3959feb7e7fcac19e630a4d9fe889 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,6 +175,7 @@ #define FIX_1574_EFAP_CODE_LINT /* FhG: issue 1574: Code quality fixes in ivas_efap.c */ #define FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS /* Nokia: float issue 1569: fix render config checks in renderer */ #define FIX_1571_BFI_COPY_ARRAY_CORRECT_LEN /* FhG: issue 1571: use correct channel signal length for copying signal to buffer */ +#define FIX_FLOAT_1573_POSITION_UPDATE /* Eri: Float issue 1573: For static orientation and listener movement, the PoseUpdated flag is cleared and prevents 5 ms update rate. */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 65f30acdd643eedbe8077532d1e2f46ab1773e04..9eaa766fcb011c6c23d2a74704a6ab6c63d02989 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -107,8 +107,14 @@ ivas_error TDREND_MIX_LIST_SetOrient( /* Get listener */ List_p = hBinRendererTd->Listener_p; +#ifdef FIX_FLOAT_1573_POSITION_UPDATE + /* Evaluate the normalized orientation vectors and set pose update flag */ + /* Use OR since the position may have been updated in TDREND_MIX_LIST_SetPos */ + List_p->PoseUpdated |= TDREND_SPATIAL_EvalOrthonormOrient( List_p->Front, List_p->Up, List_p->Right, FrontVec_p, UpVec_p ); +#else /* Evaluate the normalized orientation vectors and set pose update flag */ List_p->PoseUpdated = TDREND_SPATIAL_EvalOrthonormOrient( List_p->Front, List_p->Up, List_p->Right, FrontVec_p, UpVec_p ); +#endif return IVAS_ERR_OK; }