Fix delay application in synchroniser
Description
The frameMatrix synchroniser has an optional value which is a delay which is used to handle the timeshift between both image& matrix streams.
The present mechanism is:
=> take the last matrix that arrived
=> take the closest frame with the same timestamp - delay
However, if the delay is negative (matrix is later than frames) this mechanism looks for a frame in the future, and the closest found will be the last arrived, (same as delay = 0)
Steps to reproduce
Synch frame and matrices with an important delay in the matrix arrival.
When setting the delay to the timeshifft, the difference remains visible.
Functional specifications
The timeshift should be applied on each timeline independently
The timeshift should always lead to a value "in the past", which can exist, rather than in the future ( like the present negative value)
Technical specifications
In the frame matrix synchroniser
- add a map with the different tl input key, and a timeshift (positive int) with default is 0.
- add a signal to modify the timeshift, with the tl inputkey as key to identify on which tl to apply the modification
- add the tl timeshift at each of them when looking for the data at the synch.