stephenlb / webrtc-sdk

WebRTC Simple Calling API + Mobile SDK - A simplified approach to RTCPeerConnection for mobile and web video calling apps.
https://stephenlb.github.io/webrtc-sdk/
MIT License
853 stars 278 forks source link

Safari 12 issue. The browser doesn't receive the call #59

Closed crookedbard closed 5 years ago

crookedbard commented 5 years ago

Camera turns on, but session.connected doesn't get called.

crookedbard commented 5 years ago

TypeError: Member RTCIceServer.urls is required and must be an instance of (DOMString or sequence) (anonymous function) — webrtc-v2.js:400 initializeRTCPeerConnection (anonymous function) (anonymous function) — webrtc-v2.js:400 get_conversation — webrtc-v2.js:465 dial — webrtc-v2.js:556 (anonymous function) — videocall:463 dispatch — jquery:1:50834 2success — videocall:580

stephenlb commented 5 years ago

Okay, so I removed the Safari errors. However the video stream does not play.

crookedbard commented 5 years ago

I see some progress :)

Tested on: Caller A: iOS Safari Caller B: Windows Chrome

Caller A and B now gets the messages sent between them. Caller A doesn't see any video, nor local nor B, but hears the sound. Caller B sees local video, A video is always frozen at first frame .

stephenlb commented 5 years ago

Will continue working on this.

stephenlb commented 5 years ago

getting closer...

stephenlb commented 5 years ago

Getting a lot closer! Safari 12 can send/receive calls to any other browser! However Safari is still unable to call Safari successfully.

stephenlb commented 5 years ago

The following are successful and have been tested successfully:

Shows the Caller -> Callee direction of success.

The following always will fail:

At this point there is no indication of what is failing for Safari calling Safari.

stephenlb commented 5 years ago

Apple’s WebRTC implementation only allows one getUserMedia capture at a time. So this is why I've never been able to get Safari to work. However when testing across computers we do see it works successfully.

stephenlb commented 5 years ago

Just submitted the next release with a much needed race condition fix on signaling exchanges. This may have improved the conditions you mentioned.

crookedbard commented 5 years ago

Safari to Chrome works now 👍