Issue:
I am supporting an iOS application that streams Fairplay DRM protected content.
On iOS 16 devices, I am seeing intermittent exceptions thrown when trying to process the CKC returned by the license server.
The thrown exception is as follows:
-[AVContentKeyRequest processContentKeyResponse:] AVContentKeySession's keySystem is not same as that of keyResponse
This issue does not occur on older devices (we support iOS 13, 14, 15)
I am unable to find documentation about this error so any insight is appreciated:
High-Level Code Overview
Use ContentKeyRequest to request an application certificate
Use returned Cert to call makeStreamingContentKeyRequestData
Use returned data to request FairPlay license
Use returned CKC to generate AVContentKeyResponse (i.e. AVContentKeyResponse(fairPlayStreamingKeyResponseData:_))
Call processContentKeyResponse(_)
App crash/exception thrown when callling processContentKeyResponse
I am seeing other issues related to DRM and iOS 16 but these are specific to downloaded and offline content which do not match my use case.
Post not yet marked as solved
When i validated the VOD playlist with media stream validator, am getting the "Different target durations detected" error for trk vs sub, var vs sub playlists,
Error: Different target durations detected
--> Detail: Target duration: 3599 vs Target duration: 6
--> Source: subs/eus_2/playlist.m3u8
--> Compare: trk969287/playlist.m3u8
--> Detail: Target duration: 6 vs Target duration: 3599
--> Source: var969287/playlist.m3u8
--> Compare: subs/eus_2/playlist.m3u8
but the apple specification (https://developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices specification) stated that "5.7. For VOD content, target durations of subtitle playlists MAY be longer than the other media."
Can you please clarify the query that why we are getting different target duration error for subtitle vs other media playlists even though the apple spec mentioned that the subtitle playlist may be longer than other media for VOD assets?
Post not yet marked as solved
I need to correctly determine the mime type of keynote file and numbers file without relying on the extension. For this purpose, I am hoping to use the magic number concept and match it with the first four bytes of a file.
Link for magic number understanding -> [https://www.outsystems.com/forge/component-overview/10108/validate-file-extension#:~:text=A%20magic%20number%20is%20a,types%20which%20is%20hexadecimal%20format.]
Though after extensive searching online I am unable to find a unique magic number for the above files moreover first four bytes of the file is matching with the magic number of the zip file due to which I am getting the wrong extension as zip. This is the first four bytes 0x50, 0x4B, 0x3, 0x4. Is there any reliable way to find the mime type of these files without relying on an extension?
Post not yet marked as solved
We have created a hls playback framework and lot of our client's are complaining about this error
{"code": -19152, "domain": "CoreMediaErrorDomain", "localizedDescription": "The operation couldn’t be completed. (CoreMediaErrorDomain error -19152 - The operation couldn’t be completed. (CoreMediaErrorDomain error -19152.))", "localizedFailureReason": "", "localizedRecoverySuggestion": ""}
We are unable to reproduce this issue on our end but we have data reflecting the same error happening at good rate. Any help/hint is welcome.
Thanks
Post not yet marked as solved
Hello everyone,
I have captured SPC and CKC messages. I'm trying to parse it using verify_ckc tool, but I only get SPC encryption key and SPC encryption IV:
CKC/SPC Sanity Test v. 2.01
========================= Begin SPC Data ===============================
SPC container size 7296
SPC Encryption Key -
a9 a6 8c 2b 62 2f 3a ee bc 92 0c 4d cb 07 d1 c7
SPC Encryption IV -
75 7f f7 60 c9 d0 16 2a 7b 96 0e 42 e6 c3 3e 75
================ SPC TLLV List ================
=========================== End SPC Data =================================
=========================== Begin CKC Data =================================
=========================== End CKC Data =================================
SPC binary message: https://www.icloud.com/iclouddrive/0c0hm06RJQpTlsWBB1ANb3OZw#SPC
CKC binary message: https://www.icloud.com/iclouddrive/016apmD_MZDFaGVNey_HA_17g#CKC
What is the problem?
Post not yet marked as solved
Hi, is it possible to force/ensure an automatic license renewal in a Fairplay SPC response? I can find that feature in other DRM systems like Widevine (using specific parameters in the response)
Searching in "FairPlay Streaming Server SDK 4.4.4" I can only find parameters related to lease/rental TLLs, but not an explicit renewal request. does this feature exists on FairPlay?
Any information will be appreciated.
Have a great day!
Post not yet marked as solved
I need to download encrypted HLS stream in tvos and save it in local file path. But AVAssetDownloadURLSession is not available in tvOS. Is there any alternative?.
Thanks