Skip to content

Binaural TD Object renderer: first frame accesses wrong transport channel offsets

Basic info

  • Commit SHA: main
  • Platform: all

Bug description

In the binaural TD object renderer in the first subframes of the first frame the playout status for all objects is TDREND_PLAYSTATUS_INITIAL and is set to TDREND_PLAYSTATUS_PLAYING only after the first call to TDREND_Update_object_positions(), which happens, depending on the delay compensastion only in subframe 1 or 2. This means, since the transport channel pointer Src_p->InputFrame_p is incremented inside TDREND_REND_RenderSourceHRFilt() it still then points to the beginning of the frame instead to the beginning of the subframe to be processed, leading at least in the self test vector to completely zeroing the first frame. Please note that in the JBM path this is done already in a correct way (increment in the outside subframe loop) so when doing a fix please take care that this is not broken then.

Ways to reproduce

(Clear steps or refer to a failing automated test, e.g. with a pipeline link)