Switch from JVB to P2P sometimes break screenshare

This is something we’ve seen on our deployments, and I’ve been able to repro on meet.jit.si as well. It does not happen 100% of the time, and could take several attempts to repro.

Repro steps:

  1. Start a 3-party call. For this example participants are Alice, Bob and Carol.

  2. Alice shares screen. Bob and Carol can see Alice’s webcam and her screenshare.

  3. Carol leaves the meeting.

  4. After a few seconds, the call switches to P2P.

    • Alice is still screen sharing and can see both streams
    • Bob can still see Alice’s webcam
    • Bob sometimes lose the screenshare stream and only see a block box. Connection indicator shows disconnected.
      Wealthy_Flags_Favour_Uneasily___Jitsi_Meet_🔊
    • There are no errors in dev console for either Alice or Bob
    • (Note: this does not always happen. Could take several attempts to repro)
  5. Bob leaves the room

    • Alice is still screensharing and can see both her streams
    • Alice sees this error in console
    no peer media info available for...

    react_devtools_backend.js:4026 2022-10-14T10:35:45.165Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: TPC[id=1,type=JVB]: no peer media info available for 658b0e72 Script: null Line: null Column: null StackTrace: Error: TPC[id=1,type=JVB]: no peer media info available for 658b0e72
    at Vd._remoteTrackAdded (https://web-cdn.jitsi.net/meetjitsi_6644.3399/libs/lib-jitsi-meet.min.js?v=6644.3399:2:651108)
    at Vd._usesUnifiedPlan.onTrack (https://web-cdn.jitsi.net/meetjitsi_6644.3399/libs/lib-jitsi-meet.min.js?v=6644.3399:2:643251)
    at RTCPeerConnection.r (https://web-cdn.jitsi.net/meetjitsi_6644.3399/libs/lib-jitsi-meet.min.js?v=6644.3399:2:546249)

  6. Bob rejoins the room

    • Alice sees this error in console
    remote track removal failed - track not found

    react_devtools_backend.js:4026 2022-10-14T10:38:00.815Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: TPC[id=2,type=JVB] remote track removal failed - track not found Script: null Line: null Column: null StackTrace: Error: TPC[id=2,type=JVB] remote track removal failed - track not found
    at Vd._remoteTrackRemoved (https://web-cdn.jitsi.net/meetjitsi_6644.3399/libs/lib-jitsi-meet.min.js?v=6644.3399:2:652910)
    at MediaStream. (https://web-cdn.jitsi.net/meetjitsi_6644.3399/libs/lib-jitsi-meet.min.js?v=6644.3399:2:643337)

    • Bob can see Alice’s webcam but not her screenshare
    • This might happen even if Bob did not lose the video in step (4)
  7. Carol rejoins the room, and the call moves back to JVB

    • Now everyone can see the screenshare stream again.

Tested with Chrome 106.0.5249.119 and Brave 1.44.108. It appears to be easier to repro with Brave, but I cannot substantiate that.

1 Like

Paging the screen sharing expert @jallamsetty :slight_smile:

Thanks @shawn for the report. We are aware of this issue and I am working on a fix for this specific case.

1 Like