Commit ee1f8099 authored by youennf's avatar youennf Committed by aborovova@mozilla.com
Browse files

Bug 1962698 [wpt PR 52174] - Add a test validating that encoded transforms cannot be reused,

Automatic update from web-platform-tests
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: default avatarJan-Ivar Bruaroey <jan-ivar@users.noreply.github.com>

---------

Co-authored-by: default avatarJan-Ivar Bruaroey <jan-ivar@users.noreply.github.com>
--

wpt-commits: cb101f4f94126b7ef842c180c204b090875a3fe9
wpt-pr: 52174

Differential Revision: https://phabricator.services.mozilla.com/D250634
parent ca767a6b
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -12,6 +12,31 @@
<body>
<video id="video" autoplay controls playsinline></video>
<script>
promise_test(async (test) => {
    const worker = new Worker('RTCRtpScriptTransform-encoded-transform-worker.js');
    let sender, receiver;
    const senderTransform = new RTCRtpScriptTransform(worker, {name:'sender'});
    const receiverTransform = new RTCRtpScriptTransform(worker, {name:'receiver'});

    const pc = new RTCPeerConnection();
    const transceiver1 = pc.addTransceiver("audio");
    const transceiver2 = pc.addTransceiver("audio");

    transceiver1.sender.transform = senderTransform;
    transceiver1.receiver.transform = receiverTransform;

    transceiver1.sender.transform = senderTransform;
    transceiver1.receiver.transform = receiverTransform;

    assert_throws_dom("InvalidStateError", () => transceiver2.sender.transform = senderTransform, "set a used transform 1");
    assert_throws_dom("InvalidStateError", () => transceiver2.receiver.transform = receiverTransform, "set a used transform 2");

    transceiver1.sender.transform = null;
    transceiver1.receiver.transform = null;

    assert_throws_dom("InvalidStateError", () => transceiver2.sender.transform = senderTransform, "set a used transform 3");
    assert_throws_dom("InvalidStateError", () => transceiver2.receiver.transform = receiverTransform, "set a used transform 4");
}, "Once a transform has been attached, it cannot be reused elsewhere.");

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