JSFiddle - React, Tailwind, and code Playground
by henbos
JavaScript
(async () => {
const pc1 = new RTCPeerConnection();
const pc2 = new RTCPeerConnection();
const transceiver = pc1.addTransceiver(
'audio', {direction:'recvonly'});
// No log spam because the receiver does not have a media channel yet.
console.log(transceiver.receiver.getParameters());
// Start negotiation. Now we get log spam because we have a media
// channel but we do not have an SSRC.
await pc1.setLocalDescription();
console.log(transceiver.receiver.getParameters());
// Complete negotiation, negotiate to receive.
await pc2.setRemoteDescription(pc1.localDescription);
pc2.getTransceivers()[0].direction = 'sendonly';
await pc2.setLocalDescription();
// This gives the receiver an SSRC.
await pc1.setRemoteDescription(pc2.localDescription);
// We no longer get log spam because an SSRC has been negotiated.
console.log(transceiver.receiver.getParameters());
})();