You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolves#722
- Fixes `VideoRendererAdapter` never actually removed from the RTC
track, causing multiple tracks concurrently rendering into the same view
- The root cause is tricks like `override func isEqual(_ object: Any?)`
won't work (anymore?) on the Obj-C++ side as it uses `==` directly; it's
also pretty fragile
- `uikit-minimal` was a good example as the number of adapters exploded
after reusing cells
- Reproduction steps:
- create multiple cells in `uikit-minimal` - multiple participants (some
of them can be muted)
- shuffle
- observe cell behavior and FPS
- Moves the side effects a bit, as forcing them to be synchronous:
- was kinda unexpected (and unnecessary) when running from the main
actor `Handle track removal outside of main queue`
- can lead to deadlocks in practice
<img width="278" height="114" alt="Screenshot 2025-08-28 at 1 37 53 PM"
src="https://github.com/user-attachments/assets/281a367d-bfeb-4422-b1fa-99cda94e299f"
/>
---------
Co-authored-by: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com>
0 commit comments