On tile view enter/exit, local video is moved in the DOM (an effect of not being reactified and moving being easier) and play is called on its video element. The race condition setup is such: in tile view with other participants and local video is on large (not visible in the UI but visible in the app state and pip popout). The race is such: pin a remote video, large video update is queued, tile view is exited, local video is moved, play is called,, onVideoPlaying callback executed, middleware fires mute update, which checks if local is on large (it is), previous large video update is cleared, and local is placed on large. The fix is ensuring the redux representation of local video is passed in, which holds the boolean videoStarted, which prevents the onVideoPlaying callback from firing on subsequent plays.master
|
|
||
11 |
|
11 |
|
12 |
|
12 |
|
13 |
|
13 |
|
|
14 |
|
|
14 |
|
15 |
|
15 |
|
16 |
|
16 |
|
17 |
|
|
|
||
292 |
|
293 |
|
293 |
|
294 |
|
294 |
|
295 |
|
|
296 |
|
|
|
297 |
|
|
295 |
|
298 |
|
296 |
|
299 |
|
297 |
|
300 |
|
298 |
|
301 |
|
299 |
|
302 |
|
300 |
|
|
|
|
303 |
|
|
301 |
|
304 |
|
302 |
|
305 |
|
303 |
|
306 |
|