Ok, that helped, thanks. So I conducted a dumb manual testing and I will describe what I saw.
I did multiple calls with HTC m7 and a MacBook Pro (tried Chrome, latest Microsoft Edge and Firefox). I have both devices on the same 801.11ac hotspot in the line of sight across the room.
TLDR: Weird shit, most tests were maxed out at 1750kbps, two tests got stable 2500kbps, one test got stuck at 2000kbps. Diagonal artifacts appeared either when I changed video orientation, but sometimes arbitrarily, independent of what I did. Most of the times they didn’t appear at all.
The first test was the most interesting one. The device was charging, I turned on the video in horizontal orientation, initial bitrate was 500—800kbps and it stayed like that for 30 or 45 seconds, probably. The connection indicator even switched to yellow for some time. Then I rotated the device and got this artifact screen below, which disappeared after 1-2 seconds.
Meanwhile the bitrate shot up to 1750kbps.
I rotated the phone for some time and it triggered the effect several more times, although there wasn’t 100% correlation between the picture deterioration and when orientation was switched. Then these artifacts stopped appearing altogether.
I switched to the environment-facing camera and at that point noticed the bitrate going up to ≈2500kbps where it stayed for 5-7 minutes, until I stopped the conference. That said, even with such bitrate I never got above 960x544, even though my config.js declares
Then I did three more calls. I wasn’t able to trigger the artifact screen again. The bitrate stayed at 1750kbps
I thought maybe the CPU got hot and throttles. The device did get hot, but not nearly as hot as with software encoding and it took much longer. I disconnected the charging cable, cooled the CPU, then re-joined the conference (being on battery power), but only saw 1750kbps again. The device crashed when I changed the orientation, but I’m not sure if it can be 100% attributed to encoding, because it runs unofficial LineageOS 16 (Android 9 port) on a 2013 device, so it may have contributed into instability.
After the crash I created another conference. This time the orientation change caused the artifact screen to appear, but only one time, not systematically. Then after a few minutes I saw the bitrate go up to ≈2000kbps, and it stayed there consistently.
I disconnected after 5 minutes and when I rejoined I saw the video parameters at 2500kbps, 1440x816@16fps. Battery got fully discharged after 20 minutes, and the device switched off abruptly.
I started charging it, turned it on, joined the conference once again. This time the diagonal artifact lines were present almost all the time, I only saw normal image for short periods of 3-5 seconds.
After 45 minutes I did another test and once again got a lot of artifact lines. I decided to test whether artifacts only appear when the device is charging, so I disconnected the power cable and re-connected to the room. This time no artifacts, but higher bitrate of 2500kbps. Connected back the power cable and re-joined — still no artifacts, bitrate dropped back to 1750.
I can’t see any consistent pattern in what I saw. I also tried to join the room in varying orders (mobile client being first or second to join), but I didn’t see it correlate with anything either.
One thing I noticed for the first time is that video quality on the preview is different depending on whether you’re alone in the room or joined by someone. The latter is noticeably degraded as shown on the GIF below. Is this ok?