amazon-chime-sdk-ios icon indicating copy to clipboard operation
amazon-chime-sdk-ios copied to clipboard

Allow users to setup their settings before actually joining a meeting.

Open jpmunoz9 opened this issue 4 years ago • 2 comments

We’ve found that a users would very much like to: 1. Join a meeting muted. 2. Join a meeting with video on. 1. With their preferred camera.

Currently to support point 1 we join a meeting and right away we call meetingSession.realtimeLocalMute to do this, but we’ve had instances where the audio leaks for a few milliseconds which is not ideal.

To support point 2, we join a meeting and then we call startLocalVideo which works. The problem is when we try to support point 2.1 which basically has us checking for the current active camera and then determining if we need to do a call to switchCamera, this opens up the possibility of users showing their other camera for a split second.

We would really like to be able to pass these initial parameters when we create/join the MeetingSession. Parameters like localMute: bool, localVideo: bool, cameraType: MediaDevice would allow us to support the above use cases with proper Chime support. Finally maybe a change in switchCamera() to setCamera(camera: MediaDevice) could be valuable, this way de-sync issues from the preferred camera to the active camera could be easier to avoid. Also in iOS switch camera only toggles between the Back and Front camera, but in Android there is a possibility at least as shown in the MediaDevice enum for an externalCamera, which can open up de-sync problems in ReactNative apps that use the switchCamera API interchangeably regardless of the platform.

jpmunoz9 avatar Jan 28 '21 17:01 jpmunoz9

Hi @jpmunoz9 , There are two pieces in this feature request:

  1. Join meeting muted This is something in our backlog, but not prioritized yet.

  2. Join meeting with video on and certain device configurations. There is also a slightly better workaround than what you have described. Our current iOS and Android SDK both support audioVideo.startLocalVideo(source:) API which allow builders to maintain a VideoSource and set up configurations such as which camera to use, and capture format before joining the meeting. We provide a DefaultCameraCaptureSource, but builders can create a custom video source and use that to call the audioVideo.startLocalVideo(source:) API. Can you give this guide a read and see if it suits your need?

zhinang-amazon avatar Feb 04 '21 17:02 zhinang-amazon

+1 from Chime-52854

georgezy-amzn avatar Aug 04 '22 00:08 georgezy-amzn