[webkit-changes] [WebKit/WebKit] 8c14e2: [Cocoa] Netflix.com key renewal fails, causes play...

Jer Noble noreply at github.com
Tue Feb 6 14:25:59 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8c14e2cb82142e26dd1de6f1dcb42d2460b3d047
      https://github.com/WebKit/WebKit/commit/8c14e2cb82142e26dd1de6f1dcb42d2460b3d047
  Author: Jer Noble <jer.noble at apple.com>
  Date:   2024-02-06 (Tue, 06 Feb 2024)

  Changed paths:
    A LayoutTests/http/tests/media/fairplay/fps-mse-multi-key-renewal-expected.txt
    A LayoutTests/http/tests/media/fairplay/fps-mse-multi-key-renewal.html
    M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm

  Log Message:
  -----------
  [Cocoa] Netflix.com key renewal fails, causes playback errors, stuttering.
https://bugs.webkit.org/show_bug.cgi?id=268830
rdar://121931039

Reviewed by Andy Estes.

When adding a workaround for a platform change in behavior in the modern AVContentKeySession path,
a behavior was introduced which narrowly affects the way Netflix.com preloads keys. Previously,
a "renew" message would result in the resulting AVContentKeyRequest replacing the entire set of
pre-loaded keys from the previous request, some of which were in use by Netflix.

Rather than replace the entire set, replace only the AVContentKeyRequest within the batch of requests
whose contentKeySpecifier has a maching identifier to the replacement.

* LayoutTests/http/tests/media/fairplay/fps-mse-multi-key-renewal-expected.txt: Added.
* LayoutTests/http/tests/media/fairplay/fps-mse-multi-key-renewal.html: Added.
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):

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




More information about the webkit-changes mailing list