[webkit-changes] [WebKit/WebKit] dcf4f5: [Cocoa] Adopt AVSampleBufferAttachContentKey

aestes noreply at github.com
Tue Dec 12 22:06:00 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dcf4f5aba6923c6d069e22770dd0141a9d864d6d
      https://github.com/WebKit/WebKit/commit/dcf4f5aba6923c6d069e22770dd0141a9d864d6d
  Author: Andy Estes <aestes at apple.com>
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
    M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h
    M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.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/SourceBufferPrivateAVFObjC.mm
    M Source/WebKit/Scripts/process-entitlements.sh

  Log Message:
  -----------
  [Cocoa] Adopt AVSampleBufferAttachContentKey
https://bugs.webkit.org/show_bug.cgi?id=266289
rdar://115664955

Reviewed by Jer Noble.

Adopted AVSampleBufferAttachContentKey as a replacement to adding AVSampleBufferDisplayLayer and
AVSampleBufferAudioRenderer as content key recipients to an AVContentKeySession. This involves
finding the first content key that matches a sample's key by keyID, then attaching the key to the
sample prior to enqueueing it.

On macOS, this API requires the com.apple.private.coremedia.allow-fps-attachment entitlement; on iOS
it is enabled by an existing entitlement.

No new tests; covered by existing tests.

* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h:
* Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm:
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::attachContentKeyToSample):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::contentKeyForSample):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::attachContentKeyToSample):
* Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSampleBuffer):
(WebCore::SourceBufferPrivateAVFObjC::setVideoLayer):
* Source/WebKit/Scripts/process-entitlements.sh:

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




More information about the webkit-changes mailing list