Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fb8ef258b72323f5a2a22423d33330ad3e03ec54
https://github.com/WebKit/WebKit/commit/fb8ef258b72323f5a2a22423d33330ad3e03ec54
Author: Andy Estes <[email protected]>
Date: 2024-08-30 (Fri, 30 Aug 2024)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WTF/wtf/PlatformHave.h
M Source/WTF/wtf/PlatformUse.h
M Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
M Source/WebCore/page/SettingsBase.cpp
M Source/WebCore/page/SettingsBase.h
M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h
M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm
M
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
M Source/WebKit/GPUProcess/GPUProcess.cpp
M Source/WebKit/GPUProcess/GPUProcessCreationParameters.h
M Source/WebKit/GPUProcess/GPUProcessCreationParameters.serialization.in
M Source/WebKit/GPUProcess/GPUProcessPreferences.cpp
M Source/WebKit/GPUProcess/GPUProcessPreferences.h
M Source/WebKit/GPUProcess/GPUProcessPreferences.serialization.in
Log Message:
-----------
[macOS] Enable modern AVContentKeySession support
https://bugs.webkit.org/show_bug.cgi?id=271092
rdar://124719590
Reviewed by Jer Noble.
- For clarity, renamed SampleBufferContentKeySessionSupportEnabled to
ShouldUseModernAVContentKeySession and promoted its status to Preview on macOS.
- Introduced USE(MODERN_AVCONTENTKEYSESSION) and enabled it starting on macOS
14.4, since that is
the minimum OS version where AVContentKeySession is usable by WebKit.
- Checked for entitlements to determine if AVSampleBufferAttachContentKey is
supported rather than
merely checking if the GPU process is an extension.
- Removed the duplicative HAVE(AVCONTENTKEYSPECIFICER) and simplified the
definition of
HAVE(AVCONTENTKEYREQUEST_COMPATIBILITY_MODE).
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WTF/wtf/PlatformHave.h:
* Source/WTF/wtf/PlatformUse.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::keyGroupingStrategy const):
* Source/WebCore/page/SettingsBase.cpp:
(WebCore::SettingsBase::shouldUseModernAVContentKeySessionChanged):
(WebCore::SettingsBase::sampleBufferContentKeySessionSupportEnabledChanged):
Deleted.
* Source/WebCore/page/SettingsBase.h:
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h:
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::setShouldUseModernAVContentKeySession):
(WebCore::MediaSessionManagerCocoa::shouldUseModernAVContentKeySession):
(WebCore::MediaSessionManagerCocoa::setSampleBufferContentKeySessionSupportEnabled):
Deleted.
(WebCore::MediaSessionManagerCocoa::sampleBufferContentKeySessionSupportEnabled):
Deleted.
*
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::contentKeySession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::protectionStatusForRequest
const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):
*
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::contentKeySession):
*
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
*
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
(WebCore::SourceBufferParserAVFObjC::SourceBufferParserAVFObjC):
*
Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::supportsAttachContentKey):
(WebCore::shouldAddContentKeyRecipients):
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::needsVideoLayer const):
(WebCore::SourceBufferPrivateAVFObjC::attemptToDecrypt):
(WebCore::SourceBufferPrivateAVFObjC::canEnqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::attachContentKeyToSampleIfNeeded):
(WebCore::sampleBufferRenderersSupportKeySession): Deleted.
* Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::updateGPUProcessPreferences):
* Source/WebKit/GPUProcess/GPUProcessCreationParameters.h:
* Source/WebKit/GPUProcess/GPUProcessCreationParameters.serialization.in:
* Source/WebKit/GPUProcess/GPUProcessPreferences.cpp:
(WebKit::GPUProcessPreferences::copyEnabledWebPreferences):
* Source/WebKit/GPUProcess/GPUProcessPreferences.h:
* Source/WebKit/GPUProcess/GPUProcessPreferences.serialization.in:
* Source/WebKit/Shared/WebPreferencesDefaultValues.h:
Canonical link: https://commits.webkit.org/282990@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