Files
upstream-pion-webrtc/examples/quick-switch/index.html
upstream-mirror 8acb1a3a29
Some checks failed
REUSE Compliance Check / lint (push) Failing after 0s
Browser E2E / Test (push) Failing after 3s
Test / test (1.24) (push) Failing after 0s
Test / test-i386 (1.25) (push) Failing after 0s
Test / test-i386 (1.24) (push) Failing after 0s
Test / test-windows (1.25) (push) Failing after 0s
Test / test-windows (1.24) (push) Failing after 0s
Test / test (1.25) (push) Failing after 0s
Examples Tests / Test (push) Failing after 3s
Test / test-macos (1.25) (push) Failing after 0s
Test / test-macos (1.24) (push) Failing after 0s
Go mod tidy / tidy (push) Failing after 0s
Test / test-wasm (push) Failing after 0s
CodeQL / analyze (push) Failing after 1s
Fuzz / fuzz (push) Failing after 0s
snapshot of https://github.com/pion/webrtc.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 20:06:07 +05:00

46 lines
1.2 KiB
HTML

<html>
<!--
SPDX-FileCopyrightText: 2026 The Pion community <https://pion.ly>
SPDX-License-Identifier: MIT
-->
<head>
<title>quick-switch</title>
</head>
<body>
<video id="video" autoplay muted playsinline width="500" height="500"></video>
<button id="nextVideo"> Next Video </button><br />
</body>
<script>
let peerConnection = new RTCPeerConnection()
peerConnection.addTransceiver('video', {direction: 'recvonly'})
peerConnection.ontrack = function (event) {
document.getElementById('video').srcObject = event.streams[0]
}
let dataChannel = peerConnection.createDataChannel('')
dataChannel.onopen = () => {
document.getElementById('nextVideo').onclick = () => {
dataChannel.send('')
}
}
peerConnection.createOffer()
.then(offer => peerConnection.setLocalDescription(offer)
.then(() => fetch(`/whip`, {
method: 'POST',
headers: {
'Content-Type': 'application/sdp'
},
body: offer.sdp
}))
)
.then(res => res.text())
.then(res => peerConnection.setRemoteDescription({type: 'answer', sdp: res}))
.catch(alert)
</script>
</html>