Skip to content

Commit cb101f4

Browse files
youennfjan-ivar
andauthored
Add a test validating that encoded transforms cannot be reused (#52174)
* Add a test validating that encoded transforms cannot be reused * Update webrtc-encoded-transform/RTCRtpScriptTransform-encoded-transform.https.html Co-authored-by: Jan-Ivar Bruaroey <[email protected]> --------- Co-authored-by: Jan-Ivar Bruaroey <[email protected]>
1 parent 16a71c4 commit cb101f4

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

webrtc-encoded-transform/RTCRtpScriptTransform-encoded-transform.https.html

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,31 @@
1212
<body>
1313
<video id="video" autoplay controls playsinline></video>
1414
<script>
15+
promise_test(async (test) => {
16+
const worker = new Worker('RTCRtpScriptTransform-encoded-transform-worker.js');
17+
let sender, receiver;
18+
const senderTransform = new RTCRtpScriptTransform(worker, {name:'sender'});
19+
const receiverTransform = new RTCRtpScriptTransform(worker, {name:'receiver'});
20+
21+
const pc = new RTCPeerConnection();
22+
const transceiver1 = pc.addTransceiver("audio");
23+
const transceiver2 = pc.addTransceiver("audio");
24+
25+
transceiver1.sender.transform = senderTransform;
26+
transceiver1.receiver.transform = receiverTransform;
27+
28+
transceiver1.sender.transform = senderTransform;
29+
transceiver1.receiver.transform = receiverTransform;
30+
31+
assert_throws_dom("InvalidStateError", () => transceiver2.sender.transform = senderTransform, "set a used transform 1");
32+
assert_throws_dom("InvalidStateError", () => transceiver2.receiver.transform = receiverTransform, "set a used transform 2");
33+
34+
transceiver1.sender.transform = null;
35+
transceiver1.receiver.transform = null;
36+
37+
assert_throws_dom("InvalidStateError", () => transceiver2.sender.transform = senderTransform, "set a used transform 3");
38+
assert_throws_dom("InvalidStateError", () => transceiver2.receiver.transform = receiverTransform, "set a used transform 4");
39+
}, "Once a transform has been attached, it cannot be reused elsewhere.");
1540

1641
promise_test(async (test) => {
1742
const worker = new Worker('RTCRtpScriptTransform-encoded-transform-worker.js');

0 commit comments

Comments
 (0)