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

Reply via email to