Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5e174d0a75e215fe0987f4966d6ccb1502075ced
      
https://github.com/WebKit/WebKit/commit/5e174d0a75e215fe0987f4966d6ccb1502075ced
  Author: Jean-Yves Avenard <[email protected]>
  Date:   2025-10-03 (Fri, 03 Oct 2025)

  Changed paths:
    M LayoutTests/media/media-can-play-webm-expected.txt
    M LayoutTests/media/media-can-play-webm.html
    M LayoutTests/platform/mac-wk1/media/media-can-play-webm-expected.txt
    M Source/WebCore/platform/graphics/cocoa/WebMAudioUtilitiesCocoa.h
    M Source/WebCore/platform/graphics/cocoa/WebMAudioUtilitiesCocoa.mm
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources.make
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
    M Source/WebKit/Shared/GPUProcessConnectionParameters.h
    M Source/WebKit/Shared/GPUProcessConnectionParameters.serialization.in
    A Source/WebKit/Shared/GPUProcessMediaCodecCapabilities.h
    A Source/WebKit/Shared/GPUProcessMediaCodecCapabilities.serialization.in
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.messages.in
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
    M Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h
    M Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.serialization.in

  Log Message:
  -----------
  Opus and Vorbis webm aren't available in the content process on some 
platforms.
https://bugs.webkit.org/show_bug.cgi?id=300013
rdar://161800673

Reviewed by Youenn Fablet.

We check the Opus and Vorbis capabilities on creation of the GPU process.
This value is then cached in the UI process and passed on follow-up WebContent
process creation; re-using the infrastucture that used to exist for VP9 and AV1
hardware detection.

We simplify the code and combine all the media codecs information into a single
GPUProcessMediaCodecCapabilities structure.

Added test for opus.
* LayoutTests/media/media-can-play-webm-expected.txt:
* LayoutTests/media/media-can-play-webm.html:
* Source/WebCore/platform/graphics/cocoa/WebMAudioUtilitiesCocoa.h:
* Source/WebCore/platform/graphics/cocoa/WebMAudioUtilitiesCocoa.mm:
(WebCore::setHasOpusDecoder):
(WebCore::setHasVorbisDecoder):
(WebCore::isOpusDecoderAvailable):
(WebCore::isVorbisDecoderAvailable):
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::m_sharedPreferencesForWebProcess):
* Source/WebKit/Shared/GPUProcessConnectionParameters.h:
* Source/WebKit/Shared/GPUProcessConnectionParameters.serialization.in:
* Source/WebKit/Shared/GPUProcessMediaCodecCapabilities.h: Copied from 
Source/WebKit/Shared/GPUProcessConnectionParameters.h.
* Source/WebKit/Shared/GPUProcessMediaCodecCapabilities.serialization.in: 
Copied from 
Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.serialization.in.
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::createGPUProcessConnection):
(WebKit::GPUProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.messages.in:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::didInitialize):
* Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h:
* Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.serialization.in:

Canonical link: https://commits.webkit.org/300939@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to