Files
livekit/pkg
Raja Subramanian cee3fdb25e Better lock for sender report TS offset. (#2771)
* Better lock for sender report TS offset.

It is possible that a resume has happened and new time stamp offset
calculated. But, a sender report from publisher comes with a time stamp
prior to the time stamp which was used for offset calculation. Using
that sender report in the forwarding path causes jumps.

Example
- Track forwarding, let us tsOffset = `a`
- Unmute/layer switch - one of those events happens, a new tsOffset will
  be calculated, let us say that offset is `b` and it is based on
  incoming time stmap of `c`.
- A sender report from publisher could arrive with timestamp = `d`.
  o If `d` >= `c`,  the offset `b` is correct and can be applied.
  o But, it is possible that `d` < `c`, in that case, offset `a` should
    be used and not `b`.

To address this, keep track of incoming extended timestamp at switch
point and accept incoming sender reports which have a timestamp >=
switch point timestamp.

* clean up

* log more details on invalid layer
2024-06-07 23:56:10 +05:30
..
2024-06-05 19:46:34 -07:00
2024-05-24 17:43:28 +08:00
2024-06-05 19:46:34 -07:00
2024-06-05 19:46:34 -07:00
2024-06-05 23:50:54 -07:00
2024-04-23 02:20:54 -07:00