[webkit-changes] [WebKit/WebKit] 2a1879: [Cocoa] Teach CDMInstanceSessionFairPlayStreamingA...

aestes noreply at github.com
Wed Sep 13 19:33:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2a187984c01077d29f3963a2bb935cd6a8b70420
      https://github.com/WebKit/WebKit/commit/2a187984c01077d29f3963a2bb935cd6a8b70420
  Author: Andy Estes <aestes at apple.com>
  Date:   2023-09-13 (Wed, 13 Sep 2023)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
    M Source/WebCore/Modules/encryptedmedia/MediaKeySession.h
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    A Source/WebCore/PAL/pal/graphics/cocoa/WebAVContentKeyReportGroupExtras.h
    M Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h
    A Source/WebCore/platform/encryptedmedia/CDMKeyGroupingStrategy.h
    M Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp
    M Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h
    M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h
    M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm
    A Source/WebCore/platform/graphics/avfoundation/objc/ContentKeyGroupFactoryAVFObjC.h
    A Source/WebCore/platform/graphics/avfoundation/objc/ContentKeyGroupFactoryAVFObjC.mm
    M Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm
    M Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm
    A Source/WebCore/platform/graphics/avfoundation/objc/WebContentKeyGroup.h
    A Source/WebCore/platform/graphics/avfoundation/objc/WebContentKeyGroup.mm
    M Source/WebCore/platform/graphics/cocoa/IOSurface.mm
    M Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp
    M Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.h
    M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
    M Source/WebCore/testing/MockCDMFactory.cpp
    M Source/WebCore/testing/MockCDMFactory.h
    M Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp
    M Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.h
    M Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSession.cpp
    M Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSession.h

  Log Message:
  -----------
  [Cocoa] Teach CDMInstanceSessionFairPlayStreamingAVFObjC to create a built-in content key group behind an off-by-default setting
https://bugs.webkit.org/show_bug.cgi?id=261522
rdar://115440398

Reviewed by Jer Noble.

Added a new, unstable (i.e. off-by-default) web preference named
BuiltInCDMKeyGroupingStrategyEnabled. When this preference is enabled,
CDMInstanceSessionFairPlayStreamingAVFObjC will create a WebContentKeyGroup instead of an
AVContentKeyReportGroup for managing CDM key reporting groups. WebContentKeyGroup is currently just
a stub but will gain a full implementation in follow-on commits.

No new tests; no change in behavior.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::keyGroupingStrategy const):
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.h:
* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/PAL/pal/graphics/cocoa/WebAVContentKeyReportGroupExtras.h: Copied from Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h.
* Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h:
* Source/WebCore/platform/encryptedmedia/CDMKeyGroupingStrategy.h: Copied from Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h.
* Source/WebCore/platform/encryptedmedia/CDMMediaKeyGroupingStrategy.h: Copied from Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h.
* Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMInstanceSessionClearKey::requestLicense):
* Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h:
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::ensureSessionOrGroup):
* Source/WebCore/platform/graphics/avfoundation/objc/ContentKeyGroupFactoryAVFObjC.h: Copied from Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h.
* Source/WebCore/platform/graphics/avfoundation/objc/ContentKeyGroupFactoryAVFObjC.mm: Copied from Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h.
* Source/WebCore/platform/graphics/avfoundation/objc/WebContentKeyGroup.h: Copied from Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h.
* Source/WebCore/platform/graphics/avfoundation/objc/WebContentKeyGroup.mm: Copied from Source/WebCore/PAL/pal/graphics/cocoa/WebContentKeyGrouping.h.
* Source/WebCore/testing/MockCDMFactory.cpp:
(WebCore::MockCDMInstanceSession::requestLicense):
* Source/WebCore/testing/MockCDMFactory.h:
* Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:
(WebKit::RemoteCDMInstanceSessionProxy::requestLicense):
* Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.h:
* Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSession.cpp:
(WebKit::RemoteCDMInstanceSession::requestLicense):
* Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSession.h:

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




More information about the webkit-changes mailing list