Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93ddba07ae8f63eee058dc4aaddae8cb1e5c65dc
      
https://github.com/WebKit/WebKit/commit/93ddba07ae8f63eee058dc4aaddae8cb1e5c65dc
  Author: Jer Noble <[email protected]>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/encryptedmedia/CDMClient.h
    M Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp
    M Source/WebCore/Modules/encryptedmedia/InitDataRegistry.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
    M Source/WebCore/Modules/encryptedmedia/MediaKeySession.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h
    A Source/WebCore/platform/encryptedmedia/CDMKeyID.h
    M Source/WebCore/platform/encryptedmedia/CDMLogging.cpp
    M Source/WebCore/platform/encryptedmedia/CDMLogging.h
    M Source/WebCore/platform/encryptedmedia/CDMProxy.h
    A Source/WebCore/platform/encryptedmedia/CDMTypesForward.h
    M Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp
    M Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h

  Log Message:
  -----------
  [EME] Add logging of keyIDs
rdar://165148020
https://bugs.webkit.org/show_bug.cgi?id=302883

Reviewed by Eric Carlson.

Log keyIDs in MediaKeySession::updateKeyStatuses() rather than counts of each
status, and also log keyIDs needed for decoding in
AudioVideoRendererAVFObjC::canEnqueueSample().

Add an explicit type declaration for CDMKeyID and CDMKeyIDs rather than using
Ref<SharedBuffer> and Vector<Ref<SharedBuffer>> everywhere.

* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/encryptedmedia/CDMClient.h:
* Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp:
(WebCore::extractKeyIDsKeyids):
(WebCore::InitDataRegistry::extractKeyIDsCenc):
(WebCore::extractKeyIDsWebM):
(WebCore::InitDataRegistry::extractKeyIDs):
* Source/WebCore/Modules/encryptedmedia/InitDataRegistry.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h:
* Source/WebCore/platform/encryptedmedia/CDMKeyID.h: Added.
* Source/WebCore/platform/encryptedmedia/CDMLogging.cpp:
(WTF::LogArgument<WebCore::CDMKeyID>::toString):
(WTF::LogArgument<WebCore::CDMKeyIDs>::toString):
* Source/WebCore/platform/encryptedmedia/CDMLogging.h:
* Source/WebCore/platform/encryptedmedia/CDMProxy.h:
(WebCore::KeyHandle::idAsSharedBuffer const):
* Source/WebCore/platform/encryptedmedia/CDMTypesForward.h:
* Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::extractKeyidsFromCencInitData):
(WebCore::extractKeyIdFromWebMInitData):
* Source/WebCore/platform/graphics/avfoundation/AudioVideoRendererAVFObjC.mm:
(WebCore::AudioVideoRendererAVFObjC::canEnqueueSample):
* 
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* 
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForKeyIDs const):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::isAnyKeyUsable const):
(WebCore::keyIDsForRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyIDs):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::isAnyKeyUsable const):
(WTF::LogArgument<WebCore::CDMInstanceFairPlayStreamingAVFObjC::Keys>::toString):
 Deleted.
* Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
(WebCore::MediaSampleAVFObjC::setKeyIDs):
(WebCore::MediaSampleAVFObjC::keyIDs const):
(WebCore::MediaSampleAVFObjC::keyIDs):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to