Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6771638064690569e83c4e0828f3ffd62241e02c
      
https://github.com/WebKit/WebKit/commit/6771638064690569e83c4e0828f3ffd62241e02c
  Author: Andy Estes <[email protected]>
  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@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@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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to