[webkit-changes] [WebKit/WebKit] 677163: REGRESSION (271946 at main): Netflix playback stops w...

aestes noreply at github.com
Tue Jan 2 19:49:05 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6771638064690569e83c4e0828f3ffd62241e02c
      https://github.com/WebKit/WebKit/commit/6771638064690569e83c4e0828f3ffd62241e02c
  Author: Andy Estes <aestes at apple.com>
  Date:   2024-01-02 (Tue, 02 Jan 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h
    M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm

  Log Message:
  -----------
  REGRESSION (271946 at main): Netflix playback stops with error S7361-1253 once a renewing content key request is made
https://bugs.webkit.org/show_bug.cgi?id=267001
rdar://120230860

Reviewed by Eric Carlson.

To work around a behavior change in certain configurations of AVContentKeySession, 271946 at main
changed the logic for handling content key renewal requests such that the renewing key request is
looked up by identifier rather than by object identity. This change did not account for renewing
requests containing multiple AVContentKeyRequests, breaking encrypted playback on netflix.com once a
renewing request is made several minutes into playback.

Fixed this by checking each of the request's AVContentKeyRequests for a matching identifier rather
than just the first one.

* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestMatchesRenewingRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):

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




More information about the webkit-changes mailing list