Files
webrtc/examples/rtp-forwarder/jsfiddle/demo.js
Sean DuBois 52249252fb Modify packets in rtp-forwarder for easier usage
rtp-forwarder.sdp hardcodes the PayloadTypes 96 and 111. Before If the
browser doesn't use those values we expect the user to update the SDP.
The example has been updated to modify the packets to make it easier on
the user.
2021-01-13 09:29:34 -08:00

40 lines
1.0 KiB
JavaScript

/* eslint-env browser */
let pc = new RTCPeerConnection({
iceServers: [
{
urls: 'stun:stun.l.google.com:19302'
}
]
})
var log = msg => {
document.getElementById('logs').innerHTML += msg + '<br>'
}
navigator.mediaDevices.getUserMedia({ video: true, audio: true })
.then(stream => {
stream.getTracks().forEach(track => pc.addTrack(track, stream))
document.getElementById('video1').srcObject = stream
pc.createOffer().then(d => pc.setLocalDescription(d)).catch(log)
}).catch(log)
pc.oniceconnectionstatechange = e => log(pc.iceConnectionState)
pc.onicecandidate = event => {
if (event.candidate === null) {
document.getElementById('localSessionDescription').value = btoa(JSON.stringify(pc.localDescription))
}
}
window.startSession = () => {
let sd = document.getElementById('remoteSessionDescription').value
if (sd === '') {
return alert('Session Description must not be empty')
}
try {
pc.setRemoteDescription(new RTCSessionDescription(JSON.parse(atob(sd))))
} catch (e) {
alert(e)
}
}