Update web-platform-tests to revision b'1d9b01e2fad6af3a057d571b1e088e15fa9bc8e6'

This commit is contained in:
WPT Sync Bot 2023-04-07 01:27:34 +00:00
parent cfef75c99b
commit bb34f95b33
1683 changed files with 37170 additions and 4252 deletions

View file

@ -117,6 +117,80 @@ promise_test(async t => {
return onmessagePromise;
}, 'RTCRtpSender readable stream transferred to a Worker and the Worker sends an RTCEncodedVideoFrame back');
promise_test(async t => {
const caller = new RTCPeerConnection({encodedInsertableStreams:true});
t.add_cleanup(() => caller.close());
const callee = new RTCPeerConnection();
t.add_cleanup(() => callee.close());
const stream = await navigator.mediaDevices.getUserMedia({video:true});
const videoTrack = stream.getVideoTracks()[0];
t.add_cleanup(() => videoTrack.stop());
const videoSender = caller.addTrack(videoTrack)
const senderStreams = videoSender.createEncodedStreams();
const senderWorker = new Worker('RTCPeerConnection-worker-transform.js')
t.add_cleanup(() => senderWorker.terminate());
senderWorker.postMessage(
{
readableStream: senderStreams.readable,
writableStream: senderStreams.writable,
insertError: true
},
[senderStreams.readable, senderStreams.writable]);
const onmessagePromise = new Promise(resolve => {
senderWorker.onmessage = t.step_func(message => {
assert_false(message.data.success);
assert_true(message.data.error instanceof TypeError);
resolve();
});
});
exchangeIceCandidates(caller, callee);
await exchangeOfferAnswer(caller, callee);
return onmessagePromise;
}, 'Video RTCRtpSender insertable streams transferred to a worker, which tries to write an invalid frame');
promise_test(async t => {
const caller = new RTCPeerConnection({encodedInsertableStreams:true});
t.add_cleanup(() => caller.close());
const callee = new RTCPeerConnection();
t.add_cleanup(() => callee.close());
const stream = await navigator.mediaDevices.getUserMedia({audio:true});
const audioTrack = stream.getAudioTracks()[0];
t.add_cleanup(() => audioTrack.stop());
const audioSender = caller.addTrack(audioTrack)
const senderStreams = audioSender.createEncodedStreams();
const senderWorker = new Worker('RTCPeerConnection-worker-transform.js')
t.add_cleanup(() => senderWorker.terminate());
senderWorker.postMessage(
{
readableStream: senderStreams.readable,
writableStream: senderStreams.writable,
insertError: true
},
[senderStreams.readable, senderStreams.writable]);
const onmessagePromise = new Promise(resolve => {
senderWorker.onmessage = t.step_func(message => {
assert_false(message.data.success);
assert_true(message.data.error instanceof TypeError);
resolve();
});
});
exchangeIceCandidates(caller, callee);
await exchangeOfferAnswer(caller, callee);
return onmessagePromise;
}, 'Audio RTCRtpSender insertable streams transferred to a worker, which tries to write an invalid frame');
</script>
</body>
</html>

View file

@ -0,0 +1,22 @@
onmessage = async (event) => {
const readableStream = event.data.readableStream;
const writableStream = event.data.writableStream;
const insertError = event.data.insertError;
try {
await readableStream.pipeThrough(new TransformStream({
transform: (chunk, controller) => {
if (insertError) {
controller.enqueue("This is not a valid frame");
} else {
controller.enqueue(chunk);
}
}
})).pipeTo(writableStream);
postMessage({success:true});
} catch(e) {
postMessage({success:false, error: e});
}
}