Hello,
We are experiencing a new regression with iOS 16.1/16.2 beta when trying to play a video with offline FairPlay DRMs.
Everything was working fine with 16.0.3 and below.
The delegate public func resourceLoader(_ resourceLoader: AVAssetResourceLoader, shouldWaitForLoadingOfRequestedResource loadingRequest: AVAssetResourceLoadingRequest) -> Bool
is never called when you start playing an offline video. It prevents the player to get the DRM and we end up with a timeout CoreMediaError -19512
.
We tried to preload the existing keys asset.resourceLoader.preloadsEligibleContentKeys = true
to no avail.
We also looked at the solutions provided in this thread iOS 16 FairPlay Changes which was very similar to our issue but nothing worked for us (we are already using keyRequest.processContentKeyResponse(response)
).
The DRMs are valid and can be loaded if we move the key to an older iOS device (iOS 16 and below).
However, we can see in the logs the following error happening before the CoreMediaError -19512
.
<<< FigPKDKeyManager >>>> PKDKeyManagerSetKeyRequestError: keyManager: 0x606ce 210 KeyID: F017D7B0-390-45ED-803-01A748DFB7A1 errOr: Error Domain-CoreMediaErrorDomain Code=-19160 " (null)" err: 0
The player just seem not to trigger any delegate starting 16.1+.
Is anybody else experiencing the same issue? How can we find out why the delegate aren't triggered?
Bests