AVFoundationErrorDomain Code=-11800 NSOSStatusErrorDomain Code=-42800

Hello I am working on a project that supports Download and Play on Fairplay encrypted videos and I have the above error.

Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (-42800), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x28189d470 {Error Domain=NSOSStatusErrorDomain Code=-42800 "(null)"}}


The weird is that the first 2 days the downloaded asset plays correctly, but after 2 days I get this error and the stream isn't working. (Might have nothing to do with the problem)

The file is .movpkg and the path is correct.

I would like to know what -42800 means. And how can I fix it.

Accepted Reply


Found it in FairPlay Streaming Programing Guide
  • 42800

This error code is returned when persistent key has expired. The server always
has an option to add a validity period for each key it issues for offline playback.
Once the validity period is over iOS will refuse to decrypt offline content protected
with such key and indicate the error with this error code.
It is up to the application developers to decide whether to request a new key from
the server or treat this error condition as a permanent expiry; for example, a
recorded sporting event must not be playable after 48 hours and no key renewal
is possible.
To use the best practice and achieve maximum flexibility, always send a keyrenewal request to the server and let the server decide whether to allow the
renewal.

Replies


Found it in FairPlay Streaming Programing Guide
  • 42800

This error code is returned when persistent key has expired. The server always
has an option to add a validity period for each key it issues for offline playback.
Once the validity period is over iOS will refuse to decrypt offline content protected
with such key and indicate the error with this error code.
It is up to the application developers to decide whether to request a new key from
the server or treat this error condition as a permanent expiry; for example, a
recorded sporting event must not be playable after 48 hours and no key renewal
is possible.
To use the best practice and achieve maximum flexibility, always send a keyrenewal request to the server and let the server decide whether to allow the
renewal.