JSFiddle - React, Tailwind, and code Playground

by fippo

JavaScript

async function run() {
  const stream = await navigator.mediaDevices.getUserMedia({audio: true});
  const pc1 = new RTCPeerConnection();
  const pc2 = new RTCPeerConnection();
  const sender = pc1.addTrack(stream.getTracks()[0], stream);
  const offer = await pc1.createOffer();
  pc1.setLocalDescription(offer);  
  const modifiedSdp = offer.sdp.replace(
    new RegExp('a=msid:' + stream.id + ' (.*)'),
    'a=msid:' + 'cameraStream' + ' ' + 'donotrelyontrackids');
  pc2.ontrack = e => console.log('ontrack', e.streams[0], e.track);
  await pc2.setRemoteDescription({type: 'offer', sdp: modifiedSdp});
}
run();