mirror of https://github.com/OpenVidu/openvidu.git
The same check as connectionQualityLostPublisherSubscriberNotLostTest, but with the media OpenVidu Meet publishes. The Meet bundle currently deployed runs its Room with adaptiveStream and dynacast, a 720p camera and livekit-client's publish defaults (simulcast, DTX, RED, VP8). The connection-quality tests turned simulcast, dynacast and adaptiveStream off, so the camera was a single 640x480 layer. connectionQualityTest() gets an overload with a videoOptimizations flag: simulcast, dynacast and adaptiveStream enabled for both users, with a 1280x720 camera published as three VP8 simulcast layers. The existing 4-argument form passes false, so the other connection-quality tests are unchanged. The body of the previous test moves to lostPublisherDoesNotMakeSubscriberLost(videoOptimizations), which both tests call. With a simulcast camera the video track does not trigger the bug. mediasoup zeroes the score of a silent Producer with several layers within 1.5 s, and only the audio track keeps a frozen score. That also makes the publisher LOST two server quality updates earlier than with a single layer, so the subscriber's wrong LOST arrives 10 s after the publisher's. The wait after the publisher is LOST therefore goes from 10 s to 15 s; with 10 s the check ran just as that LOST arrived. Caveat: the publisher's livekit-client (>= 2.22) does its full reconnect in that same update, 10 s after its first LOST. A server with the bug therefore fails this test only while its quality update reaches the subscriber before the publisher's Leave does. It won by 10-15 ms in all 4 runs, but if it ever loses, a buggy server passes; a correct server can never fail. The single-layer test has no such race. Verified against the local Compose deployment: - mediasoup, server image built before the openvidu-pro-livekit fix: the new test failed 4 of 4 times. RegularUser went EXCELLENT -> LOST through its audio consumer, while its video consumer read producer score 0 and stayed EXCELLENT. - mediasoup with the fix, and pion: both tests pass. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| docker | ||
| src | ||
| pom.xml | ||