|
12 | 12 | <body>
|
13 | 13 | <video id="video" autoplay controls playsinline></video>
|
14 | 14 | <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."); |
15 | 40 |
|
16 | 41 | promise_test(async (test) => {
|
17 | 42 | const worker = new Worker('RTCRtpScriptTransform-encoded-transform-worker.js');
|
|
0 commit comments