Temasys / AdapterJS

AdapterJS Javascript Polyfill and Tools for WebRTC - Skylink WebRTC
http://skylink.io/web
Other
429 stars 100 forks source link

SCRIPT5022: InvalidAccessError in MS Edge #255

Closed zdila closed 7 years ago

zdila commented 7 years ago

We are getting SCRIPT5022: InvalidAccessError at line marked with XXX:

  } else if (navigator.mediaDevices && navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)) {
    // Attach a media stream to an element.
    attachMediaStream = function(element, stream) {
      element.srcObject = stream; // XXX
      return element;
    };

So far we are trying to do audio-only call.

johache commented 7 years ago

Hi,

I have just tested against out official samples and we don't have that issue. Please test against different samples here : https://plugin.temasys.com.sg/demo/ and tell us if you can reproduce.

Alternatively, do you have a code sample for us to reproduce ?

Regards, J-O

zdila commented 7 years ago

Thanks @johache, the problem was in our code and now we have different errors ;-).

BTW should it be possible to make a videocall between Chrome and Edge using AdapterJS without plugins?

zdila commented 7 years ago

Chrome shows error when consuming offer from Edge: DOMException: Failed to set remote offer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to set remote video description send parameters.

SDP is:

v=0
o=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1
s=-
t=0 0
m=audio 9 UDP/TLS/RTP/SAVPF 104 9 106 0 8 103 97 13 118 101
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=rtpmap:104 SILK/16000
a=rtcp-fb:104 x-message app send:dsh recv:dsh
a=rtpmap:9 G722/8000
a=rtcp-fb:9 x-message app send:dsh recv:dsh
a=rtpmap:106 opus/48000/2
a=rtcp-fb:106 x-message app send:dsh recv:dsh
a=rtpmap:0 PCMU/8000
a=rtcp-fb:0 x-message app send:dsh recv:dsh
a=rtpmap:8 PCMA/8000
a=rtcp-fb:8 x-message app send:dsh recv:dsh
a=rtpmap:103 SILK/8000
a=rtcp-fb:103 x-message app send:dsh recv:dsh
a=rtpmap:97 RED/8000
a=rtpmap:13 CN/8000
a=rtpmap:118 CN/16000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 events=0-16
a=rtcp-mux
a=ice-ufrag:UaMp
a=ice-pwd:bCRoH8pEYZV/alNHCyHTTpoE
a=setup:actpass
a=fingerprint:sha-256 40:29:4B:F9:CD:AE:33:75:D6:66:7F:AE:41:AA:5E:6A:10:D7:73:10:21:FD:4F:C9:BF:C1:DD:43:42:2A:3A:B2
a=mid:l1iubnd6s1
a=sendrecv
a=msid:51369029-7AD7-451E-A2E6-607F1E2A588D 139F1A54-9CD3-45FD-A52D-E96620ACB097
a=ssrc:1001 msid:51369029-7AD7-451E-A2E6-607F1E2A588D 139F1A54-9CD3-45FD-A52D-E96620ACB097
a=ssrc:1001 cname:0ei2q2f77z
m=video 9 UDP/TLS/RTP/SAVPF 122 123
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=rtpmap:122 X-H264UC/90000
a=fmtp:122 packetization-mode=1;mst-mode=NI-TC
a=rtcp-fb:122 x-message app send:src,x-pli recv:src,x-pli
a=rtpmap:123 x-ulpfecuc/90000
a=rtcp-mux
a=ice-ufrag:wFNR
a=ice-pwd:GwiZ7iJ/dHKPFmfNUy4HG0+C
a=setup:actpass
a=fingerprint:sha-256 98:B5:DA:03:B9:82:8B:BD:FD:EA:13:96:76:52:61:DD:53:D4:1F:67:67:5A:66:04:31:94:E0:DD:E4:8A:9A:86
a=mid:up2o7uqdr7
a=recvonly
a=ssrc:3003 cname:0ei2q2f77z

Could you please help us with this? Any hint?

johache commented 7 years ago

Edge does not support plugins, so that out of the question. Connection between Chrome and Edge is possible.

In your specific case, looks like your SDP is setting "X-H264UC" as a video codec. I think Chrome is not able to parse that. Try to create the offer with Chrome, it should read "H264" instead, and Edge might be able to parse it.