White camera when some devices connet to session

Hello,

we set up our conference call API using openvidu server with this configuration:

  1. OpenVidu (2.15 and 2.16) Server on AWS c5-large instances (different stacks)
  2. Openvidu Angular Client for web (Angular 9.0)
  3. Openvidu Java for our back end (Java 1.8 appserver: tomcat 9 webserver: apache 2.4.6)
  4. WebRtc Protocol for our apps (iOS and Android)

Everything works quite fine, we have many instances of this stack and we are able to connect without a problem between users via Web or App. We also developed an Augmented Reality conference environment where the user from the app is able to stream the feed of the rear camera along the 3D objects using a snapshot image (updated about 30 times per second) as his video stream, instead of the normal camera feed.

Even in this scenario we are not encountering any problem on most devices.

Recently we are encountering a very weird problem: only few devices, when using the AR mode, are displayed as white screen and no audio (no stream at all). Sometimes the stream starts to work as expected after a very long wait (even 10+ minutes).
During this time the person streaming the white video sees all the other participants as black screens and we are not able to communicate until the camera kicks in. This type of behavior is occurring purely randomly as some devices are more likely to encounter this problem but even on these devices is not occuring 100% of the time.

The front camera seems to be more reliable but even reducing the size of the rear camera snapshot to be sent over OpenVidu the behavior is not changing in a consistent way.

So far we are able to recreate this problem on:

  1. iPhone XR
  2. iPhone 6s
  3. Xiaomi Redmi note 9 pro

Mind that as i said before we have 2 different apps for both Android and iOS, we are using many instances of OpenVidu server on aws and tested many versions of our Web client to isolate this problem. To no avail we were able to isolate the cause of this bug that seems to have appeared on its own since we are using this technology since early November and conducted many tests with those devices (we performed several rollbacks to identify if some changes on our software caused this problem but even the earliest version, that for sure, didn’t have this bug, now is showing it)

We have captured some logs while the device succesfully streams an while not but i cannot post them for limited char space. If you need some part in particular i can link them below.