Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b074e03b7fb3286fe2be9bdbe4bdcb4bf6bfc884
https://github.com/WebKit/WebKit/commit/b074e03b7fb3286fe2be9bdbe4bdcb4bf6bfc884
Author: Youenn Fablet <[email protected]>
Date: 2024-01-12 (Fri, 12 Jan 2024)
Changed paths:
A
LayoutTests/http/wpt/mediastream/worker-mediastreamtrack.worker-expected.txt
A LayoutTests/http/wpt/mediastream/worker-mediastreamtrack.worker.html
A LayoutTests/http/wpt/mediastream/worker-mediastreamtrack.worker.js
M
LayoutTests/imported/w3c/web-platform-tests/mediacapture-insertable-streams/idlharness.any.worker-expected.txt
M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
M Source/WebCore/Modules/mediastream/VideoTrackGenerator.cpp
M Source/WebCore/Modules/mediastream/VideoTrackGenerator.h
M Source/WebCore/Modules/mediastream/VideoTrackGenerator.idl
M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h
Log Message:
-----------
Implement VideoTrackGenerator
https://bugs.webkit.org/show_bug.cgi?id=267319
rdar://120772003
Reviewed by Eric Carlson.
We implement VideoTrackGenerator now that we can create a MediaStreamTrack out
of main thread.
To allow posting tasks, we use ScriptExecutionContext::postTaskTo.
We implement the track source and the writable sink.
The writable sink is getting video frames and pushing them to the source.
The video frames are thus provided to media observer on the worker thread.
The IDL tests are not yet fully passing as we do not yet expose
MediaStreamTrack to worker contexts.
We will do that when allowing to transfer MediaStreamTrack to workers.
* LayoutTests/http/wpt/mediastream/worker-mediastreamtrack.worker-expected.txt:
Added.
* LayoutTests/http/wpt/mediastream/worker-mediastreamtrack.worker.html: Added.
* LayoutTests/http/wpt/mediastream/worker-mediastreamtrack.worker.js: Added.
(makeOffscreenCanvasVideoFrame):
(promise_test.async t):
*
LayoutTests/imported/w3c/web-platform-tests/mediacapture-insertable-streams/idlharness.any.worker-expected.txt:
* Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::trackMutedChanged):
* Source/WebCore/Modules/mediastream/VideoTrackGenerator.cpp:
(WebCore::VideoTrackGenerator::create):
(WebCore::VideoTrackGenerator::VideoTrackGenerator):
(WebCore::VideoTrackGenerator::setMuted):
(WebCore::VideoTrackGenerator::writable):
(WebCore::VideoTrackGenerator::track):
(WebCore::VideoTrackGenerator::Source::Source):
(WebCore::VideoTrackGenerator::Source::writeVideoFrame):
(WebCore::VideoTrackGenerator::Sink::Sink):
(WebCore::VideoTrackGenerator::Sink::write):
(WebCore::VideoTrackGenerator::Sink::close):
(WebCore::VideoTrackGenerator::Sink::error):
* Source/WebCore/Modules/mediastream/VideoTrackGenerator.h:
(WebCore::VideoTrackGenerator::muted const):
(WebCore::VideoTrackGenerator::create): Deleted.
* Source/WebCore/Modules/mediastream/VideoTrackGenerator.idl:
* Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h:
Canonical link: https://commits.webkit.org/272973@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes