[webkit-changes] [WebKit/WebKit] 4df3b2: Remove WebCodecs postTask callback
youennf
noreply at github.com
Thu Sep 5 02:06:55 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4df3b2c79f1a919714853a55fba17a9a2826b08f
https://github.com/WebKit/WebKit/commit/4df3b2c79f1a919714853a55fba17a9a2826b08f
Author: Youenn Fablet <youenn at apple.com>
Date: 2024-09-05 (Thu, 05 Sep 2024)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any.worker-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/webcodecs/transfering.https.any-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/webcodecs/transfering.https.any.worker-expected.txt
M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.h
M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.h
A Source/WebCore/Modules/webcodecs/WebCodecsUtilities.h
M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.h
M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/AudioDecoder.cpp
M Source/WebCore/platform/AudioDecoder.h
M Source/WebCore/platform/AudioEncoder.cpp
M Source/WebCore/platform/AudioEncoder.h
M Source/WebCore/platform/VideoDecoder.cpp
M Source/WebCore/platform/VideoDecoder.h
M Source/WebCore/platform/VideoEncoder.cpp
M Source/WebCore/platform/VideoEncoder.h
M Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.cpp
M Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.h
M Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.cpp
M Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.h
M Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.h
M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.h
M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp
M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.h
M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.cpp
M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.h
M Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp
M Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.h
Log Message:
-----------
Remove WebCodecs postTask callback
https://bugs.webkit.org/show_bug.cgi?id=279073
rdar://135206937
Reviewed by Jean-Yves Avenard.
We remove postTask callback since we are moving towards using more NativePromise in the future.
For now, we remove passing the postTask callback to video/audio encoder/decoder objects.
Instead, we do that directly at WebCodecs object level.
We introduce a m_decoderCounter/m_encoderCounter to keep track of configure calls so that the reset/configure flow gives the expected result of not providing frames of the past encoder/decoder.
We have to rebase a few tests as the creation of audio encoder/decoder objects is now failing asynchronously instead of synchronously like before.
Covered by existing tests.
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/transfering.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webcodecs/transfering.https.any.worker-expected.txt:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp:
(WebCore::WebCodecsAudioDecoder::configure):
(WebCore::WebCodecsAudioDecoder::isConfigSupported):
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp:
(WebCore::WebCodecsAudioEncoder::configure):
(WebCore::WebCodecsAudioEncoder::isConfigSupported):
* Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsUtilities.h: Copied from Source/WebCore/platform/AudioEncoder.cpp.
(WebCore::postTaskToCodec):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp:
(WebCore::WebCodecsVideoDecoder::configure):
(WebCore::WebCodecsVideoDecoder::isConfigSupported):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.h:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp:
(WebCore::WebCodecsVideoEncoder::configure):
(WebCore::WebCodecsVideoEncoder::isConfigSupported):
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/AudioDecoder.cpp:
(WebCore::AudioDecoder::create):
* Source/WebCore/platform/AudioDecoder.h:
* Source/WebCore/platform/AudioEncoder.cpp:
(WebCore::AudioEncoder::create):
* Source/WebCore/platform/AudioEncoder.h:
* Source/WebCore/platform/VideoDecoder.cpp:
(WebCore::VideoDecoder::create):
(WebCore::VideoDecoder::createLocalDecoder):
* Source/WebCore/platform/VideoDecoder.h:
* Source/WebCore/platform/VideoEncoder.cpp:
(WebCore::VideoEncoder::create):
(WebCore::VideoEncoder::createLocalEncoder):
* Source/WebCore/platform/VideoEncoder.h:
* Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.cpp:
(WebCore::GStreamerInternalAudioDecoder::create):
(WebCore::GStreamerAudioDecoder::create):
(WebCore::GStreamerAudioDecoder::GStreamerAudioDecoder):
(WebCore::GStreamerInternalAudioDecoder::GStreamerInternalAudioDecoder):
(WebCore::GStreamerInternalAudioDecoder::postTask): Deleted.
* Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.h:
* Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.cpp:
(WebCore::GStreamerInternalAudioEncoder::create):
(WebCore::GStreamerAudioEncoder::create):
(WebCore::GStreamerAudioEncoder::GStreamerAudioEncoder):
(WebCore::GStreamerInternalAudioEncoder::GStreamerInternalAudioEncoder):
(WebCore::GStreamerInternalAudioEncoder::postTask): Deleted.
* Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.h:
* Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::initializeVideoDecoder):
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoDecoder::create):
(WebCore::GStreamerVideoDecoder::create):
(WebCore::GStreamerVideoDecoder::GStreamerVideoDecoder):
(WebCore::GStreamerInternalVideoDecoder::GStreamerInternalVideoDecoder):
(WebCore::GStreamerInternalVideoDecoder::postTask): Deleted.
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoEncoder::create):
(WebCore::GStreamerVideoEncoder::create):
(WebCore::GStreamerVideoEncoder::GStreamerVideoEncoder):
(WebCore::GStreamerInternalVideoEncoder::postTask): Deleted.
(WebCore::GStreamerVideoEncoder::~GStreamerVideoEncoder): Deleted.
(WebCore::GStreamerVideoEncoder::encode): Deleted.
(WebCore::GStreamerVideoEncoder::flush): Deleted.
(WebCore::GStreamerVideoEncoder::setRates): Deleted.
(WebCore::GStreamerVideoEncoder::reset): Deleted.
(WebCore::GStreamerVideoEncoder::close): Deleted.
(WebCore::retrieveTemporalIndex): Deleted.
(WebCore::GStreamerInternalVideoEncoder::GStreamerInternalVideoEncoder): Deleted.
(WebCore::GStreamerInternalVideoEncoder::~GStreamerInternalVideoEncoder): Deleted.
(WebCore::GStreamerInternalVideoEncoder::initialize): Deleted.
(WebCore::GStreamerInternalVideoEncoder::encode): Deleted.
(WebCore::GStreamerInternalVideoEncoder::setRates): Deleted.
(WebCore::GStreamerInternalVideoEncoder::applyRates): Deleted.
(WebCore::GStreamerInternalVideoEncoder::flush): Deleted.
* Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.h:
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp:
(WebCore::LibWebRTCVPXInternalVideoDecoder::create):
(WebCore::LibWebRTCVPXVideoDecoder::create):
(WebCore::LibWebRTCVPXVideoDecoder::LibWebRTCVPXVideoDecoder):
(WebCore::LibWebRTCVPXInternalVideoDecoder::LibWebRTCVPXInternalVideoDecoder):
(WebCore::LibWebRTCVPXInternalVideoDecoder::Decoded):
(WebCore::LibWebRTCVPXInternalVideoDecoder::postTask): Deleted.
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.h:
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.cpp:
(WebCore::LibWebRTCVPXInternalVideoEncoder::create):
(WebCore::LibWebRTCVPXVideoEncoder::create):
(WebCore::LibWebRTCVPXVideoEncoder::LibWebRTCVPXVideoEncoder):
(WebCore::LibWebRTCVPXInternalVideoEncoder::LibWebRTCVPXInternalVideoEncoder):
(WebCore::LibWebRTCVPXInternalVideoEncoder::OnEncodedImage):
(WebCore::LibWebRTCVPXInternalVideoEncoder::postTask): Deleted.
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.h:
* Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp:
(WebKit::RemoteVideoDecoderCallbacks::create):
(WebKit::RemoteVideoEncoderCallbacks::create):
(WebKit::RemoteVideoCodecFactory::createDecoder):
(WebKit::RemoteVideoCodecFactory::createEncoder):
(WebKit::RemoteVideoDecoderCallbacks::RemoteVideoDecoderCallbacks):
(WebKit::RemoteVideoDecoderCallbacks::notifyDecodingResult):
(WebKit::RemoteVideoEncoderCallbacks::RemoteVideoEncoderCallbacks):
(WebKit::RemoteVideoEncoderCallbacks::notifyEncodedChunk):
(WebKit::RemoteVideoEncoderCallbacks::notifyEncoderDescription):
(WebKit::RemoteVideoDecoderCallbacks::postTask): Deleted.
(WebKit::RemoteVideoEncoderCallbacks::postTask): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.h:
Canonical link: https://commits.webkit.org/283198@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list