voxeet / comms-sdk-react-native

Dolby.io Communications SDK for React Native
https://www.npmjs.com/package/@dolbyio/comms-sdk-react-native
MIT License
8 stars 0 forks source link

When joining a conference as a listener while a screenshare is ongoing an error is thrown #159

Open dannyBies opened 1 year ago

dannyBies commented 1 year ago

whilst testing https://github.com/DolbyIO/comms-sdk-react-native/issues/156 I found another issue with the screenshare.

When you join a call as a listener while the call is ongoing and screenshare is on we encountered this error:

Error: Unable set remote SDP for Peer: 70198506-3b32-3efe-aa9b-f80b54200574 :: Failed to set remote offer sdp: Failed to set remote video description send parameters for m-section with mid='screenshare'.
Error: Unable set remote SDP for Peer: 70198506-3b32-3efe-aa9b-f80b54200574 :: Failed to set remote offer sdp: Failed to set remote video description send parameters for m-section with mid='screenshare'.

A couple of conferences where we reproduced this issue:

ID: 259844d3-2271-40de-9435-fcb5afc801b9 Alias: Stage|9fcbfcfa-2933-4010-87dd-04d4609f5970|6410ec1e-aab8-43d7-b16d-920df262c161

ID: 4833935a-e938-4ec8-b037-6600caf1461c Alias: Stage|9fcbfcfa-2933-4010-87dd-04d4609f5970|43729424-51cd-4feb-a023-9419669fc56f

FabienLavocat commented 1 year ago

@dannyBies what Android device are you using? When you create the conference, could you try to set the video codec to VP8 instead of H264.

mpozy commented 1 year ago

During tests I reproduced this error. Error occurred for both codecs but only on android emulator. Steps to reproduce was the same as above. I created the conference on Android device and I tried to join as listener to conference with ongoing screen sharing. Logs:

2023-06-13 12:40:55.904 17179-17348/com.example.reactnativedolbyiosdk E/connection_observer_on_track.hpp: (line 30): --- SignalingChange 2023-06-13 12:40:55.907 17179-17349/com.example.reactnativedolbyiosdk E/webrtc_video_engine.cc: (line 842): No video codecs supported. 2023-06-13 12:40:55.908 17179-17348/com.example.reactnativedolbyiosdk E/sdp_offer_answer.cc: (line 757): Failed to set remote offer sdp: Failed to set remote video description send parameters for m-section with mid='screenshare'. 2023-06-13 12:40:55.908 17179-17438/com.example.reactnativedolbyiosdk E/MediaSDK: Failed to set remote description with error: Failed to set remote offer sdp: Failed to set remote video description send parameters for m-section with mid='screenshare'. 2023-06-13 12:40:55.916 17179-17179/com.example.reactnativedolbyiosdk W/System.err: com.voxeet.android.media.errors.RemoteDescriptionError: Unable set remote SDP for Peer: fc19b648-80ef-3218-b74f-08fe84c1044e :: Failed to set remote offer sdp: Failed to set remote video description send parameters for m-section with mid='screenshare'. 2023-06-13 12:40:55.916 17179-17179/com.example.reactnativedolbyiosdk W/System.err: at com.voxeet.sdk.media.MediaSDK.lambda$createAnswerForPeer$0$com-voxeet-sdk-media-MediaSDK(MediaSDK.java:108) 2023-06-13 12:40:55.916 17179-17179/com.example.reactnativedolbyiosdk W/System.err: at com.voxeet.sdk.media.MediaSDK$$ExternalSyntheticLambda2.run(Unknown Source:14) 2023-06-13 12:40:55.916 17179-17179/com.example.reactnativedolbyiosdk W/System.err: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462) 2023-06-13 12:40:55.916 17179-17179/com.example.reactnativedolbyiosdk W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266) 2023-06-13 12:40:55.916 17179-17179/com.example.reactnativedolbyiosdk W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 2023-06-13 12:40:55.917 17179-17179/com.example.reactnativedolbyiosdk W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 2023-06-13 12:40:55.917 17179-17179/com.example.reactnativedolbyiosdk W/System.err: at java.lang.Thread.run(Thread.java:923) 2023-06-13 12:40:55.920 516-1050/? I/Telecom: CallAudioRouteStateMachine: Message received: SPEAKER_ON=1006, arg1=0: CARSM.mSPCR->CARSM.pM_SPEAKER_ON@ASk 2023-06-13 12:40:55.921 333-333/? W/APM::AudioPolicyEngine: getDevicesForStrategy() unknown strategy: -1 2023-06-13 12:40:55.921 516-1050/? I/Telecom: QuiescentSpeakerRoute: Processing message SPEAKER_ON: CARSM.mSPCR->CARSM.pM_SPEAKER_ON@ASk 2023-06-13 12:40:55.921 333-333/? W/APM::AudioPolicyEngine: getDevicesForStrategy() unknown strategy: -1 2023-06-13 12:40:55.925 17179-17179/com.example.reactnativedolbyiosdk D/ConferenceService: onError: fail to join - leaving and closing media

FabienLavocat commented 1 year ago

@mpozy could you please share your conference ID so we can look at the server logs.

mpozy commented 1 year ago

@FabienLavocat conference ID: 7de52735-e20a-45bc-be17-f86e9f8ab379

codlab commented 1 year ago

@mpozy please forward me full adb logcat output for investigation and also everything about the emulator used etc... :

edit:

I could actually reproduce the issue, created an h264 conferences and an emulator with Android 23 (but for the emulator, it's a matter of which one I was using at that time) and indeed, the emulator couldn't join that HW only. Proper fix on its way in the SDK in a soon to be released version. Maybe in a temporary support one for the wrapper itself 👍

graduad commented 1 year ago

@codlab , is a fix for this been released, in the Android SDK?

graduad commented 1 year ago

Retest at RN level needed.

mpozy commented 1 year ago

Tested. Works properly.