Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1e2736666907c2810fe16e546ebb9ee16fdc1cae
https://github.com/WebKit/WebKit/commit/1e2736666907c2810fe16e546ebb9ee16fdc1cae
Author: Jean-Yves Avenard <[email protected]>
Date: 2026-09-29 (Tue, 29 Sep 2026)
Changed paths:
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.h
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.h
M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/AudioDecoder.cpp
M Source/WebCore/platform/AudioDecoder.h
A Source/WebCore/platform/AudioEncodedData.h
M Source/WebCore/platform/VideoDecoder.cpp
M Source/WebCore/platform/VideoDecoder.h
A Source/WebCore/platform/VideoEncodedData.h
M Source/WebCore/platform/audio/cocoa/AudioDecoderCocoa.cpp
M Source/WebCore/platform/audio/cocoa/AudioDecoderCocoa.h
M Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.cpp
M Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.h
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.h
M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp
M Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.h
M Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp
Log Message:
-----------
Internal Audio/Video decoder should take an AudioEncodedData/VideoEncodedData
https://bugs.webkit.org/show_bug.cgi?id=325217
rdar://188341828
Reviewed by Youenn Fablet.
Move AudioDecoder::EncodedData and VideoDecoder::EncodedFrame into their own
AudioEncodedData and VideoEncodedData headers, and add isolatedCopy().
Allow construction of an AudioEncodedData/VideoEncodedData from
WebCodecsEncodedAudioChunk/WebCodecsEncodedVideoChunk and pass this to the
internal Audio/VideoDecoder.
We no longer need to move the chunks, capturing instead their respective
encoded data. Use isolatedCopy() when hopping to the decoder's work queue.
No change in behaviour, just code cleanup.
* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp:
(WebCore::WebCodecsAudioDecoder::decode):
* Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.cpp:
(WebCore::WebCodecsEncodedAudioChunk::encodedData const):
* Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.h:
* Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.cpp:
(WebCore::WebCodecsEncodedVideoChunk::encodedData const):
* Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.h:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp:
(WebCore::WebCodecsVideoDecoder::decode):
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/AudioDecoder.cpp:
* Source/WebCore/platform/AudioDecoder.h:
* Source/WebCore/platform/AudioEncodedData.h: Added.
(WebCore::AudioEncodedData::isolatedCopy):
* Source/WebCore/platform/VideoDecoder.cpp:
* Source/WebCore/platform/VideoDecoder.h:
* Source/WebCore/platform/VideoEncodedData.h: Added.
(WebCore::VideoEncodedData::isolatedCopy):
* Source/WebCore/platform/audio/cocoa/AudioDecoderCocoa.cpp:
(WebCore::AudioDecoderCocoa::decode):
(WebCore::InternalAudioDecoderCocoa::decode):
* Source/WebCore/platform/audio/cocoa/AudioDecoderCocoa.h:
* Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.cpp:
(WebCore::GStreamerAudioDecoder::decode):
(WebCore::GStreamerInternalAudioDecoder::decode):
* Source/WebCore/platform/audio/gstreamer/AudioDecoderGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp:
(WebCore::GStreamerVideoDecoder::decode):
(WebCore::GStreamerInternalVideoDecoder::decode):
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.h:
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.cpp:
(WebCore::LibWebRTCVPXVideoDecoder::decode):
(WebCore::LibWebRTCVPXInternalVideoDecoder::decode):
* Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoDecoder.h:
* Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp:
Canonical link: https://commits.webkit.org/322137@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications