demo · v143
RTP Header Extension
A real RTCPeerConnection with an audio transceiver. Toggle which RTP header extensions you keep. The page calls setHeaderExtensionsToNegotiate, then runs offer/answer twice — v143 keeps your second-round choices instead of letting the negotiation re-permute.
capability
per-extension toggles (audio transceiver)
loading…
round 1 sender extensions
(not yet)round 2 sender extensions
(not yet)Each round runs a full offer/answer cycle on a single peer (loopback). Look at the URIs that survive each round.
the call
const tx = pc.addTransceiver("audio");
const caps = RTCRtpSender.getCapabilities("audio");
// v143: stable second-round negotiation
tx.setHeaderExtensionsToNegotiate(
caps.headerExtensions.map((he) => ({
uri: he.uri,
direction: keep.has(he.uri) ? "sendrecv" : "stopped",
}))
);