Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[iOS] ACSRendererView Issues when joining a call with a reused groupId #111

Closed
ryanespiritu opened this issue Nov 19, 2020 · 9 comments
Closed
Assignees
Labels
ADO Linked This issue has an ADO Item on our ADO. Bug Something isn't working Calling Issue involves Calling functionality. iOS Issues involving the iOS SDK Video

Comments

@ryanespiritu
Copy link

Describe the bug
When joining a call with a groupId that was previously used, the ACSRendererView for a remote participant that was also previously in the call will be blank.

To Reproduce
Steps to reproduce the behavior:

  1. On two separate devices, join a call using a given groupId (make sure you join with video)
  2. Create ACSRendererViews for each participant and add them to the view hierarchy
  3. Remove ACSRendererViews from the view hierarchy, dispose their respective renderers, and hang up the call on both devices
  4. Repeat steps 1-2
  5. Observe: That the ACSRendererView will be blank for remote participants

Expected behavior
The ACSRendererViews should be rendered properly.

Smartphone (please complete the following information):

  • Devices: iPhone X iOS14.1, iPhone 11 Pro iOS13.2.3
@ghost ghost added the Needs: triage 🔍 label Nov 19, 2020
@mariusu-msft
Copy link
Member

This is an odd issue, since if you hangup on 3) it's considered a new call when you do 4.

@sankum-msft can you investigate please?

@mariusu-msft mariusu-msft added Calling Issue involves Calling functionality. iOS Issues involving the iOS SDK Bug Something isn't working and removed Needs: triage 🔍 labels Nov 19, 2020
@terrychen1122
Copy link

@mariusu-msft by "old issue", did you mean this is a known issue to the team?

@mariusu-msft
Copy link
Member

@terrychen1122 "odd" issue.

This is not expected, between two call instances there's nothing being reused internally in respect of video stream state.

@sankum-msft will be investigating next week

@sankum-msft
Copy link
Contributor

Hi @terrychen1122, I was not able to repro this issue using iPhone XS or simulator.

From the description, it seems like the Renderer wasn't disposed off properly. Please note that you need to dispose Renderers for both incoming video and preview of local video, if you have one. After hangup, if you still see the green dot in iPhone's status bar (which indicates camera is in use), that would mean that the Renderer corresponding to LocalVideoStream was not disposed.

If the above is not helpful in your case, please share logs from your device. You can follow this guide to collect logs.

@ryanespiritu
Copy link
Author

Hi @sankum-msft, thank you for your response. I just double checked and we are indeed disposing both the local and remote participant video renderers upon hangup of a call. The green dot also disappears once we exit the call.

I wasn't sure which .blog file would be the most helpful, so I've attached all of the ones in my app container:
ACS_logs.zip

@sankum-msft
Copy link
Contributor

sankum-msft commented Dec 1, 2020

In your app, you are sharing a LocalVideoStream object between multiple calls. There is a bug in LocalVideoStream where it doesn't start properly in this re-use case. I've opened an internal bug ( AB#2325309 ) to get this fixed. For now, workaround is to create/destroy LocalVideoStream when you start/end a call.

Please confirm that the workaround works for you.

@ghost ghost added the ADO Linked This issue has an ADO Item on our ADO. label Dec 1, 2020
@ryanespiritu
Copy link
Author

Hi @sankum-msft thanks for your help, I've verified that this workaround fixes the issue for us

@sankum-msft
Copy link
Contributor

Fix has been merged for this issue and will be included in the next release.

@sankum-msft
Copy link
Contributor

Closing this issue as the fix is included in 1.0.0-beta.8 release of the ACS iOS SDK. Please re-open if issue persists for you after the upgrade.

@ghost ghost locked as resolved and limited conversation to collaborators Mar 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
ADO Linked This issue has an ADO Item on our ADO. Bug Something isn't working Calling Issue involves Calling functionality. iOS Issues involving the iOS SDK Video
Projects
None yet
Development

No branches or pull requests

4 participants