Issue with mediasoup: Peer cannot see/hear others until they refresh the page

Hello everyone,

I’m using mediasoup in an Express project to build a video conferencing application. However, I’m facing an intermittent issue where a peer joins the room but cannot see/hear others (video/audio streams from other peers are not displayed). The issue is resolved when the peer refreshes the page. Here are the details of my problem:

Problem Description

  • When a peer joins the room, they do not receive video/audio streams from other peers.
  • The names of other peers are visible, but the streams are missing (displayed as “black squares”).
  • The issue is resolved when the peer refreshes the page.

Mediasoup Logs

I enabled mediasoup logs, and here are the errors I’m seeing:

2025-02-03T08:54:13.764Z mediasoup:WARN:Channel [pid:1436684] RTC::Producer::ReceiveRtpPacket() | no stream found for received packet [ssrc:603892996]
2025-02-03T08:58:58.305Z mediasoup:WARN:Channel [pid:1436684] RTC::Transport::ReceiveRtpPacket() | no suitable Producer for received RTP packet [ssrc:731891105, payloadType:97]
2025-02-03T08:58:58.737Z mediasoup:WARN:Channel [pid:1436684] RTC::Producer::ReceiveRtpPacket() | no stream found for received packet [ssrc:731891105]
2025-02-03T08:59:24.627Z mediasoup:WARN:Channel [pid:1436684] RTC::Producer::ReceiveRtpPacket() | no stream found for received packet [ssrc:1189021310]
2025-02-03T08:59:25.430Z mediasoup:WARN:Channel [pid:1436684] RTC::Producer::ReceiveRtpPacket() | no stream found for received packet [ssrc:3901521563]
2025-02-03T08:59:27.005Z mediasoup:WARN:Channel [pid:1436684] RTC::Producer::ReceiveRtpPacket() | no stream found for received packet [ssrc:2881710948]
2025-02-03T08:59:53.510Z mediasoup:WARN:Channel [pid:1436684] RTC::IceServer::OnTimer() | ICE consent expired due to timeout, moving to ‘disconnected’ state
2025-02-03T08:59:54.540Z mediasoup:WARN:Channel [pid:1436684] RTC::WebRtcTransport::SendSctpData() | DTLS not connected, cannot send SCTP data

Context

  • mediasoup version: v3
  • Environment: Node.js with Express
  • Browser: Chrome (latest version)
  • mediasoup configuration: I’m using a standard configuration for WebRTC transports and routers.

Hypotheses

Based on the logs, I suspect the issue might be related to:

  1. SSRC desynchronization: RTP packets are not correctly associated with streams.
  2. DTLS/SCTP connection issues: The DTLS or SCTP connection is not established properly.
  3. Bandwidth instability: Bandwidth fluctuations might be causing interruptions.
  4. ICE connection issues: The ICE connection is timing out or failing.

Question

  • Do you have any ideas about what could be causing this issue?
  • How can I better diagnose and resolve this problem?
  • Are there any best practices for handling SSRC, DTLS/SCTP connections, or bandwidth issues in mediasoup?

Thank you in advance for your help!

You will see same “errors” if you check the logs when everything goes fine.

Yours is probably a “browser auto-play policy” issue (Google it please). And check chrome://webrtc-stats to verify that, indeed, RTP is being received for those streams.

Thanks for your suggestion! While I agree that the browser’s autoplay policy can often be the cause of problems like this, I don’t think it’s the primary cause in my case. Here’s why:

Random Occurrence: The problem occurs randomly, even with peers who are familiar with the application and have already successfully logged in several times.

If you like, I can give you the media logs for the peer who has this error… but I can’t see anything wrong, the producers are well created, the consumers too…

There must be necessarily something wrong in your server or client code and perhaps transports or consumers creation is not robust and fails randomly. I cannot guess why. But I guarantee it’s not a bug in mediasoup libraries.

Your logs look great it’s doing what’s intended. Users will close connection and a receiver may request further update; no concerns in the logs.

Your code/logic would be the culprit, nothing more. :slight_smile:

OK thanks again for your answers ! Any idea which way I can look?

Here are the output logs of the server ;

[INFO] Room(id=679a046e24d6d88b3b221b63 name=room)._createConsumer() transport.consume(), producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=679a046e24d6d88b3b221b63 name=room)._createConsumer() transport.consume(), producerPeer: [object Object], consumerPeer [object Object]
[INFO] DTLS state changed for transport 19502f32-48d5-4f90-a1eb-00956faeec17: connected
[INFO] SCTP state changed for transport 19502f32-48d5-4f90-a1eb-00956faeec17: connecting
2025-02-03T08:59:20.067Z mediasoup:Consumer resume()
2025-02-03T08:59:20.067Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-02-03T08:59:20.067Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:51]
2025-02-03T08:59:20.070Z mediasoup:Consumer resume()
2025-02-03T08:59:20.070Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-02-03T08:59:20.070Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:52]
[INFO] DTLS state changed for transport 2487c71b-6aa8-4b26-9b75-6df8ed70324f: connecting
[INFO] DTLS state changed for transport 2487c71b-6aa8-4b26-9b75-6df8ed70324f: connected
[INFO] SCTP state changed for transport 2487c71b-6aa8-4b26-9b75-6df8ed70324f: connecting
[INFO] Removed peer peer_d from network trouble users
[INFO] Producer 031b5b65-c842-4a7d-b401-41d4a1f62828 score update:
[INFO] Attempting to produce data for transportId: 2487c71b-6aa8-4b26-9b75-6df8ed70324f
2025-02-03T08:59:20.136Z mediasoup:Transport produceData()
2025-02-03T08:59:20.136Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE_DATA]
2025-02-03T08:59:20.137Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE_DATA, id:53]
2025-02-03T08:59:20.137Z mediasoup:DataProducer constructor()
[INFO] Data producer with id 987d1c97-0e0b-4acc-b038-815f41877698 created and added to peer data.
[INFO] SCTP state changed for transport 2487c71b-6aa8-4b26-9b75-6df8ed70324f: connected
[INFO] Producer a540fae6-ee05-4461-8fa7-e5292cbca999 score update:
[INFO] Producer 031b5b65-c842-4a7d-b401-41d4a1f62828 score update:
[INFO] Sending RTP capabilities to peer peer_black_screen
[INFO] Creating WebRTC transport for peer peer_black_screen
2025-02-03T08:59:23.271Z mediasoup:Router createWebRtcTransport()
2025-02-03T08:59:23.271Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-02-03T08:59:23.272Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:54]
2025-02-03T08:59:23.273Z mediasoup:Transport constructor()
2025-02-03T08:59:23.273Z mediasoup:WebRtcTransport constructor()
2025-02-03T08:59:23.273Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-02-03T08:59:23.273Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-02-03T08:59:23.274Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:55]
[INFO] Set max incoming bitrate for transport 0333620e-1cec-4ee3-9090-e118ade1eeb2
[INFO] Creating WebRTC transport for peer peer_black_screen
2025-02-03T08:59:23.293Z mediasoup:Router createWebRtcTransport()
2025-02-03T08:59:23.294Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-02-03T08:59:23.295Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:56]
2025-02-03T08:59:23.296Z mediasoup:Transport constructor()
2025-02-03T08:59:23.296Z mediasoup:WebRtcTransport constructor()
2025-02-03T08:59:23.296Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-02-03T08:59:23.297Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-02-03T08:59:23.297Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:57]
[INFO] Set max incoming bitrate for transport b75bc243-37bf-4ffa-bfb7-97b907ff3ac2
[INFO] Peer peer_black_screen joined successfully
2025-02-03T08:59:23.308Z mediasoup:Transport consume()
2025-02-03T08:59:23.309Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-02-03T08:59:23.310Z mediasoup:Transport consume()
2025-02-03T08:59:23.311Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-02-03T08:59:23.311Z mediasoup:Transport consume()
2025-02-03T08:59:23.312Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-02-03T08:59:23.312Z mediasoup:Transport consume()
2025-02-03T08:59:23.313Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-02-03T08:59:23.313Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:58]
2025-02-03T08:59:23.313Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:59]
2025-02-03T08:59:23.313Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:60]
2025-02-03T08:59:23.313Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:61]
2025-02-03T08:59:23.313Z mediasoup:Consumer constructor()
2025-02-03T08:59:23.313Z mediasoup:Consumer constructor()
2025-02-03T08:59:23.313Z mediasoup:Consumer constructor()
2025-02-03T08:59:23.313Z mediasoup:Consumer constructor()
[INFO] Room(id=679a046e24d6d88b3b221b63 name=room)._createConsumer() transport.consume(), producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=679a046e24d6d88b3b221b63 name=room)._createConsumer() transport.consume(), producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=679a046e24d6d88b3b221b63 name=room)._createConsumer() transport.consume(), producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=679a046e24d6d88b3b221b63 name=room)._createConsumer() transport.consume(), producerPeer: [object Object], consumerPeer [object Object]
[INFO] Attempting to connect WebRtcTransport with transportId: b75bc243-37bf-4ffa-bfb7-97b907ff3ac2
[INFO] Connecting transport b75bc243-37bf-4ffa-bfb7-97b907ff3ac2 with provided DTLS parameters.
2025-02-03T08:59:23.477Z mediasoup:WebRtcTransport connect()
2025-02-03T08:59:23.477Z mediasoup:Channel request() [method:WEBRTCTRANSPORT_CONNECT]
2025-02-03T08:59:23.478Z mediasoup:Channel request succeeded [method:WEBRTCTRANSPORT_CONNECT, id:62]
[INFO] Transport b75bc243-37bf-4ffa-bfb7-97b907ff3ac2 connected successfully.
2025-02-03T08:59:23.497Z mediasoup:Consumer resume()
2025-02-03T08:59:23.497Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-02-03T08:59:23.497Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:63]
[INFO] DTLS state changed for transport b75bc243-37bf-4ffa-bfb7-97b907ff3ac2: connecting
[INFO] DTLS state changed for transport b75bc243-37bf-4ffa-bfb7-97b907ff3ac2: connected
[INFO] SCTP state changed for transport b75bc243-37bf-4ffa-bfb7-97b907ff3ac2: connecting
2025-02-03T08:59:23.539Z mediasoup:Consumer resume()
2025-02-03T08:59:23.539Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-02-03T08:59:23.539Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:64]
2025-02-03T08:59:23.548Z mediasoup:Consumer resume()
2025-02-03T08:59:23.548Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-02-03T08:59:23.548Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:65]
[INFO] Attempting to produce media: kind=video, transportId=8323c504-1df5-4077-9c81-6796c17dc651
[INFO] Producing media with transportId: 8323c504-1df5-4077-9c81-6796c17dc651
2025-02-03T08:59:23.885Z mediasoup:Transport produce()
2025-02-03T08:59:23.887Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE]
2025-02-03T08:59:23.887Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE, id:66]
2025-02-03T08:59:23.887Z mediasoup:Producer constructor()
[INFO] Producer created successfully with id: 953786b5-2ab8-4a0d-9862-4394f2b481cb, peerId: peer_b
[INFO] Creating consumer for producer 953786b5-2ab8-4a0d-9862-4394f2b481cb for peer peer_d
2025-02-03T08:59:23.888Z mediasoup:Transport consume()
2025-02-03T08:59:23.889Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
[INFO] Creating consumer for producer 953786b5-2ab8-4a0d-9862-4394f2b481cb for peer peer_c
2025-02-03T08:59:23.890Z mediasoup:Transport consume()
2025-02-03T08:59:23.890Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
[INFO] Creating consumer for producer 953786b5-2ab8-4a0d-9862-4394f2b481cb for peer peer_black_screen
2025-02-03T08:59:23.890Z mediasoup:Transport consume()

Thanks in advance, I going to check my code again !

Can you verify you are not using localhost IP address as part of your listen info IPs

Thanks for your suggestion.
I’m using the ip of my server defined in my env variables, launched with pm2.

  webRtcTransportOptions :
  {
  	listenIps :
  	[
  		{
  			ip          : process.env.MEDIASOUP_LISTEN_IP || '1.2.3.4',
  			announcedIp : process.env.MEDIASOUP_ANNOUNCED_IP
  		}
  	],
  	initialAvailableOutgoingBitrate : 1000000,
  	minimumAvailableOutgoingBitrate : 600000,
  	maxSctpMessageSize              : 262144,
  	// Additional options that are not part of WebRtcTransportOptions.
  	maxIncomingBitrate              : 1500000
  },
  // mediasoup PlainTransport options for legacy RTP endpoints (FFmpeg,
  // GStreamer).
  // See https://mediasoup.org/documentation/v3/mediasoup/api/#PlainTransportOptions
  plainTransportOptions :
  {
  	listenIp :
  	{
  		ip          : process.env.MEDIASOUP_LISTEN_IP || '1.2.3.4',
  		announcedIp : process.env.MEDIASOUP_ANNOUNCED_IP
  	},
  	maxSctpMessageSize : 262144
  }
1 Like

Do you have any other suggestion ?
Could this be due to an underpowered server?

Is Mediasoup - Users Cannot Join Room (Media Blocked) also related to this issue.

Nop, it’s not the same. Here people are in the room but can not see/hear other peers.

Acknowledged.

Have you looked into the client side log if there are any helpful information there? You could paste a good potion of it here. For this you would need to enable client side logging mediasoup-client v3 Debugging.

OK, I’m going to test it. I’ll try to copy all the logs from the client side…

However, the bug is random—it happens quite rarely, so I’m not sure when I’ll be able to capture the logs.

Thanks a lot for your help! I really appreciate it.

1 Like

Please confirm whether you have received the “newConsumer” notification from server side.

Hello !

I’ve encountered the problem again.
For your information, I’m sending you the web console logs of the person who couldn’t see or hear peer1@gmail.com or peer2@gmail.com.

Peer2 and peer1 could see and hear it.

content.js:1 Objectresults: resize: nullspeedupYoutubeAds: false[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (…)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (…)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()

common.js:113 mediasoup-client:Device constructor() +0ms

common.js:113 mediasoup-client:Device detectDevice() | browser detected [userAgent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36, parsed:Objectbrowser: major: "134"name: "Chrome"version: "134.0.0.0"[[Prototype]]: Objectcpu: architecture: "amd64"[[Prototype]]: Objectdevice: model: undefinedtype: undefinedvendor: undefined[[Prototype]]: Objectengine: name: "Blink"version: "134.0.0.0"[[Prototype]]: Objectos: name: "Windows"version: "10"[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (…)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()ua: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"[[Prototype]]: Object] +7ms

common.js:113 mediasoup-client:Device constructor() | detected handler: Chrome111 +4ms

common.js:113 mediasoup-client:Chrome111 close() +0ms

common.js:113 mediasoup-client:Device load() [routerRtpCapabilities:Object] +12ms

common.js:113 mediasoup-client:Chrome111 getNativeRtpCapabilities() +11ms

common.js:113 mediasoup-client:Device load() | got native RTP capabilities:Object +11ms

common.js:113 mediasoup-client:Device load() | got extended RTP capabilities:Object +1ms

common.js:113 mediasoup-client:Device load() | got receiving RTP capabilities:Object +0ms

common.js:113 mediasoup-client:Chrome111 getNativeSctpCapabilities() +12ms

common.js:113 mediasoup-client:Device load() | got native SCTP capabilities:Object +0ms

common.js:113 mediasoup-client:Device load() succeeded +0ms

common.js:113 mediasoup-client:Chrome111 close() +0ms

common.js:113 mediasoup-client:Device createSendTransport() +11ms

common.js:113 mediasoup-client:Transport constructor() [id:c3e15109-cd7d-48df-a03f-acd93368cc96, direction:send] +0ms

common.js:113 mediasoup-client:Chrome111 run() +12ms

common.js:113 mediasoup-client:Device createRecvTransport() +14ms

common.js:113 mediasoup-client:Transport constructor() [id:054a6231-abf3-4aba-af41-8b5bf57efe39, direction:recv] +14ms

common.js:113 mediasoup-client:Chrome111 run() +13ms

RoomClient.ts:860 stopWebcamDevice MediaStreamTrack

RoomClient.ts:1345 stopMicDevice MediaStreamTrack

common.js:113 mediasoup-client:Transport consume() +108ms

common.js:113 mediasoup-client:Chrome111 receive() [trackId:1d29387f-91c3-478f-9bd9-3d9280c51b55, kind:audio] +108ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setRemoteDescription() [offer:Object] +1ms

common.js:113 mediasoup-client:Transport consume() +2ms

common.js:113 mediasoup-client:RemoteSdp updateDtlsRole() [role:server] +0ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setLocalDescription() [answer:Object] +15ms

common.js:113 mediasoup-client:Consumer constructor() +0ms

common.js:113 mediasoup-client:Chrome111 receive() [trackId:91e778ff-c860-4435-b54a-ae06426d0714, kind:video] +28ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setRemoteDescription() [offer:Object] +0ms

PeerView.tsx:272 isMe=false peer_1@gmail.com videoTrack=NULL

V @ PeerView.tsx:272

PeerView.tsx:323 isMe=false peer_1@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

common.js:113 mediasoup-client:Transport ICE gathering state changed to gathering +47ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setLocalDescription() [answer:Object] +29ms

common.js:113 mediasoup-client:Transport connection state changed to connecting +25ms

common.js:113 mediasoup-client:Transport ICE gathering state changed to complete +0ms

common.js:113 mediasoup-client:Transport produce() [track:MediaStreamTrack] +0ms

common.js:113 mediasoup-client:Chrome111 send() [kind:audio, track.id:4f0203d1-3271-4923-90c8-83e69c263deb] +1ms

common.js:113 mediasoup-client:Consumer constructor() +43ms

common.js:113 mediasoup-client:Chrome111 receive() [trackId:probator, kind:video] +4ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setRemoteDescription() [offer:Object] +1ms

common.js:113 mediasoup-client:RemoteSdp updateDtlsRole() [role:server] +81ms

PeerView.tsx:224 isMe=false peer_1@gmail.com videoTrack.readyState live

PeerView.tsx:323 isMe=false peer_1@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setLocalDescription() [answer:Object] +14ms

common.js:113 mediasoup-client:Transport connection state changed to connected +19ms

common.js:113 mediasoup-client:Transport createPendingConsumers() | Consumer for RTP probation created +15ms

common.js:113 mediasoup-client:Chrome111 send() | calling pc.setLocalDescription() [offer:Object] +17ms

common.js:113 mediasoup-client:Chrome111 send() | calling pc.setRemoteDescription() [answer:Object] +8ms

common.js:113 mediasoup-client:Transport ICE gathering state changed to gathering +11ms

common.js:113 mediasoup-client:Transport connection state changed to connecting +2ms

RoomClient.ts:1861 _sendTransport.connectionstatechange connecting

common.js:113 mediasoup-client:Producer constructor() +0ms

PeerView.tsx:272 isMe=true undefined videoTrack=NULL

V @ PeerView.tsx:272

PeerView.tsx:323 isMe=true undefined videoTrack=NULL

V @ PeerView.tsx:323

common.js:113 mediasoup-client:Transport ICE gathering state changed to complete +65ms

common.js:113 mediasoup-client:Transport connection state changed to connected +16ms

RoomClient.ts:1861 _sendTransport.connectionstatechange connected

common.js:113 mediasoup-client:Transport produceData() +1ms

common.js:113 mediasoup-client:Chrome111 sendDataChannel() [options:Object] +85ms

common.js:113 mediasoup-client:Chrome111 sendDataChannel() | calling pc.setLocalDescription() [offer:Object] +3ms

common.js:113 mediasoup-client:Chrome111 sendDataChannel() | calling pc.setRemoteDescription() [answer:Object] +1ms

common.js:113 mediasoup-client:DataProducer constructor() +0ms

common.js:113 mediasoup-client:DataProducer DataChannel "open" event +3ms

PeerView.tsx:264 isMe=false peer_1@gmail.com videoElem.progress

common.js:113 mediasoup-client:Transport produce() [track:MediaStreamTrack] +1s

common.js:113 mediasoup-client:Chrome111 send() [kind:video, track.id:9ff0846b-a277-4181-98ad-4c479d4c417e] +1s

common.js:113 mediasoup-client:Chrome111 send() | calling pc.setLocalDescription() [offer:Object] +4ms

common.js:113 mediasoup-client:Chrome111 send() | calling pc.setRemoteDescription() [answer:Object] +3ms

common.js:113 mediasoup-client:Producer constructor() +1s

PeerView.tsx:323 isMe=true undefined videoTrack=NULL

V @ PeerView.tsx:323

common.js:113 mediasoup-client:Producer replaceTrack() [track:MediaStreamTrack] +13ms

common.js:113 mediasoup-client:Producer replaceTrack() | same track, ignored +0ms

PeerView.tsx:236 isMe=true undefined videoElem.oncanplay Event

PeerView.tsx:264 isMe=true undefined videoElem.progress


PeerView.tsx:221 isMe=false peer_1@gmail.com videoTrack.onmute

common.js:113 mediasoup-client:Transport connection state changed to disconnected +4s

common.js:113 mediasoup-client:Transport connection state changed to failed +10s

ChatWebsocketConnection.ts:605 Window lost focus, scheduling disconnect...

RoomClient.ts:2156 setNetworkTrouble() failed: Error: request timeout

  at Peer.js:159:14

setNetworkTrouble @ RoomClient.ts:2156

ChatWebsocketConnection.ts:619 Disconnecting due to inactivity or screen lock...

WebsocketConnection.ts:87 operation.attempt this._closed

RoomClient.ts:301 mediasoup-client:Transport consume() +17s

common.js:113 mediasoup-client:Chrome111 receive() [trackId:e0b7108d-7db6-471a-8590-2e05641bc435, kind:audio] +31s

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 4 IN IP4 0.0.0.0\r\ns=…name:6kpK+EnAektF9Wag\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +0ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setLocalDescription() [answer:{type: 'answer', sdp: 'v=0\r\no=- 1294963578212865783 5 IN IP4 127.0.0.1\r\ns…a=ice-options:trickle\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +3ms

common.js:113 mediasoup-client:Consumer constructor() +32s

PeerView.tsx:272 isMe=false peer_2@gmail.com videoTrack=NULL

V @ PeerView.tsx:272

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

(anonyme) @ react-dom.production.min.js:281

S @ scheduler.production.min.js:13

M @ scheduler.production.min.js:14

PeerView.tsx:323 isMe=false peer_2@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

(anonyme) @ react-dom.production.min.js:281

S @ scheduler.production.min.js:13

M @ scheduler.production.min.js:14

RoomClient.ts:301 mediasoup-client:Transport consume() +28ms

common.js:113 mediasoup-client:Chrome111 receive() [trackId:b2507789-488b-4020-8fb6-1fdec29ee5d8, kind:video] +25ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 5 IN IP4 0.0.0.0\r\ns=…D 703987267 703987268\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +0ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setLocalDescription() [answer:{type: 'answer', sdp: 'v=0\r\no=- 1294963578212865783 6 IN IP4 127.0.0.1\r\ns…a=ice-options:trickle\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +5ms

common.js:113 mediasoup-client:Consumer constructor() +31ms

PeerView.tsx:224 isMe=false peer_2@gmail.com videoTrack.readyState live

PeerView.tsx:323 isMe=false peer_2@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

(anonyme) @ react-dom.production.min.js:281

S @ scheduler.production.min.js:13

M @ scheduler.production.min.js:14

PeerView.tsx:264 isMe=false peer_2@gmail.com videoElem.progress

PeerView.tsx:221 isMe=false peer_2@gmail.com videoTrack.onmute

RoomClient.ts:1243 mediasoup-client:Transport produce() [track:MediaStreamTrack {kind: 'video', id: 'b4a5e84d-7d70-4475-8ed5-5d4b7918764f', label: 'screen:0:0', enabled: true, muted: false, …}] +2m

RoomClient.ts:1243 mediasoup-client:Chrome111 send() [kind:video, track.id:b4a5e84d-7d70-4475-8ed5-5d4b7918764f] +2m

common.js:113 mediasoup-client:Chrome111 send() | calling pc.setLocalDescription() [offer:{sdp: 'v=0\r\no=- 1094797896449510976 5 IN IP4 127.0.0.1\r\ns…a7c13e4150 b4a5e84d-7d70-4475-8ed5-5d4b7918764f\r\n', type: 'offer'}] +5ms

common.js:113 mediasoup-client:Chrome111 send() | calling pc.setRemoteDescription() [answer:{type: 'answer', sdp: 'v=0\r\no=mediasoup-client 10000 4 IN IP4 0.0.0.0\r\ns=…-options:renomination\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +10ms

common.js:113 mediasoup-client:Producer constructor() +2m

PeerView.tsx:224 isMe=false peer_1@gmail.com videoTrack.readyState live

PeerView.tsx:323 isMe=false peer_1@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

enableShare @ RoomClient.ts:1262

await in enableShare

c @ CallControlsScreenShare.tsx:36

onClick @ CallControlsScreenShare.tsx:44

$e @ react-dom.production.min.js:54

He @ react-dom.production.min.js:54

(anonyme) @ react-dom.production.min.js:55

zr @ react-dom.production.min.js:105

Dr @ react-dom.production.min.js:106

(anonyme) @ react-dom.production.min.js:117

cc @ react-dom.production.min.js:273

Ie @ react-dom.production.min.js:52

Wr @ react-dom.production.min.js:109

Gt @ react-dom.production.min.js:74

qt @ react-dom.production.min.js:73

PeerView.tsx:224 isMe=false peer_2@gmail.com videoTrack.readyState live

PeerView.tsx:323 isMe=false peer_2@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

enableShare @ RoomClient.ts:1262

await in enableShare

c @ CallControlsScreenShare.tsx:36

onClick @ CallControlsScreenShare.tsx:44

$e @ react-dom.production.min.js:54

He @ react-dom.production.min.js:54

(anonyme) @ react-dom.production.min.js:55

zr @ react-dom.production.min.js:105

Dr @ react-dom.production.min.js:106

(anonyme) @ react-dom.production.min.js:117

cc @ react-dom.production.min.js:273

Ie @ react-dom.production.min.js:52

Wr @ react-dom.production.min.js:109

Gt @ react-dom.production.min.js:74

qt @ react-dom.production.min.js:73

PeerView.tsx:252 isMe=true undefined videoElem.onpause

PeerView.tsx:315 isMe=true undefined shareElem.onpause

PeerView.tsx:319 isMe=true undefined shareElem.play AbortError: The play() request was interrupted because the media was removed from the document. https://goo.gl/LdLk22

(anonyme) @ PeerView.tsx:319

Promise.catch

V @ PeerView.tsx:318

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

enableShare @ RoomClient.ts:1262

await in enableShare

c @ CallControlsScreenShare.tsx:36

onClick @ CallControlsScreenShare.tsx:44

$e @ react-dom.production.min.js:54

He @ react-dom.production.min.js:54

(anonyme) @ react-dom.production.min.js:55

zr @ react-dom.production.min.js:105

Dr @ react-dom.production.min.js:106

(anonyme) @ react-dom.production.min.js:117

cc @ react-dom.production.min.js:273

Ie @ react-dom.production.min.js:52

Wr @ react-dom.production.min.js:109

Gt @ react-dom.production.min.js:74

qt @ react-dom.production.min.js:73

PeerView.tsx:252 isMe=true undefined videoElem.onpause

PeerView.tsx:268 isMe=true undefined videoElem.play AbortError: The play() request was interrupted because the media was removed from the document. https://goo.gl/LdLk22

(anonyme) @ PeerView.tsx:268

Promise.catch

V @ PeerView.tsx:267

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

enableShare @ RoomClient.ts:1262

await in enableShare

c @ CallControlsScreenShare.tsx:36

onClick @ CallControlsScreenShare.tsx:44

$e @ react-dom.production.min.js:54

He @ react-dom.production.min.js:54

(anonyme) @ react-dom.production.min.js:55

zr @ react-dom.production.min.js:105

Dr @ react-dom.production.min.js:106

(anonyme) @ react-dom.production.min.js:117

cc @ react-dom.production.min.js:273

Ie @ react-dom.production.min.js:52

Wr @ react-dom.production.min.js:109

Gt @ react-dom.production.min.js:74

qt @ react-dom.production.min.js:73

PeerView.tsx:252 isMe=false peer_1@gmail.com videoElem.onpause

PeerView.tsx:268 isMe=false peer_1@gmail.com videoElem.play AbortError: The play() request was interrupted because the media was removed from the document. https://goo.gl/LdLk22

(anonyme) @ PeerView.tsx:268

PeerView.tsx:252 isMe=false peer_2@gmail.com videoElem.onpause

PeerView.tsx:268 isMe=false peer_2@gmail.com videoElem.play AbortError: The play() request was interrupted because the media was removed from the document. https://goo.gl/LdLk22

(anonyme) @ PeerView.tsx:268

PeerView.tsx:236 isMe=true undefined videoElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video.is-my-webcam.cursor-grab.draggable.is-webcam-reduced.react-draggable, currentTarget: video.is-my-webcam.cursor-grab.draggable.is-webcam-reduced.react-draggable, eventPhase: 2, …}

PeerView.tsx:308 isMe=true undefined shareElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video, currentTarget: video, eventPhase: 2, …}

PeerView.tsx:236 isMe=true undefined videoElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video.is-my-webcam.cursor-grab.draggable.is-webcam-reduced.react-draggable, currentTarget: video.is-my-webcam.cursor-grab.draggable.is-webcam-reduced.react-draggable, eventPhase: 2, …}

PeerView.tsx:308 isMe=true undefined shareElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video, currentTarget: video, eventPhase: 2, …}

PeerView.tsx:264 isMe=true undefined videoElem.progress

PeerView.tsx:264 isMe=false peer_1@gmail.com videoElem.progress

PeerView.tsx:264 isMe=false peer_2@gmail.com videoElem.progress

PeerView.tsx:264 isMe=true undefined videoElem.progress

RoomClient.ts:591 mediasoup-client:Consumer close() +2m

RoomClient.ts:591 mediasoup-client:Chrome111 stopReceiving() [localId:3] +25s

RoomClient.ts:591 mediasoup-client:Chrome111 stopReceiving() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 6 IN IP4 0.0.0.0\r\ns=…-options:renomination\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +0ms

PeerView.tsx:272 isMe=false peer_2@gmail.com videoTrack=NULL

V @ PeerView.tsx:272

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

dispatch @ redux.js:691

(anonyme) @ consumersSlice.ts:58

(anonyme) @ index.js:16

(anonyme) @ index.ts:445

(anonyme) @ RoomClient.ts:596

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

_handleNotification @ Peer.js:342

(anonyme) @ Peer.js:267

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

e.attempt._closed._ws.onmessage @ WebSocketTransport.js:206

PeerView.tsx:323 isMe=false peer_2@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

dispatch @ redux.js:691

(anonyme) @ consumersSlice.ts:58

(anonyme) @ index.js:16

(anonyme) @ index.ts:445

(anonyme) @ RoomClient.ts:596

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

_handleNotification @ Peer.js:342

(anonyme) @ Peer.js:267

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

e.attempt._closed._ws.onmessage @ WebSocketTransport.js:206

PeerView.tsx:264 isMe=false peer_2@gmail.com videoElem.progress

PeerView.tsx:264 isMe=false peer_2@gmail.com videoElem.progress

PeerView.tsx:236 isMe=false peer_2@gmail.com videoElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video, currentTarget: video, eventPhase: 2, …}

PeerView.tsx:236 isMe=false peer_2@gmail.com videoElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video, currentTarget: video, eventPhase: 2, …}

common.js:113 mediasoup-client:Chrome111 stopReceiving() | calling pc.setLocalDescription() [answer:{sdp: 'v=0\r\no=- 1294963578212865783 7 IN IP4 127.0.0.1\r\ns…pli\r\na=rtpmap:102 rtx/90000\r\na=fmtp:102 apt=101\r\n', type: 'answer'}] +19ms

WebsocketConnection.ts:87 operation.attempt this._closed

RoomClient.ts:301 mediasoup-client:Transport consume() +3m

common.js:113 mediasoup-client:Chrome111 receive() [trackId:4d7a14db-3b21-428c-b45e-665a6b73fc64, kind:video] +2m

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 7 IN IP4 0.0.0.0\r\ns=…D 354638077 354638078\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +1ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setLocalDescription() [answer:{type: 'answer', sdp: 'v=0\r\no=- 1294963578212865783 8 IN IP4 127.0.0.1\r\ns…a=ice-options:trickle\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +6ms

common.js:113 mediasoup-client:Consumer constructor() +2m

PeerView.tsx:224 isMe=false peer_2@gmail.com videoTrack.readyState live

PeerView.tsx:323 isMe=false peer_2@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

(anonyme) @ react-dom.production.min.js:281

S @ scheduler.production.min.js:13

M @ scheduler.production.min.js:14

PeerView.tsx:264 isMe=false peer_2@gmail.com videoElem.progress

PeerView.tsx:221 isMe=false peer_2@gmail.com videoTrack.onmute

RoomClient.ts:591 mediasoup-client:Consumer close() +8s

RoomClient.ts:591 mediasoup-client:Chrome111 stopReceiving() [localId:1] +8s

RoomClient.ts:591 mediasoup-client:Chrome111 stopReceiving() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 8 IN IP4 0.0.0.0\r\ns=…D 354638077 354638078\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +1ms

PeerView.tsx:272 isMe=false peer_1@gmail.com videoTrack=NULL

V @ PeerView.tsx:272

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

dispatch @ redux.js:691

(anonyme) @ consumersSlice.ts:58

(anonyme) @ index.js:16

(anonyme) @ index.ts:445

(anonyme) @ RoomClient.ts:596

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

_handleNotification @ Peer.js:342

(anonyme) @ Peer.js:267

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

e.attempt._closed._ws.onmessage @ WebSocketTransport.js:206

PeerView.tsx:323 isMe=false peer_1@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

lc @ react-dom.production.min.js:272

Vo @ react-dom.production.min.js:127

cc @ react-dom.production.min.js:273

notify @ Subscription.js:16

notifyNestedSubs @ Subscription.js:101

i @ Subscription.js:106

f @ redux.js:296

(anonyme) @ store.ts:246

(anonyme) @ index.js:20

(anonyme) @ index.ts:480

dispatch @ redux.js:691

(anonyme) @ consumersSlice.ts:58

(anonyme) @ index.js:16

(anonyme) @ index.ts:445

(anonyme) @ RoomClient.ts:596

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

_handleNotification @ Peer.js:342

(anonyme) @ Peer.js:267

e.27284.a.emit @ events.js:153

safeEmit @ EnhancedEventEmitter.js:18

e.attempt._closed._ws.onmessage @ WebSocketTransport.js:206

PeerView.tsx:264 isMe=false peer_1@gmail.com videoElem.progress

PeerView.tsx:264 isMe=false peer_1@gmail.com videoElem.progress

PeerView.tsx:236 isMe=false peer_1@gmail.com videoElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video, currentTarget: video, eventPhase: 2, …}

PeerView.tsx:236 isMe=false peer_1@gmail.com videoElem.oncanplay Event {isTrusted: true, type: 'canplay', target: video, currentTarget: video, eventPhase: 2, …}

common.js:113 mediasoup-client:Chrome111 stopReceiving() | calling pc.setLocalDescription() [answer:{sdp: 'v=0\r\no=- 1294963578212865783 9 IN IP4 127.0.0.1\r\ns…pli\r\na=rtpmap:102 rtx/90000\r\na=fmtp:102 apt=101\r\n', type: 'answer'}] +18ms

RoomClient.ts:301 mediasoup-client:Transport consume() +9s

common.js:113 mediasoup-client:Chrome111 receive() [trackId:e12a2b10-f0e3-4a5d-a61e-97aca3aed0ac, kind:video] +1s

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 9 IN IP4 0.0.0.0\r\ns=…D 354638077 354638078\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +0ms

common.js:113 mediasoup-client:Chrome111 receive() | calling pc.setLocalDescription() [answer:{type: 'answer', sdp: 'v=0\r\no=- 1294963578212865783 10 IN IP4 127.0.0.1\r\n…a=ice-options:trickle\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +16ms

common.js:113 mediasoup-client:Consumer constructor() +1s

PeerView.tsx:224 isMe=false peer_1@gmail.com videoTrack.readyState live

PeerView.tsx:323 isMe=false peer_1@gmail.com videoTrack=NULL

V @ PeerView.tsx:323

(anonyme) @ PeerView.tsx:115

rl @ react-dom.production.min.js:243

Sc @ react-dom.production.min.js:285

(anonyme) @ react-dom.production.min.js:281

S @ scheduler.production.min.js:13

M @ scheduler.production.min.js:14

PeerView.tsx:264 isMe=false peer_1@gmail.com videoElem.progress

RoomClient.ts:607 mediasoup-client:Consumer pause() +490ms

common.js:113 mediasoup-client:Chrome111 pauseReceiving() [localId:2] +501ms

common.js:113 mediasoup-client:Chrome111 pauseReceiving() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 10 IN IP4 0.0.0.0\r\ns…D 354638077 354638078\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +1ms

common.js:113 mediasoup-client:Chrome111 pauseReceiving() | calling pc.setLocalDescription() [answer:{sdp: 'v=0\r\no=- 1294963578212865783 11 IN IP4 127.0.0.1\r\n…pli\r\na=rtpmap:102 rtx/90000\r\na=fmtp:102 apt=101\r\n', type: 'answer'}] +5ms

RoomClient.ts:620 mediasoup-client:Consumer resume() +393ms

common.js:113 mediasoup-client:Chrome111 resumeReceiving() [localId:2] +385ms

common.js:113 mediasoup-client:Chrome111 resumeReceiving() | calling pc.setRemoteDescription() [offer:{type: 'offer', sdp: 'v=0\r\no=mediasoup-client 10000 11 IN IP4 0.0.0.0\r\ns…D 354638077 354638078\r\na=rtcp-mux\r\na=rtcp-rsize\r\n'}] +1ms

common.js:113 mediasoup-client:Chrome111 resumeReceiving() | calling pc.setLocalDescription() [answer:{sdp: 'v=0\r\no=- 1294963578212865783 12 IN IP4 127.0.0.1\r\n…pli\r\na=rtpmap:102 rtx/90000\r\na=fmtp:102 apt=101\r\n', type: 'answer'}] +4ms

PeerView.tsx:221 isMe=false peer_1@gmail.com videoTrack.onmute

PeerView.tsx:272 isMe=false peer_1@gmail.com videoTrack=NULL this is strange ? Here is the code of this part :


    const videoElem = videoRef.current
    if (videoElem) {
      if (videoTrack) {
        if (isMe == false) {
          videoTrack.onunmute = () => {
            console.log(`isMe=${isMe} ${peer?.id} videoTrack.onunmute`)
          }

          videoTrack.onended = () => {
            console.log(`isMe=${isMe} ${peer?.id} videoTrack.onended`)
          }

          videoTrack.onmute = () => {
            console.log(`isMe=${isMe} ${peer?.id} videoTrack.onmute`)
          }

          console.log(
            `isMe=${isMe} ${peer?.id} videoTrack.readyState ${videoTrack.readyState}`,
          )
        }

        const stream = new MediaStream()
        stream.addTrack(videoTrack)

        videoElem.srcObject = stream

        videoElem.oncanplay = (event: any) => {
          setVideoCanPlay(true)
          console.log(`isMe=${isMe} ${peer?.id} videoElem.oncanplay`, event)
        }

        videoElem.onplay = (event: any) => {
          if (audioElem) {
            audioElem.play().catch((error: any) => {
              console.error(`isMe=${isMe} ${peer?.id} audioElem.play`, error)
            })
          } else {
            console.error(
              `isMe=${isMe} ${peer?.id} audioElem.onplay: is not ready but "setTracks -> videoElem.onplay" is called`,
            )
          }
        }

        videoElem.onpause = () => {
          console.log(`isMe=${isMe} ${peer?.id} videoElem.onpause`)
        }

        videoElem.onerror = (e: any) => {
          console.error(`isMe=${isMe} ${peer?.id} videoElem.onerror`, e)
        }

        videoElem.onended = () => {
          console.error(`isMe=${isMe} ${peer?.id} videoElem.onended`)
        }

        videoElem.onprogress = () => {
          console.log(`isMe=${isMe} ${peer?.id} videoElem.progress`)
        }

        videoElem.play().catch((error: any) => {
          console.error(`isMe=${isMe} ${peer?.id} videoElem.play`, error)
        })
      } else {
        // videoElem.srcObject = null
        console.warn(`isMe=${isMe} ${peer?.id} videoTrack=NULL`)
      }
    } else {
      console.error(
        `isMe=${isMe} ${peer?.id} "videoElem" is not ready but "setTracks" is called`,
      )
    }

Thanks in advance

Hello,

here are the logs from server side :

[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room) emailFirstParticipantWaitingModerator (peer1@gmail.com) send to creator=[object Object]
[INFO] Sending RTP capabilities to peer peer1@gmail.com
[INFO] Creating WebRTC transport for peer peer1@gmail.com
2025-03-14T12:41:17.246Z mediasoup:Router createWebRtcTransport()
2025-03-14T12:41:17.249Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-03-14T12:41:17.250Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:60]
2025-03-14T12:41:17.256Z mediasoup:Transport constructor()
2025-03-14T12:41:17.256Z mediasoup:WebRtcTransport constructor()
2025-03-14T12:41:17.257Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-03-14T12:41:17.257Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-03-14T12:41:17.258Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:61]
[INFO] Set max incoming bitrate for transport d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2
[INFO] Creating WebRTC transport for peer peer1@gmail.com
2025-03-14T12:41:17.271Z mediasoup:Router createWebRtcTransport()
2025-03-14T12:41:17.272Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-03-14T12:41:17.272Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:62]
2025-03-14T12:41:17.273Z mediasoup:Transport constructor()
2025-03-14T12:41:17.273Z mediasoup:WebRtcTransport constructor()
2025-03-14T12:41:17.273Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-03-14T12:41:17.273Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-03-14T12:41:17.274Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:63]
[INFO] Set max incoming bitrate for transport f69f2ee5-7e7c-4acb-974c-48158cf6224a
[INFO] Peer peer1@gmail.com joined successfully
[INFO] Attempting to connect WebRtcTransport with transportId: d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2
[INFO] Connecting transport d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2 with provided DTLS parameters.
2025-03-14T12:41:17.356Z mediasoup:WebRtcTransport connect()
2025-03-14T12:41:17.358Z mediasoup:Channel request() [method:WEBRTCTRANSPORT_CONNECT]
2025-03-14T12:41:17.358Z mediasoup:Channel request succeeded [method:WEBRTCTRANSPORT_CONNECT, id:64]
[INFO] Transport d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2 connected successfully.
[INFO] DTLS state changed for transport d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2: connecting
[INFO] Attempting to produce media: kind=audio, transportId=d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2
[INFO] Producing media with transportId: d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2
2025-03-14T12:41:17.376Z mediasoup:Transport produce()
2025-03-14T12:41:17.379Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE]
2025-03-14T12:41:17.379Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE, id:65]
2025-03-14T12:41:17.379Z mediasoup:Producer constructor()
[INFO] Producer created successfully with id: bf94acd6-fc4a-462c-8454-c0c9892207e2, peerId: peer1@gmail.com
[INFO] Adding producer bf94acd6-fc4a-462c-8454-c0c9892207e2 to audioLevelObserver
2025-03-14T12:41:17.380Z mediasoup:RtpObserver addProducer()
2025-03-14T12:41:17.380Z mediasoup:Channel request() [method:RTPOBSERVER_ADD_PRODUCER]
2025-03-14T12:41:17.380Z mediasoup:Channel request succeeded [method:RTPOBSERVER_ADD_PRODUCER, id:66]
[INFO] DTLS state changed for transport d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2: connected
[INFO] SCTP state changed for transport d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2: connecting
[INFO] Removed peer peer1@gmail.com from network trouble users
[INFO] Attempting to produce data for transportId: d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2
2025-03-14T12:41:17.416Z mediasoup:Transport produceData()
 2025-03-14T12:41:17.417Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE_DATA]
2025-03-14T12:41:17.418Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE_DATA, id:67]
2025-03-14T12:41:17.419Z mediasoup:DataProducer constructor()
[INFO] Data producer with id 649e957d-deae-41d2-bae0-1f94a344f2be created and added to peer data.
[INFO] SCTP state changed for transport d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2: connected
[INFO] Producer bf94acd6-fc4a-462c-8454-c0c9892207e2 score update:
[INFO] Attempting to produce media: kind=video, transportId=d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2
[INFO] Producing media with transportId: d9508814-c3ee-499e-b9fc-f6cfc4f9e0b2
2025-03-14T12:41:17.880Z mediasoup:Transport produce()
2025-03-14T12:41:17.881Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE]
2025-03-14T12:41:17.882Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE, id:68]
2025-03-14T12:41:17.882Z mediasoup:Producer constructor()
[INFO] Producer created successfully with id: 95f74603-050c-4864-ace3-dabc934455cd, peerId: peer1@gmail.com
[INFO] Producer 95f74603-050c-4864-ace3-dabc934455cd score update:
[INFO] Producer bf94acd6-fc4a-462c-8454-c0c9892207e2 score update:
[INFO] Producer bf94acd6-fc4a-462c-8454-c0c9892207e2 score update:
[INFO] Producer bf94acd6-fc4a-462c-8454-c0c9892207e2 score update:
[INFO] Producer bf94acd6-fc4a-462c-8454-c0c9892207e2 score update:
[INFO] protooWebSocketServer.on(connectionrequest /media/ws/67d2da4024d6d88b3b3143c5/e139530f63707c6028c05ce184366760f151b0a79b9556e3b1cf591f692a2372)
[INFO] Sending RTP capabilities to peer peer_black_stream@gmail.com
[INFO] Creating WebRTC transport for peer peer_black_stream@gmail.com
2025-03-14T12:46:09.738Z mediasoup:Router createWebRtcTransport()
2025-03-14T12:46:09.738Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-03-14T12:46:09.739Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:69]
2025-03-14T12:46:09.740Z mediasoup:Transport constructor()
2025-03-14T12:46:09.740Z mediasoup:WebRtcTransport constructor()
2025-03-14T12:46:09.740Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-03-14T12:46:09.740Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-03-14T12:46:09.740Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:70]
[INFO] Set max incoming bitrate for transport c3e15109-cd7d-48df-a03f-acd93368cc96
[INFO] Creating WebRTC transport for peer peer_black_stream@gmail.com
2025-03-14T12:46:09.752Z mediasoup:Router createWebRtcTransport()
2025-03-14T12:46:09.752Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-03-14T12:46:09.753Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:71]
2025-03-14T12:46:09.754Z mediasoup:Transport constructor()
2025-03-14T12:46:09.754Z mediasoup:WebRtcTransport constructor()
2025-03-14T12:46:09.754Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-03-14T12:46:09.754Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-03-14T12:46:09.754Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:72]
[INFO] Set max incoming bitrate for transport 054a6231-abf3-4aba-af41-8b5bf57efe39
[INFO] Peer peer_black_stream@gmail.com joined successfully
2025-03-14T12:46:09.767Z mediasoup:Transport consume()
2025-03-14T12:46:09.770Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-03-14T12:46:09.770Z mediasoup:Transport consume()
2025-03-14T12:46:09.771Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-03-14T12:46:09.772Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:73]
2025-03-14T12:46:09.772Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:74]
2025-03-14T12:46:09.773Z mediasoup:Consumer constructor()
2025-03-14T12:46:09.774Z mediasoup:Consumer constructor()
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Attempting to connect WebRtcTransport with transportId: 054a6231-abf3-4aba-af41-8b5bf57efe39
[INFO] Connecting transport 054a6231-abf3-4aba-af41-8b5bf57efe39 with provided DTLS parameters.
2025-03-14T12:46:09.878Z mediasoup:WebRtcTransport connect()
2025-03-14T12:46:09.878Z mediasoup:Channel request() [method:WEBRTCTRANSPORT_CONNECT]
2025-03-14T12:46:09.878Z mediasoup:Channel request succeeded [method:WEBRTCTRANSPORT_CONNECT, id:75]
[INFO] Transport 054a6231-abf3-4aba-af41-8b5bf57efe39 connected successfully.
2025-03-14T12:46:09.914Z mediasoup:Consumer resume()
2025-03-14T12:46:09.914Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-03-14T12:46:09.915Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:76]
2025-03-14T12:46:09.914Z mediasoup:Consumer resume()
2025-03-14T12:46:09.914Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-03-14T12:46:09.915Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:76]
[INFO] DTLS state changed for transport 054a6231-abf3-4aba-af41-8b5bf57efe39: connecting
[INFO] DTLS state changed for transport 054a6231-abf3-4aba-af41-8b5bf57efe39: connected
[INFO] SCTP state changed for transport 054a6231-abf3-4aba-af41-8b5bf57efe39: connecting
2025-03-14T12:46:09.958Z mediasoup:Consumer resume()
2025-03-14T12:46:09.958Z mediasoup:Channel request() [method:CONSUMER_RESUME]
[INFO] Attempting to connect WebRtcTransport with transportId: c3e15109-cd7d-48df-a03f-acd93368cc96
[INFO] Connecting transport c3e15109-cd7d-48df-a03f-acd93368cc96 with provided DTLS parameters.
2025-03-14T12:46:09.958Z mediasoup:WebRtcTransport connect()
2025-03-14T12:46:09.958Z mediasoup:Channel request() [method:WEBRTCTRANSPORT_CONNECT]
2025-03-14T12:46:09.959Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:77]
2025-03-14T12:46:09.959Z mediasoup:Channel request succeeded [method:WEBRTCTRANSPORT_CONNECT, id:78]
[INFO] Transport c3e15109-cd7d-48df-a03f-acd93368cc96 connected successfully.
[INFO] Attempting to produce media: kind=audio, transportId=c3e15109-cd7d-48df-a03f-acd93368cc96
[INFO] Producing media with transportId: c3e15109-cd7d-48df-a03f-acd93368cc96
2025-03-14T12:46:09.992Z mediasoup:Transport produce()
2025-03-14T12:46:09.993Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE]
2025-03-14T12:46:09.994Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE, id:79]
2025-03-14T12:46:09.994Z mediasoup:Producer constructor()
[INFO] Producer created successfully with id: 551c714b-79e9-49d7-97af-6be1a581e7e2, peerId: peer_black_stream@gmail.com
[INFO] Creating consumer for producer 551c714b-79e9-49d7-97af-6be1a581e7e2 for peer peer1@gmail.com
2025-03-14T12:46:09.995Z mediasoup:Transport consume()
2025-03-14T12:46:09.996Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
[INFO] Adding producer 551c714b-79e9-49d7-97af-6be1a581e7e2 to audioLevelObserver
2025-03-14T12:46:09.996Z mediasoup:RtpObserver addProducer()
2025-03-14T12:46:09.996Z mediasoup:Channel request() [method:RTPOBSERVER_ADD_PRODUCER]
2025-03-14T12:46:09.996Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:80]
2025-03-14T12:46:09.996Z mediasoup:Channel request succeeded [method:RTPOBSERVER_ADD_PRODUCER, id:81]
2025-03-14T12:46:09.996Z mediasoup:Consumer constructor()
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Attempting to connect WebRtcTransport with transportId: f69f2ee5-7e7c-4acb-974c-48158cf6224a
[INFO] Connecting transport f69f2ee5-7e7c-4acb-974c-48158cf6224a with provided DTLS parameters.
2025-03-14T12:46:10.020Z mediasoup:WebRtcTransport connect()
2025-03-14T12:46:10.020Z mediasoup:Channel request() [method:WEBRTCTRANSPORT_CONNECT]
2025-03-14T12:46:10.021Z mediasoup:Channel request succeeded [method:WEBRTCTRANSPORT_CONNECT, id:82]
[INFO] Transport f69f2ee5-7e7c-4acb-974c-48158cf6224a connected successfully.
2025-03-14T12:46:10.042Z mediasoup:Consumer resume()
2025-03-14T12:46:10.042Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-03-14T12:46:10.043Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:83]
[INFO] DTLS state changed for transport f69f2ee5-7e7c-4acb-974c-48158cf6224a: connecting
[INFO] DTLS state changed for transport c3e15109-cd7d-48df-a03f-acd93368cc96: connecting
[INFO] DTLS state changed for transport c3e15109-cd7d-48df-a03f-acd93368cc96: connected
[INFO] SCTP state changed for transport c3e15109-cd7d-48df-a03f-acd93368cc96: connecting
[INFO] DTLS state changed for transport f69f2ee5-7e7c-4acb-974c-48158cf6224a: connected
[INFO] SCTP state changed for transport f69f2ee5-7e7c-4acb-974c-48158cf6224a: connecting
[INFO] Removed peer peer_black_stream@gmail.com from network trouble users
[INFO] Attempting to produce data for transportId: c3e15109-cd7d-48df-a03f-acd93368cc96
2025-03-14T12:46:10.079Z mediasoup:Transport produceData()
2025-03-14T12:46:10.079Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE_DATA]
2025-03-14T12:46:10.079Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE_DATA, id:84]
2025-03-14T12:46:10.080Z mediasoup:DataProducer constructor()
[INFO] Data producer with id 2503a06d-b0f7-4101-a6b6-a139ae7dd31f created and added to peer data.
[INFO] SCTP state changed for transport c3e15109-cd7d-48df-a03f-acd93368cc96: connected
[INFO] Producer 551c714b-79e9-49d7-97af-6be1a581e7e2 score update:
[INFO] Attempting to produce media: kind=video, transportId=c3e15109-cd7d-48df-a03f-acd93368cc96
[INFO] Producing media with transportId: c3e15109-cd7d-48df-a03f-acd93368cc96
2025-03-14T12:46:11.132Z mediasoup:Transport produce()
2025-03-14T12:46:11.134Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE]
2025-03-14T12:46:11.135Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE, id:85]
2025-03-14T12:46:11.135Z mediasoup:Producer constructor()
[INFO] Producer created successfully with id: 3132904b-8eb1-4d25-9444-5bf83db2d06e, peerId: peer_black_stream@gmail.com
[INFO] Creating consumer for producer 3132904b-8eb1-4d25-9444-5bf83db2d06e for peer peer1@gmail.com
2025-03-14T12:46:11.136Z mediasoup:Transport consume()
2025-03-14T12:46:11.137Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-03-14T12:46:11.137Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:86]
2025-03-14T12:46:11.137Z mediasoup:Consumer constructor()
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
2025-03-14T12:46:11.168Z mediasoup:Consumer resume()
2025-03-14T12:46:11.168Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-03-14T12:46:11.168Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:87]
[INFO] Producer 3132904b-8eb1-4d25-9444-5bf83db2d06e score update:
[INFO] Producer 551c714b-79e9-49d7-97af-6be1a581e7e2 score update:
[INFO] Producer 551c714b-79e9-49d7-97af-6be1a581e7e2 score update:
[INFO] Producer 551c714b-79e9-49d7-97af-6be1a581e7e2 score update:
[INFO] Producer 551c714b-79e9-49d7-97af-6be1a581e7e2 score update:
[INFO] protooWebSocketServer.on(connectionrequest /media/ws/67d2da4024d6d88b3b3143c5/f418b5036ba41c07fff8499fb258d25bf3977b70aca7525ce8d64bb42cb473aa)
[INFO] Sending RTP capabilities to peer peer2@gmail.com
[INFO] Creating WebRTC transport for peer peer2@gmail.com
2025-03-14T12:46:41.998Z mediasoup:Router createWebRtcTransport()
2025-03-14T12:46:41.999Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-03-14T12:46:42.000Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:88]
2025-03-14T12:46:42.001Z mediasoup:Transport constructor()
2025-03-14T12:46:42.001Z mediasoup:WebRtcTransport constructor()
2025-03-14T12:46:42.001Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-03-14T12:46:42.002Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-03-14T12:46:42.002Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:89]
[INFO] Set max incoming bitrate for transport d31a9550-6d5d-45bb-bd15-939b4fb002ec
[INFO] Creating WebRTC transport for peer peer2@gmail.com
2025-03-14T12:46:42.024Z mediasoup:Router createWebRtcTransport()
2025-03-14T12:46:42.025Z mediasoup:Channel request() [method:ROUTER_CREATE_WEBRTCTRANSPORT]
2025-03-14T12:46:42.025Z mediasoup:Channel request succeeded [method:ROUTER_CREATE_WEBRTCTRANSPORT, id:90]
2025-03-14T12:46:42.026Z mediasoup:Transport constructor()
2025-03-14T12:46:42.026Z mediasoup:WebRtcTransport constructor()
2025-03-14T12:46:42.027Z mediasoup:Transport setMaxIncomingBitrate() [bitrate:1500000]
2025-03-14T12:46:42.027Z mediasoup:Channel request() [method:TRANSPORT_SET_MAX_INCOMING_BITRATE]
2025-03-14T12:46:42.027Z mediasoup:Channel request succeeded [method:TRANSPORT_SET_MAX_INCOMING_BITRATE, id:91]
[INFO] Set max incoming bitrate for transport e8a61743-69f0-4b69-807c-1aa7cb3671db
[INFO] Peer peer2@gmail.com joined successfully
2025-03-14T12:46:42.174Z mediasoup:Transport consume()
2025-03-14T12:46:42.175Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-03-14T12:46:42.175Z mediasoup:Transport consume()
2025-03-14T12:46:42.176Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-03-14T12:46:42.177Z mediasoup:Transport consume()
2025-03-14T12:46:42.177Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-03-14T12:46:42.178Z mediasoup:Transport consume()
2025-03-14T12:46:42.178Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
2025-03-14T12:46:42.179Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:92]
2025-03-14T12:46:42.179Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:93]
2025-03-14T12:46:42.179Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:94]
2025-03-14T12:46:42.179Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:95]
2025-03-14T12:46:42.179Z mediasoup:Consumer constructor()
2025-03-14T12:46:42.180Z mediasoup:Consumer constructor()
2025-03-14T12:46:42.180Z mediasoup:Consumer constructor()
2025-03-14T12:46:42.180Z mediasoup:Consumer constructor()
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Attempting to connect WebRtcTransport with transportId: e8a61743-69f0-4b69-807c-1aa7cb3671db
[INFO] Connecting transport e8a61743-69f0-4b69-807c-1aa7cb3671db with provided DTLS parameters.
2025-03-14T12:46:42.290Z mediasoup:WebRtcTransport connect()
2025-03-14T12:46:42.290Z mediasoup:Channel request() [method:WEBRTCTRANSPORT_CONNECT]
[INFO] Attempting to connect WebRtcTransport with transportId: d31a9550-6d5d-45bb-bd15-939b4fb002ec
[INFO] Connecting transport d31a9550-6d5d-45bb-bd15-939b4fb002ec with provided DTLS parameters.
2025-03-14T12:46:42.291Z mediasoup:WebRtcTransport connect()
2025-03-14T12:46:42.291Z mediasoup:Channel request() [method:WEBRTCTRANSPORT_CONNECT]
2025-03-14T12:46:42.291Z mediasoup:Channel request succeeded [method:WEBRTCTRANSPORT_CONNECT, id:96]
2025-03-14T12:46:42.291Z mediasoup:Channel request succeeded [method:WEBRTCTRANSPORT_CONNECT, id:97]
[INFO] Transport e8a61743-69f0-4b69-807c-1aa7cb3671db connected successfully.
[INFO] Transport d31a9550-6d5d-45bb-bd15-939b4fb002ec connected successfully.
[INFO] DTLS state changed for transport d31a9550-6d5d-45bb-bd15-939b4fb002ec: connecting
2025-03-14T12:46:42.423Z mediasoup:Consumer resume()
2025-03-14T12:46:42.423Z mediasoup:Channel request() [method:CONSUMER_RESUME]
[INFO] DTLS state changed for transport e8a61743-69f0-4b69-807c-1aa7cb3671db: connecting
[INFO] Attempting to produce media: kind=audio, transportId=d31a9550-6d5d-45bb-bd15-939b4fb002ec
[INFO] Producing media with transportId: d31a9550-6d5d-45bb-bd15-939b4fb002ec
2025-03-14T12:46:42.424Z mediasoup:Transport produce()
2025-03-14T12:46:42.425Z mediasoup:Channel request() [method:TRANSPORT_PRODUCE]
2025-03-14T12:46:42.425Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:98]
2025-03-14T12:46:42.426Z mediasoup:Consumer resume()
2025-03-14T12:46:42.426Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-03-14T12:46:42.426Z mediasoup:Channel request succeeded [method:TRANSPORT_PRODUCE, id:99]
2025-03-14T12:46:42.426Z mediasoup:Producer constructor()
[INFO] Producer created successfully with id: 0e4dfb67-4ab1-4487-99c0-3c22b8bc18da, peerId: peer2@gmail.com
[INFO] Creating consumer for producer 0e4dfb67-4ab1-4487-99c0-3c22b8bc18da for peer peer1@gmail.com
2025-03-14T12:46:42.427Z mediasoup:Transport consume()
2025-03-14T12:46:42.428Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
[INFO] Creating consumer for producer 0e4dfb67-4ab1-4487-99c0-3c22b8bc18da for peer peer_black_stream@gmail.com
2025-03-14T12:46:42.429Z mediasoup:Transport consume()
2025-03-14T12:46:42.430Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
[INFO] Adding producer 0e4dfb67-4ab1-4487-99c0-3c22b8bc18da to audioLevelObserver
2025-03-14T12:46:42.430Z mediasoup:RtpObserver addProducer()
2025-03-14T12:46:42.430Z mediasoup:Channel request() [method:RTPOBSERVER_ADD_PRODUCER]
2025-03-14T12:46:42.431Z mediasoup:Consumer resume()
2025-03-14T12:46:42.431Z mediasoup:Channel request() [method:CONSUMER_RESUME]
2025-03-14T12:46:42.431Z mediasoup:Channel request succeeded [method:CONSUMER_RESUME, id:100]
2025-03-14T12:46:42.431Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:101]
2025-03-14T12:46:42.432Z mediasoup:Channel request succeeded [method:TRANSPORT_CONSUME, id:102]
2025-03-14T12:46:42.432Z mediasoup:Channel request succeeded [method:RTPOBSERVER_ADD_PRODUCER, id:103]
2025-03-14T12:46:42.432Z mediasoup:Consumer constructor()
2025-03-14T12:46:42.432Z mediasoup:Consumer constructor()
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
[INFO] Room(id=67d2da4024d6d88b3b3143c5 name=room)._createConsumer() transport.consume(),  producerPeer: [object Object], consumerPeer [object Object]
2025-03-14T12:46:42.433Z mediasoup:Consumer resume()
2025-03-14T12:46:42.433Z mediasoup:Channel request() [method:CONSUMER_RESUME]```

All seem to be created...

[INFO] Producer created successfully with id: 8bdfb1f6-bfb8-4b33-a087-708ef65bae94, peerId: peer2@gmail.com
[INFO] Creating consumer for producer 8bdfb1f6-bfb8-4b33-a087-708ef65bae94 for peer peer1@gmail.com
2025-03-14T12:46:42.460Z mediasoup:Transport consume()
2025-03-14T12:46:42.460Z mediasoup:Channel request() [method:TRANSPORT_CONSUME]
[INFO] Creating consumer for producer 8bdfb1f6-bfb8-4b33-a087-708ef65bae94 for peer peer_black_stream@gmail.com


Thanks for your help !

I have similar problem, if reload then only people who join first can see the later ones. Found out in mediasoup demo, map.values() is not working well with for of iterator. I needed to convert them into Array.from(map.values())

I’m not sure what you mean but as far as I know this works and has always worked fine in the mediasoup demo.

has always worked fine in the mediasoup demo

Yes, that is correct.
However in my case, I changed the source to typescript, and use ts-node to run it, and another project with babel transpile. I have problem in both projects, I needed to configure those transpile tools correctly to support it, or simply use Array.from

Maybe check the generated JS code to see what is wrong. Said that, map.values() is fully supported everywhere and no transpilation should be needed at all.