Best Practice - Arranging User Videos in Container

Looking for insight into best practice/approach to handling multiple user videos in a meeting. We are using CustomizedUI and currently create a handle of VideoContainers each of which holds a VideoRenderElement. As users join/leave the meeting, we subscribe these users to the available VideoRenderElements. When a new user needs to take over the spot, we subscribe the new users data.

It appears we do not need to call unsubscribe first - the new subscription seems to take over - but is this advisable? We have noticed that if unsubscribe is called, the users data is unsubscribed from every render element, so if we are swapping two user videos, we need to perform the unsub for both first before setting up a new sub, else the new sub gets cleared out when that users original element is cleared.

However, we have noticed that some times user videos get aligned with the wrong user data on our end, so wondering if the missing unsubscribe is an issue.

Also, from SDK doc - it seems like we could change our design to use a single VideoContainer and this could hold multiple VideoRenderElements… basically have the main meeting view act as the top level VideoContainer and just position the VideoRenderElements all within this container, to limit the amount of Create/Destroy calls.

Lastly - we occaisonally see users whos video is blank - no stream as well as no username/static image when the camera is off. In a meeting with 100 users, this happens for ~10 users, seemingly randomly. Any ideas as to cause here? We do not have any errors in our log - all SDK calls return success.

Hey @brook.ballard,

Thanks for using the dev forum!

We do advise that you call unsubscribe first, as subscribing to a user tells the SDK where/who to send video data.

That would be guess as well.

This should be possible.

Hmm that is indeed strange. To investigate this one, we would need the SDK logs from an instance where this happened. If it is possible to obtain this in your environment please let me know and I will explain the next steps.

Thanks!
Michael

Thanks Michael! If the issue occurs again I will capture and post SDK logs.

Hey @brook.ballard,

Sounds good! I will keep a look out :slight_smile:

Thanks!
Michael