I am creating a custom UI using the Meeting SDK. The app has a single videoView and at startup the activeVideoUnit is displayed and the visibility of the video stream is related to the audio trigger.
The user that has speaking is currently visible.
The users can also choose which meeting partcipant are interested to see using showSpecificUser function.
The issue happens when they come back to the ActiveVideoUnit using the showActiveUser function.
The video remains black (empty), the user name is properly visible, and the audio of the active user is audible.
NOTE: the result value of addAttendeeVideoUnit or addActiveVideoUnit is always “true”
Thank you for posting in the Zoom Developer, and sorry for the missed response. To better understand your pain points and what you want to accomplish, please share a screenshot of the custom UI using the Meeting SDK at startup and one when the user returns to the ActiveVideoUnit using the showActiveUser function. This context will help us diagnose what may be happening.
I prepared a video. I hope that it makes more clear what is happening.
on the left side you can see the iOS implementation with the expected pin/unpin behavior
on the right side you can see the Android implementation with the active video unit that remains black after the unpin
The interesting thing is that when I turn off the camera on the iOS side the placeholder icon added by the Zoom SDK is properly visible, so I guess that the user is properly assigned to the video unit but the video streaming is not visualized.
Have you also added the function removeAllVideoUnits when you unpin a user? It seems you’ve added it when pinning a user, wondering had you also add it when unpinning the user.
Thank you
When you switch from the gallery view back to the active user, you’ll need to use removeAllVideoUnits for each videoView that is present in the gallery view to make sure you’ve clean up all the videos.
Please let me know is this issue still exists after adding the function.
Thank you
I would like to know how did you implement the gallery view. Each user video in the gallery view is a MobileRTcVideoView. We’ll need to call removeAllVideoUnits for each MobileRTcVideoView when we switch from the gallery view to the active user or specific user view.