Mediasoup-client can't load device in Tizen

Environment: Tizen 9.0

In Mediasoup-client 3.6.58, I noticed it was using Bowser to detect the browser’s userAgent. And the mediasoup-client returns “Chrome74” for the device handler name. After updating mediasoup-client to 3.16.7, the library failed to load the device and returned an UnsupportedError.

I try to load it like this:

new Device({ handlerName: “Chrome111” }) and new Device({ handlerName: “Chrome74” })

The device can be loaded, Tizen can receive media, but it can’t send media. It gives error:

connect() failed. InvalidAccessError: Failed to execute ‘setLocalDescription’ on ‘RTCPeerConnection’: Failed to set local offer sdp: The order of m-lines in subsequent offer doesn’t match order from previous offer/answer."

userAgent: Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36

I also tried parsing the userAgent using Bowser:

{
browser: { name: ‘Tizen’ },
os: { name: ‘Tizen’, version: ‘9.0’ },
platform: {},
engine: { name: ‘Blink’ }
}

Without full debug logs is impossible to tell anything.

The info from Bowser is wrong. Tizen is not based on Blink but on pure WebKit.
And its User-Agent indicates WebKit 537.36. mediasoup-client requires WebKit >= 605. Support for older versions was dropped in Remove old handlers by ibc · Pull Request #331 · versatica/mediasoup-client · GitHub in mediasoup-client 3.13.0.

Based on this, Tizen is using Chromium.

If it is true, Tizen 9.0 is based on Chromium, will the problem be solved if I write:

new Device({ handlerName: “Chrome111” }) ?

Because I’m thinking of two solutions:

  1. Specify handlerName Chrome111 when loading the device
    → I have tried it, the Tizen can’t receive media. But I want to know your opinion, if Tizen 9.0 is truly based on Chromium, do you think this approach should work?
  2. Override the userAgent before calling load device.
    Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5/9.0

Yup, I got wrong info. So assuming you mean the Samsung TV with Tizen 9, it is supposed to use Chromium M120 so mediasoup-client handler “Chrome111” should work. You say “can’t receive media” but I’m afraid I cannot assume that’s a problem in mediasoup-client. It could be something in your setup (in webapp or server). BTW to really confirm whether it’s Chromium/Blink M120 based, try this in console or in your JS app:

console.log('navigator.userAgentData:', navigator.userAgentData)

navigator.userAgentData is onlu supported in Chromium browsers and it should show accurate info about its engine and version.

Alright. Will try that.

Sorry, I mean: device is loaded, Tizen can receive media, but can’t send media.

Btw, is there any minimum mediasoup server version for mediasoup-client 3.15.0 ?

Please don’t ignore this:

\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] “%cmediasoup-client:Device %cdetectDeviceImpl() [userAgent:”%s", userAgentData:%o]%c +2ms color: #CC9933 color: inherit Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 undefined color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2

the navigator.userAgentData is undefined.

But, even though the userAgentData is undefined, it should work if I force it with

new Device({ handlerName: “Chrome111” }) right?

I need all the logs with prefix “ mediasoup-client:Device”, not just the final one saying the result.

No, we don’t know. If there is no navigator.userAgentData then this is not a real Chromium M120 based browser. Have you tried forcing Chrome74 handler?

Yes, I have tried using Chrome74, the device can be loaded, but Tizen can’t send media.

Oh, and I forgot to tell you: Tizen:

  • can send and receive audio/video camera.

  • failed to send a share screen.

  • can receive shared screen.

Here are the logs from mediasoup-client and CHROMIUM-WEBRTC. In this implementation, I replace the userAgent to Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5/9.0 so eventually mediasoup-client will use Chrome111

\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceAsync()%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() [userAgent:"%s", userAgentData:%o]%c +2ms color: #CC9933 color: inherit Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 undefined color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetChromiumMajorVersion() | this is not Chromium => undefined%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetFirefoxMajorVersion() | this is not Firefox => undefined%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cconstructor()%c +3ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDevice()%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() [userAgent:"%s", userAgentData:%o]%c +0ms color: #CC9933 color: inherit Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5 undefined color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetChromiumMajorVersion() | Chromium major version based on User-Agent => 120%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() | using Chrome111 handler%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cconstructor() | detected handler: %s%c +1ms color: #CC9933 color: inherit Chrome111 color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() [routerRtpCapabilities:%o]%c +1ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:peer_connection_factory.cc: (339)] Using default network controller factory\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %cgetNativeRtpCapabilities()%c +0ms color: #FF6600 color: inherit color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:bitrate_prober.cc: (47)] Bandwidth probing enabled, set to inactive\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:remote_estimator_proxy.cc: RemoteEstimatorProxy(68)] Maximum interval between transport feedback RTCP messages: 250 ms\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:aimd_rate_control.cc: (89)] Using aimd rate control with back off factor 0.85\cf1\highlight2 
\par \cf0\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:remote_bitrate_estimator_single_stream.cc: RemoteBitrateEstimatorSingleStream(51)] RemoteBitrateEstimatorSingleStream: Instantiating.\cf1\highlight2 
\par \cf0\highlight0 W/CHROMIUM-WEBRTC( 6482): \cf4 [WARNING:codec.cc: AddH264ConstrainedBaselinp_3.16.7.js (1)\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 7579096911435648820 Old state: stable New state: closed\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got native RTP capabilities:%o%c +86ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got receiving RTP capabilities:%o%c +7ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %cgetNativeSctpCapabilities()%c +83ms color: #FF6600 color: inherit color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got native SCTP capabilities:%o%c +1ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM( 6482): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() succeeded%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a40d8950:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:SbA11VOq:1:0:local:udp:192.168.0.x:54873->XuzNd+QD:1:1677729535:stun:udp:203.126.64.x:35917|C--I|-|0|0|7205793488602807806|-]: Sent STUN BINDING request, id=312f7971454533522b635841, use_candidate=0, nomination=0\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:peer_connection_factory.cc: (339)] Using default network controller factory\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:bitrate_prober.ccfer_answer.cc: LogSdp(156)] a=ice-ufrag:3UjE\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-pwd:pOdhF9nH6FF4pTxLojX02Bn6\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-options:trickle\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=fingerprint:sha-256 BE:CD:01:6D:57:61:12:A6:1B:AB:40:D5:0E:B8:91:DC:D8:29:F2:84:91:31:CE:7E:3A:FA:CE:2C:F6:3B:5A:E9\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=setup:actpass\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=mid:0\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=sctp-port:5000\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=max-message-size:262144\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceConfig(550)] Set backup connection ping interval to 25000 milliseconds.\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceConfig(559)] Set ICE receiving timeout to 2500 milliseconds\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceConfig(566)] Set ping most likely connection to 0\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceConfig(573)] Set stable_writable_connection_ping_interval to 2500\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceConfig(586)] Set presume writable when fully relayed to 0\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceConfig(604)] Set regather_on_failed_networks_interval to 300000\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceConfig(611)] Set receiving_switching_delay to 1000\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:jsep_transport_controller.cc: (1073)] Creating DtlsSrtpTransport.\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:dtls_srtp_transport.cc: SetDtlsTransports(71)] Setting RTP Transport on 0 transport 0xa40e1438\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:p2p_transport_channel.cc: SetIceParameters(484)] Set ICE ufrag: 3UjE pwd: pOdhF9nH6FF4pTxLojX02Bn6 on transport 0\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:peer_connection.cc: CreateDataChannelTransport(2125)] Creating data channel, mid=0\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 102955530115681459 Old state: stable New state: have-local-offer\cf1\highlight2 
\par \cf4\highlight0 I/CHROMIUM-WEBRTC( 6482): [INFO:basic_port_allocator.cc: StartGettingPorts(391)] Start getting ports with turn_port_prune_policy 0\cf1\highlight2 
\par \cf4\highlight0 E/CHROMIUM-WEBRTC( 6482): \cf5 [ERROR:sdp_offer_answer.cc: ValidateSessionDescription(3716)] The order of m-lines in subsequent offer doesn't match order from previous offer/answer. (INVALID_PARAMETER)\cf1\highlight2 
\par \cf0\highlight0 E/CHROMIUM-WEBRTC( 6482): \cf5 [ERROR:sdp_offer_answer.cc: DoSetLocalDescription(2416)] Failed to set local offer sdp: The order of m-lines in subsequent offer doesn't match order from previous offer/answer.\cf1\highlight2 

I’m afraid I don’t understand what your code is doing. I’ve cleaned up your logs and they make no sense:

mediasoup-client:Device detectDeviceAsync()
mediasoup-client:Device detectDeviceImpl() [userAgent:"Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36", userAgentData:undefined]
mediasoup-client:Device isIOS() | this is not iOS => false
mediasoup-client:Device isReactNative() | this is not React-Native => false
mediasoup-client:Device getChromiumMajorVersion() | this is not Chromium => undefined
mediasoup-client:Device isIOS() | this is not iOS => false
mediasoup-client:Device isReactNative() | this is not React-Native => false
mediasoup-client:Device getFirefoxMajorVersion() | this is not Firefox => undefined

mediasoup-client:Device constructor()
mediasoup-client:Device detectDevice()
mediasoup-client:Device detectDeviceImpl() [userAgent:"Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5", userAgentData:undefined]
mediasoup-client:Device isIOS() | this is not iOS => false
mediasoup-client:Device isReactNative() | this is not React-Native => false
mediasoup-client:Device getChromiumMajorVersion() | Chromium major version based on User-Agent => 120
mediasoup-client:Device detectDeviceImpl() | using Chrome111 handler
mediasoup-client:Device constructor() | detected handler: Chrome111
  • It doesn’t make sense that the Device constructor() shows after “getFirefoxMajorVersion() | this is not Firefox => undefined”.
  • There are calls to detectDeviceAsync() and also detectDevice(). It doesn’t make sense unless you are calling them explicitly.
  • User-Agent (navigator.userAgent) in second line above is “Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36”
  • User-Agent (navigator.userAgent) a few lines below is “Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5”. Notice that it now includes “Chrome/120.0.6099.5” at then end. How is this possible???.

Sorry, it’s impossible to figure out what is going on here.

Environment: Tizen 9.0 mediasoup-client 3.16.7

When loading the device, I change the userAgent from Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36

to Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5/9.0. So, eventually the mediasoup-client detect the device is Chrome111. Please note that there are logs from my application, which do not include mediasoup-client string.

I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "20251016 navigator.userAgent: Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "20251016 navigator.userAgentData: undefined", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "20251016 overwrite navigator.userAgent: Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cconstructor()%c +3ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDevice()%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() [userAgent:"%s", userAgentData:%o]%c +0ms color: #CC9933 color: inherit Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5 undefined color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetChromiumMajorVersion() | Chromium major version based on User-Agent => 120%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() | using Chrome111 handler%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cconstructor() | detected handler: %s%c +0ms color: #CC9933 color: inherit Chrome111 color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)

I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got native RTP capabilities:%o%c +74ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got receiving RTP capabilities:%o%c +7ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %cgetNativeSctpCapabilities()%c +76ms color: #FF6600 color: inherit color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got native SCTP capabilities:%o%c +2ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() succeeded%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)


When receiving/sending audio/video (camera), it works. After that, when one peer started sharing the screen, I got an error Failed to set local offer sdp: The order of m-lines in subsequent offer doesn’t match order from previous offer/answer. Perhaps when sharing a screen, the SDP format differs from the SDP used when exchanging the first audio/video?

I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 3502249372982187946 Old state: stable New state: have-remote-offer
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(143)] Applying local description:
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] v=0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] o=- 3502249372982187946 2 IN IP4 127.0.0.1
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] s=-
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] t=0 0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=group:BUNDLE 0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=extmap-allow-mixed
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=msid-semantic: WMS
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] m=application 9 UDP/DTLS/SCTP webrtc-datachannel
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] c=IN IP4 0.0.0.0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-ufrag:YsjW
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156,"jwt":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb29tSWQiOiI5Mzc1Nzc4NCIsImV4cCI6MTc2MDk2MDMyMywiaWF0IjoxNzYwOTYwMDIzfQ.mtiVO_5MQ2h6mWRstwzNjwQlLav8Jpna1iyMzIxlTOQ"}", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1311068807889192310 Old state: stable New state: have-remote-offer
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=msid-semantic: WMS
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] m=application 9 UDP/DTLS/SCTP webrtc-datachannel
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] c=IN IP4 0.0.0.0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-ufrag:v+Kd
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-pwd:8zXyJB/zfH/EqQvCs7eAIsbi
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-options:trickle
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=fingerprint:sha-256 CD:DB:3B:8B:99:28:35:12:23:FA:3D:D7:56:E2:F6:0D:CE:BD:0A:2A:1E:50:3C:DF:A0:84:93:CD:1C:21:76:8D
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=setup:active
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=mid:0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=sctp-port:5000
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=max-message-size:262144
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1311068807889192310 Old state: have-remote-offer New state: stable
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1407885429977287445 Old state: stable New state: closed
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1311068807889192310 Old state: stable New state: closed
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 5157616121511268365 Old state: stable New state: have-local-offer
E/CHROMIUM-WEBRTC(11674): [ERROR:sdp_offer_answer.cc: ValidateSessionDescription(3716)] The order of m-lines in subsequent offer doesn't match order from previous offer/answer. (INVALID_PARAMETER)
E/CHROMIUM-WEBRTC(11674): [ERROR:sdp_offer_answer.cc: DoSetLocalDescription(2416)] Failed to set local offer sdp: The order of m-lines in subsequent offer doesn't match order from previous offer/answer.

This is the full logs from CHROMIUM-WEBRTC

I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 3502249372982187946 Old state: stable New state: have-remote-offer
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(143)] Applying local description:
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] v=0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] o=- 3502249372982187946 2 IN IP4 127.0.0.1
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] s=-
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] t=0 0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=group:BUNDLE 0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=extmap-allow-mixed
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=msid-semantic: WMS
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] m=application 9 UDP/DTLS/SCTP webrtc-datachannel
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] c=IN IP4 0.0.0.0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-ufrag:YsjW
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156,"jwt":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb29tSWQiOiI5Mzc1Nzc4NCIsImV4cCI6MTc2MDk2MDMyMywiaWF0IjoxNzYwOTYwMDIzfQ.mtiVO_5MQ2h6mWRstwzNjwQlLav8Jpna1iyMzIxlTOQ"}", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection_factory.cc: (339)] Using default network controller factory
I/CHROMIUM-WEBRTC(11674): [INFO:bitrate_prober.cc: (47)] Bandwidth probing enabled, set to inactive
I/CHROMIUM-WEBRTC(11674): [INFO:remote_estimator_proxy.cc: RemoteEstimatorProxy(68)] Maximum interval between transport feedback RTCP messages: 250 ms
I/CHROMIUM-WEBRTC(11674): [INFO:aimd_rate_control.cc: (89)] Using aimd rate control with back off factor 0.85
I/CHROMIUM-WEBRTC(11674): [INFO:remote_bitrate_estimator_single_stream.cc: RemoteBitrateEstimatorSingleStream(51)] RemoteBitrateEstimatorSingleStream: Instantiating.
W/CHROMIUM-WEBRTC(11674): [WARNING:codec.cc: AddH264ConstrainedBaselineProfileToSupportedFormats(491)] Explicitly added H264 constrained baseline to list of supported formats.
W/CHROMIUM-WEBRTC(11674): [WARNING:codec.cc: AddH264ConstrainedBaselineProfileToSupportedFormats(491)] Explicitly added H264 constrained baseline to list of supported formats.
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_key_pair.cc: MakeKey(40)] Making key pair
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer[INFO:p2p_transport_channel.cc: SetIceConfig(550)] Set backup connection ping interval to 25000 milliseconds.
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceConfig(559)] Set ICE receiving timeout to 2500 milliseconds
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceConfig(566)] Set ping most likely connection to 0
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceConfig(573)] Set stable_writable_connection_ping_interval to 2500
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceConfig(586)] Set presume writable when fully relayed to 0
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceConfig(604)] Set regather_on_failed_networks_interval to 300000
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceConfig(611)] Set receiving_switching_delay to 1000
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: (1073)] Creating DtlsSrtpTransport.
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_srtp_transport.cc: SetDtlsTransports(71)] Setting RTP Transport on 0 transport 0xa4108338
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetRemoteIceParameters(495)] Received remote ICE parameters: ufrag=1ySo, renomination disabled
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: CreateDataChannelTransport(2125)] Creating data channel, mid=0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1311068807889192310 Old state: stable New state: have-remote-offer
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (723)] Count of networks: 1
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: GetNetworks(725)] Net[wlan0:192.168.0.x/24:Wifi:id=1]
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (723)] Count of networks: 1
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: GetNetworks(725)] Net[wlan0:192.168.0.x/24:Wifi:id=1]
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: DoAllocate(834)] Allocate ports on wlan0
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (924)] Network manager has started
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: Process(1431)] Net[wlan0:192.168.0.x/24:Wifi:id=1]: Allocation Phase=Udp
I/CHROMIUM-WEBRTC(11674): [INFO:port.cc: Construct(185)] Port[a410bb20::1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Port created with network cost 10
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (1507)] AllocationSequence: UDPPort will be handling the STUN candidate generation.
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: AddAllocatedPort(947)] Adding allocated port for 0
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: AddAllocatedPort(969)] Port[a410bb20:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Added port to allocator
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=msid-semantic: WMS
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] m=application 9 UDP/DTLS/SCTP webrtc-datachannel
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] c=IN IP4 0.0.0.0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-ufrag:v+Kd
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-pwd:8zXyJB/zfH/EqQvCs7eAIsbi
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=ice-options:trickle
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=fingerprint:sha-256 CD:DB:3B:8B:99:28:35:12:23:FA:3D:D7:56:E2:F6:0D:CE:BD:0A:2A:1E:50:3C:DF:A0:84:93:CD:1C:21:76:8D
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=setup:active
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=mid:0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=sctp-port:5000
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: LogSdp(156)] a=max-message-size:262144
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_srtp_transport.cc: (71)] Setting RTP Transport on 0 transport 0xa4108338
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: (484)] Set ICE ufrag: v+Kd pwd: 8zXyJB/zfH/EqQvCs7eAIsbi on transport 0
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_transport.cc: SetupDtls(395)] DtlsTransport[0|1|__]: DTLS setup complete.
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: CreateDataChannelTransport(2125)] Creating data channel, mid=0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1311068807889192310 Old state: have-remote-offer New state: stable
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: StartGettingPorts(391)] Start getting ports with turn_port_prune_policy 0
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: SetIceConnectionState(1963)] Changing IceConnectionState 0 => 1
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: OnCandidateReady(986)] Port[a410bb20:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Gathered candidate: Cand[:712367752:1:udp:2122260223:192.168.0.x:44340:local::0:YsjW:C3szryOd8qWr9k2iyTjVEfOw:1:10:0]
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: OnCandidateReady(1019)] Port[a410bb20:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Port ready.
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: Connection(248)] Conn[a4118020:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:vk5p4io9:1:0:local:udp:192.168.0.x:44340->bdWCoJ0R:1:2113937151:local:udp:192.168.0.x:42208|C--W|-|0|0|9079290933588934142|-]: Connection created
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: CreateConnection(1475)] Channel[0|1|__]: Created connection with origin: 2, total: 1
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: UpdateTransportState(1926)] Channel[0|1|__]: Transport channel state changed from 0 to 2
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportStateChanged_n(1234)] 0 Transport 1 state changed. Check if state is complete.
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportStateChanged_n(1234)] 0 Transport 1 state changed. Check if state is complete.
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: (1722)] Channel[0|1|__]: Have a pingable connection for the first time; starting to ping.
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: SetStandardizedIceConnectionState(1982)] Changing standardized IceConnectionState 0 => 1
I/CHROMIUM-WEBRTC(11674): [INFO:stun_port.cc: (446)] Port[a410bb20:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Starting STUN host lookup for stun.vd.ct.svcsp.net:11100
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a4118020:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:vk5p4io9:1:0:local:udp:192.168.0.x:44340->bdWCoJ0R:1:2113937151:local:udp:192.168.0.x:42208|C--W|-|0|0|9079290933588934142|-]: Sent STUN BINDING request, id=664e6a2f62453259726a3677, use_candidate=0, nomination=0
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (723)] Count of networks: 1
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: GetNetworks(725)] Net[wlan0:192.168.0.x/24:Wifi:id=1]
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (723)] Count of networks: 1
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: GetNetworks(725)] Net[wlan0:192.168.0.x/24:Wifi:id=1]
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: DoAllocate(834)] Allocate ports on wlan0
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (924)] Network manager has started
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: Process(1431)] Net[wlan0:192.168.0.x/24:Wifi:id=1]: Allocation Phase=Udp
I/CHROMIUM-WEBRTC(11674): [INFO:port.cc: Construct(185)] Port[a4119600::1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Port created with network cost 10
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: (1507)] AllocationSequence: UDPPort will be handling the STUN candidate generation.
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: AddAllocatedPort(947)] Adding allocated port ion(248)] Conn[a4128b50:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:KUd22NT3:1:0:local:udp:192.168.0.x:41569->0mIBK3fZ:1:2113937151:local:udp:192.168.0.x:60749|C--W|-|0|0|9079290933588934142|-]: Connection created
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: CreateConnection(1475)] Channel[0|1|__]: Created connection with origin: 2, total: 1
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: UpdateTransportState(1926)] Channel[0|1|__]: Transport channel state changed from 0 to 2
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportStateChanged_n(1234)] 0 Transport 1 state changed. Check if state is complete.
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportStateChanged_n(1234)] 0 Transport 1 state changed. Check if state is complete.
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: (1722)] Channel[0|1|__]: Have a pingable connection for the first time; starting to ping.
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: SetStandardizedIceConnectionState(1982)] Changing standardized IceConnectionState 0 => 1
I/CHROMIUM-WEBRTC(11674): [INFO:stun_port.cc: (446)] Port[a4119600:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Starting STUN host lookup for stun.vd.ct.svcsp.net:11100
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a4128b50:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:KUd22NT3:1:0:local:udp:192.168.0.x:41569->0mIBK3fZ:1:2113937151:local:udp:192.168.0.x:60749|C--W|-|0|0|9079290933588934142|-]: Sent STUN BINDING request, id=30314c56584b38394e6e765a, use_candidate=0, nomination=0
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: (248)] Conn[a41298c8:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:vk5p4io9:1:0:local:udp:192.168.0.x:44340->RxKtQWFo:1:1677729535:stun:udp:203.126.64.x:42208|C--W|-|0|0|7205793488602807806|-]: Connection created
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: CreateConnection(1475)] Channel[0|1|__]: Created connection with origin: 2, total: 2
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: UpdateTransportState(1926)] Channel[0|1|__]: Transport channel state changed from 2 to 1
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportStateChanged_n(1234)] 0 Transport 1 state changed. Check if state is complete.
I/CHROMIUM-WEBRTC(11674): [INFO:wrapping_active_ice_controller.cc: (192)] Switching selected connection due to: candidate pair state changed
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SwitchSelectedConnectionInternal(1834)] Channel[0|1|__]: New selected connection: Conn[a4128b50:0:Net[wlan0:192.basic_port_allocator.cc: MaybeSignalCandidatesAllocationDone(1204)] All candidates gathered for 0:1:0
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: OnCandidatesAllocationDone(1017)] P2PTransportChannel: 0, component 1 gathering complete
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: Process(1431)] Net[wlan0:192.168.0.x/24:Wifi:id=1]: Allocation Phase=Relay
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a41298c8:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:vk5p4io9:1:0:local:udp:192.168.0.x:44340->RxKtQWFo:1:1677729535:stun:udp:203.126.64.x:42208|C--W|-|0|0|7205793488602807806|-]: Sent STUN BINDING request, id=774b467a634532776a725466, use_candidate=0, nomination=0
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_stream_adapter.cc: operator()(841)] DTLS retransmission
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_exit TLS client read_hello_verify_request
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: Process(1431)] Net[wlan0:192.168.0.x/24:Wifi:id=1]: Allocation Phase=Tcp
I/CHROMIUM-WEBRTC(11674): [INFO:port.cc: Construct(185)] Port[a412cb08::1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Port created with network cost 10
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: AddAllocatedPort(947)] Adrt[a412cb08:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Not listening due to firewall restrictions.
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: OnCandidateReady(986)] Port[a412cb08:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Gathered candidate: Cand[:3571386908:1:tcp:1518280447:192.168.0.x:9:local::0:YsjW:C3szryOd8qWr9k2iyTjVEfOw:1:10:0]
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: OnCandidateReady(1019)] Port[a412cb08:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Port ready.
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: OnPortComplete(1130)] Port[a412cb08:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Port completed gathering candidates.
I/CHROMIUM-WEBRTC(11674): [INFO:wrapping_active_ice_controller.cc: (192)] Switching selected connection due to: candidate pair state changed
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SwitchSelectedConnectionInternal(1834)] Channel[0|1|__]: New selected connection: Conn[a4118020:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:vk5p4io9:1:0:local:udp:192.168.0.x:44340->bdWCoJ0R:1:2113937151:local:udp:192.168.0.x:42208|CRWS|S|0|0|9079290933588934142|115]
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_transport.cc: ConfigureHandshakeTimeout(866)] DtlsTransport[0|1|__]: configuring DTLS handshake timeout 230 based on ICE RTT 115
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] handshake_start TLS client start_connect
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client enter_early_data
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_hello_verify_request
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_exit TLS client read_hello_verify_request
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_transport.cc: MaybeStartDtls(768)] DtlsTransport[0|1|__]: DtlsTransport: Started DTLS handshake active=1
I/CHROMIUM-WEBRTC(11674): [INFO:srtp_transport.cc: ResetParams(363)] The params in SRTP transport are reset.
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportStateChanged_n(1234)] 0 Transport 1 state changed. Check if state is complete.
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: MaybeSignalCandidatesAllocationDone(1204)] All candidates gathered for 0:1:0
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: SetStandardizedIceConnectionState(1982)] Changing standardized IceConnectionState 1 => 2
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: OnCandidatesAllocationDone(1017)] P2PTransportChannel: 0, component 1 gathering complete
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_certificate_status
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client verify_server_certificate
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_server_key_exchange
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_certificate_request
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_server_hello_done
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_certificate
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_key_exchange
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_certificate_verify
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_finished
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client finish_flight
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: (833)] connect_loop TLS client read_session_ticket
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client process_change_cipher_spec
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_exit TLS client process_change_cipher_spec
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_server_hello
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_server_certificate
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_certificate_status
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client verify_server_certificate
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_server_key_exchange
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_certificate_request
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_server_hello_done
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_certificate
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_key_exchange
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_certificate_verify
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client send_client_finished
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client finish_flight
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: (833)] connect_loop TLS client read_session_ticket
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportWritableState_n(1172)]  Transport 0 writability changed to 1.
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_srtp_transport.cc: ExtractParams(221)] Extracting keys from transport: 0
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: OnTransportControllerConnectionState(2413)] Changing to ICE connected state because all transports are writable.
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: (1963)] Changing IceConnectionState 1 => 2
I/CHROMIUM-WEBRTC(11674): [INFO:srtp_transport.cc: SetRtpParams(306)] SRTP activated with negotiated parameters: send crypto_suite 1 recv crypto_suite 1
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: OnCandidateReady(986)] Port[a410bb20:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Gathered candidate: Cand[:729132206:1:udp:1686052607:173.239.236.x:18977:stun:192.168.0.x:44340:YsjW:C3szryOd8qWr9k2iyTjVEfOw:1:10:0]
W/CHROMIUM-WEBRTC(11674): [WARNING:basic_port_allocator.cc: OnCandidateReady(991)] Discarding candidate because port is already done gathering.
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: OnPortComplete(1130)] Port[a410bb20:0:1:0:local:Net[wlan0:192.168.0.x/24:Wifi:id=1]]: Port completed gathering candidates.
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client read_server_finished
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: (833)] connect_loop TLS client finish_client_handshake
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_loop TLS client done
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] handshake_done TLS client done
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_adapter.cc: SSLInfoCallback(833)] connect_exit TLS client done
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_transport.cc: OnDtlsEvent(695)] DtlsTransport[0|1|__]: DTLS handshake complete.
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: OnTransportWritableState_n(1172)]  Transport 0 writability changed to 1.
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_srtp_transport.cc: ExtractParams(221)] Extracting keys from transport: 0
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: OnTransportControllerConnectionState(2413)] Changing to ICE connected state because all transports are writable.
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: (1963)] Changing IceConnectionState 1 => 2
I/CHROMIUM-WEBRTC(11674): [INFO:srtp_transport.cc: SetRtpParams(306)] SRTP activated with negotiated parameters: send crypto_suite 1 recv crypto_suite 1
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a412c0b0:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:KUd22NT3:1:0:local:udp:192.168.0.x:41569->IgBhNDfj:1:1677729535:stun:udp:203.126.64.x:60749|C--W|-|0|0|7205793488602807806|-]: Sent STUN BINDING request, id=514c4a315475344732476559, use_candidate=0, nomination=0
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a412c0b0:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:KUd22NT3:1:0:local:udp:192.168.0.x:41569->IgBhNDfj:1:1677729535:stun:udp:203.126.64.x:60749|C--I|-|0|0|7205793488602807806|-]: Sent STUN BINDING request, id=324f7a753547366b3073312f, use_candidate=0, nomination=0
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a41298c8:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:vk5p4io9:1:0:local:udp:192.168.0.x:44340->RxKtQWFo:1:1677729535:stun:udp:203.126.64.x:42208|C--I|-|0|0|7205793488602807806|-]: Sent STUN BINDING request, id=395157486f30464f75715744, use_candidate=0, nomination=0
I/CHROMIUM-WEBRTC(11674): [INFO:connection.cc: OnConnectionRequestSent(1550)] Conn[a412c0b0:0:Net[wlan0:192.168.0.x/24:Wifi:id=1]:KUd22NT3:1:0:local:udp:192.168.0.x:41569->IgBhNDfj:1:1677729535:stun:udp:203.126.64.x:60749|C--I|-|0|0|7205793488602807806|-]: Sent STUN BINDING request, id=38683075744264765049344a, use_candidate=0, nomination=0
E/CHROMIUM-WEBRTC(11674): [ERROR:dcsctp_transport.cc: OnAborted(486)] DcSctpTransport2->OnAborted(error=PEER_REPORTED, message=User-Initiated Abort, reason=Close called).
W/CHROMIUM-WEBRTC(11674): [WARNING:openssl_adapter.cc: (836)] read_alert warning close notify SSL negotiation finished successfully
W/CHROMIUM-WEBRTC(11674): [WARNING:openssl_adapter.cc: SSLInfoCallback(836)] write_alert warning close notify SSL negotiation finished successfully
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_transport.cc: (717)] DtlsTransport[0|1|_W]: DTLS transport closed by remote
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: (1172)]  Transport 0 writability changed to 0.
I/CHROMIUM-WEBRTC(11674): [INFO:srtp_transport.cc: ResetParams(363)] The params in SRTP transport are reset.
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: SetIceConnectionState(1963)] Changing IceConnectionState 2 => 5
E/CHROMIUM-WEBRTC(11674): [ERROR:dcsctp_transport.cc: OnAborted(486)] DcSctpTransport0->OnAborted(error=PEER_REPORTED, message=User-Initiated Abort, reason=Close called).
W/CHROMIUM-WEBRTC(11674): [WARNING:openssl_adapter.cc: (836)] read_alert warning close notify SSL negotiation finished successfully
W/CHROMIUM-WEBRTC(11674): [WARNING:openssl_adapter.cc: SSLInfoCallback(836)] write_alert warning close notify SSL negotiation finished successfully
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_transport.cc: (717)] DtlsTransport[0|1|_W]: DTLS transport closed by remote
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: (1172)]  Transport 0 writability changed to 0.
I/CHROMIUM-WEBRTC(11674): [INFO:srtp_transport.cc: ResetParams(363)] The params in SRTP transport are reset.
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: SetIceConnectionState(1963)] Changing IceConnectionState 3 => 5
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: SetStandardizedIceConnectionState(1982)] Changing standardized IceConnectionState 3 => 2
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1407885429977287445 Old state: stable New state: closed
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: TeardownDataChannelTransport_n(2578)] Tearing down data channel transport for mid=0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 1311068807889192310 Old state: stable New state: closed
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: TeardownDataChannelTransport_n(2578)] Tearing down data channel transport for mid=0
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection_factory.cc: (339)] Using default network controller factory
I/CHROMIUM-WEBRTC(11674): [INFO:bitrate_prober.cc: (47)] Bandwidth probing enabled, set to inactive
I/CHROMIUM-WEBRTC(11674): [INFO:remote_estimator_proxy.cc: RemoteEstimatorProxy(68)] Maximum interval between transport feedback RTCP messages: 250 ms
I/CHROMIUM-WEBRTC(11674): [INFO:aimd_rate_control.cc: (89)] Using aimd rate control with back off factor 0.85
I/CHROMIUM-WEBRTC(11674): [INFO:remote_bitrate_estimator_single_stream.cc: RemoteBitrateEstimatorSingleStream(51)] RemoteBitrateEstimatorSingleStream: Instantiating.
W/CHROMIUM-WEBRTC(11674): [WARNING:codec.cc: AddH264ConstrainedBaselineProfileToSupportedFormats(491)] Explicitly added H264 constrained baseline to list of supported formats.
W/CHROMIUM-WEBRTC(11674): [WARNING:codec.cc: AddH264ConstrainedBaselineProfileToSupportedFormats(491)] Explicitly added H264 constrained baseline to list of supported formats.
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_key_pair.cc: MakeKey(40)] Making key pair
I/CHROMIUM-WEBRTC(11674): [INFO:openssl_key_pair.cc: MakeKey(93)] Returning key pair
I/CHROMIUM-WEBRTC(11674): [INFO:boringssl_certificate.cc: MakeCertificate(189)] Making certificate for WebRTC
I/CHROMIUM-WEBRTC(11674): [INFO:boringssl_certificate.cc: MakeCertificate(245)] Returning certificate
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceConfig(611)] Set receiving_switching_delay to 1000
I/CHROMIUM-WEBRTC(11674): [INFO:jsep_transport_controller.cc: (1073)] Creating DtlsSrtpTransport.
I/CHROMIUM-WEBRTC(11674): [INFO:dtls_srtp_transport.cc: SetDtlsTransports(71)] Setting RTP Transport on 0 transport 0xa411fd48
I/CHROMIUM-WEBRTC(11674): [INFO:p2p_transport_channel.cc: SetIceParameters(484)] Set ICE ufrag: WGJJ pwd: tmUca/dDX4bgw/VpMzBQXGXv on transport 0
I/CHROMIUM-WEBRTC(11674): [INFO:peer_connection.cc: CreateDataChannelTransport(2125)] Creating data channel, mid=0
I/CHROMIUM-WEBRTC(11674): [INFO:sdp_offer_answer.cc: ChangeSignalingState(2933)] Session: 5157616121511268365 Old state: stable New state: have-local-offer
I/CHROMIUM-WEBRTC(11674): [INFO:basic_port_allocator.cc: StartGettingPorts(391)] Start getting ports with turn_port_prune_policy 0
E/CHROMIUM-WEBRTC(11674): [ERROR:sdp_offer_answer.cc: ValidateSessionDescription(3716)] The order of m-lines in subsequent offer doesn't match order from previous offer/answer. (INVALID_PARAMETER)
E/CHROMIUM-WEBRTC(11674): [ERROR:sdp_offer_answer.cc: DoSetLocalDescription(2416)] Failed to set local offer sdp: The order of m-lines in subsequent offer doesn't match order from previous offer/answer.

Those logs don’t help I am afraid. I need ALL the mediasoup-client generated logs (and I don’t need other logs). Please, set mediasoup-client debug to “*” using localStorage.setItem(“debug”, “*”) and then collect ALL logs of mediasoup-client when trying to produce audio and/or video so I can see the SDP offer than the browser generates and the SDP answer that mediasoup-client generates.

I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceAsync()%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() [userAgent:"%s", userAgentData:%o]%c +3ms color: #CC9933 color: inherit Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 undefined color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetChromiumMajorVersion() | this is not Chromium => undefined%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetFirefoxMajorVersion() | this is not Firefox => undefined%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetMacOSWebKitMajorVersion() | WebKit major version based on User-Agent => 537%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:WARN:Device %cdetectDeviceImpl() | unsupported desktop Safari browser/version%c +0ms color: #0099FF color: inherit color: #0099FF", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cconstructor()%c +3ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDevice()%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() [userAgent:"%s", userAgentData:%o]%c +0ms color: #CC9933 color: inherit Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5 undefined color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetChromiumMajorVersion() | Chromium major version based on User-Agent => 120%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() | using Chrome111 handler%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cconstructor() | detected handler: %s%c +0ms color: #CC9933 color: inherit Chrome111 color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got native RTP capabilities:%o%c +74ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got receiving RTP capabilities:%o%c +7ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %cgetNativeSctpCapabilities()%c +76ms color: #FF6600 color: inherit color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() | got native SCTP capabilities:%o%c +2ms color: #CC9933 color: inherit [object Object] color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cload() succeeded%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %ccreateSendTransport()%c +318ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Transport %cconstructor() [id:%s, direction:%s]%c +0ms color: #CC6600 color: inherit e010c3ef-2517-4624-b4d9-ebd34a1651a4 send color: #CC6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %cconstructor()%c +324ms color: #FF6600 color: inherit color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Transport %cproduce() [track:%o]%c +13ms color: #CC6600 color: inherit [object MediaStreamTrack] color: #CC6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %csend() [kind:%s, track.id:%s]%c +14ms color: #FF6600 color: inherit audio d2ae2742-84f9-4f7b-a0b5-c757ec7f994f color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:RemoteSdp %csetSessionExtmapAllowMixed()%c +0ms color: #00CC00 color: inherit color: #00CC00", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:RemoteSdp %cupdateDtlsRole() [role:%s]%c +6ms color: #00CC00 color: inherit server color: #00CC00", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceAsync()%c +189ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() [userAgent:"%s", userAgentData:%o]%c +1ms color: #CC9933 color: inherit Mozilla/5.0 (SMART-TV; LINUX; Tizen 9.0) AppleWebKit/537.36 (KHTML, like Gecko) 120.0.6099.5/9.0 TV Safari/537.36 Chrome/120.0.6099.5 undefined color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisIOS() | this is not iOS => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cisReactNative() | this is not React-Native => false%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cgetChromiumMajorVersion() | Chromium major version based on User-Agent => 120%c +0ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Device %cdetectDeviceImpl() | using Chrome111 handler%c +1ms color: #CC9933 color: inherit color: #CC9933", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %csend() | calling pc.setLocalDescription() [offer:%o]%c +177ms color: #FF6600 color: inherit [object RTCSessionDescription] color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %csend() | calling pc.setRemoteDescription() [answer:%o]%c +23ms color: #FF6600 color: inherit [object Object] color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Transport %cproduce() [track:%o]%c +172ms color: #CC6600 color: inherit [object MediaStreamTrack] color: #CC6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Producer %cconstructor()%c +0ms color: #CCCC33 color: inherit color: #CCCC33", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %csend() [kind:%s, track.id:%s]%c +207ms color: #FF6600 color: inherit video 9ccb21c3-e336-48ef-96a1-45189e27e7dd color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Transport %cICE gathering state changed to %s%c +84ms color: #CC6600 color: inherit complete color: #CC6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:RemoteSdp %csetSessionExtmapAllowMixed()%c +446ms color: #00CC00 color: inherit color: #00CC00", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %csend() | calling pc.setLocalDescription() [offer:%o]%c +69ms color: #FF6600 color: inherit [object RTCSessionDescription] color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Transport %cconnection state changed to %s%c +62ms color: #CC6600 color: inherit connecting color: #CC6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Chrome111 %csend() | calling pc.setRemoteDescription() [answer:%o]%c +58ms color: #FF6600 color: inherit [object Object] color: #FF6600", source: file:///libs/sep/sep_3.16.7.js (1)
I/CHROMIUM(11674): [INFO:CONSOLE: (1)] "%cmediasoup-client:Transport %cconnection state changed to %s%c +350ms color: #CC6600 color: inherit connected color: #CC6600", source: file:///libs/sep/sep_3.16.7.js (1)

Here are the logs. I called detectDeviceAsync before new Device() . The app didn’t crash this time, but the screen still didn’t show on another peer. The answer and offer are in “object” , do you know how to inspect the object?

Those logs are intended for the browser console so SDPs and big objects are shown as a expandable/clickable item. If they are printed somewhere else it’s not possible to see their content.

I’m afraid I’m completely lost here and I don’t understand why it sometimes crashes for you and sometimes it doesn’t. This is too complex. The browser you are running your app is supposed to use Chromium 120 but it doesn’t have navigator.userAgentData so it’s NOT Chromium 120.

I’m afraid I cannot spend more time with this topic because it’s too dark. Of course this is not a real browser so you cannot check chrome://webrtc-internals (that would show how SDP offers and answers look like), so this is hell. I’m sorry I cannot help.

@hasnarof You can patch the mediasoup client code to by pass the original logic of those device loader. You can add your own override code there to force it match your need, like hard coding the user agent in the patch without reading browser user agent.

This is true and in first comments above he said that it does that, but for whatever reason he keeps modifying navigator.userAgent and calling detectDevice() and detectDeviceAsync().