commit c2fd586cc6793dcb42b17f90202898dcfedca489
parent 599db7e8791c7cb1eeeb14fc3679820e6f5575cd
Author: youennf <youennf@users.noreply.github.com>
Date: Wed, 26 Nov 2025 08:53:51 +0000
Bug 2001595 [wpt PR 56183] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=302930, a=testonly
Automatic update from web-platform-tests
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=302930 (#56183)
--
wpt-commits: 04ef3392329ae9d552b4c934b9891b5d976d3487
wpt-pr: 56183
Diffstat:
1 file changed, 32 insertions(+), 0 deletions(-)
diff --git a/testing/web-platform/tests/mediacapture-insertable-streams/MediaStreamTrackProcessor.worker.js b/testing/web-platform/tests/mediacapture-insertable-streams/MediaStreamTrackProcessor.worker.js
@@ -44,4 +44,36 @@ promise_test(async t => {
}, "Tests that multiple read requests are eventually settled");
+promise_test(async t => {
+ // The generator will be used as the source for the processor to
+ // produce frames in a controlled manner.
+ const generator = new VideoTrackGenerator();
+ t.add_cleanup(() => generator.track.stop());
+
+ generator.track.enabled = false;
+ const processor = new MediaStreamTrackProcessor({track: generator.track, maxBufferSize:10});
+ const reader = processor.readable.getReader();
+ const writer = generator.writable.getWriter();
+
+ await writer.write(makeVideoFrame(0));
+ await writer.write(makeVideoFrame(1));
+
+ let hasVideoFrame = false;
+ const promise = reader.read().then(chunk => {
+ hasVideoFrame = true;
+ chunk.value.close();
+ });
+
+ await new Promise(resolve => t.step_timeout(resolve, 100));
+ assert_false(hasVideoFrame, "test1");
+
+ generator.track.enabled = true;
+
+ await new Promise(resolve => t.step_timeout(resolve, 100));
+ assert_false(hasVideoFrame, "test2");
+
+ await writer.write(makeVideoFrame(2));
+ await promise;
+}, "Tests that MediaStreamTrackProcess respects track.enabled");
+
done();