DrmErrorCode Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
public enum DrmErrorCode
type DrmErrorCode =
- Inheritance
-
DrmErrorCode
Fields
| Name | Value | Description |
|---|---|---|
| Unknown | 0 | ERROR_UNKNOWN is used where no other defined error code is applicable to the current failure. Please see the general error handling strategy for unexpected errors described in ErrorCodes. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| NoKey | 1 | The requested key was not found when trying to perform a decrypt operation. The operation can be retried after adding the correct decryption key. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| KeyExpired | 2 | The key used for decryption is no longer valid due to license term expiration. The operation can be retried after updating the expired keys. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ResourceBusy | 3 | A required crypto resource was not able to be allocated while attempting the requested operation. The operation can be retried if the app is able to release resources. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| InsufficientOutputProtection | 4 | The output protection levels supported by the device are not sufficient to meet the requirements set by the content owner in the license policy. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| SessionNotOpened | 5 | Decryption was attempted on a session that is not opened, which could be due to a failure to open the session, closing the session prematurely, the session being reclaimed by the resource manager, or a non-existent session id. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| UnsupportedOperation | 6 | An operation was attempted that could not be supported by the crypto system of the device in its current configuration. This may occur when the license policy requires device security features that aren't supported by the device, or due to an internal error in the crypto system that prevents the specified security policy from being met. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| InsufficientSecurity | 7 | The security level of the device is not sufficient to meet the requirements set by the content owner in the license policy. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| FrameTooLarge | 8 | The video frame being decrypted exceeds the size of the device's protected output buffers. When encountering this error the app should try playing content of a lower resolution or skipping the problematic frame. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| LostState | 9 | The session state has been invalidated. This can occur on devices that are not capable of retaining crypto session state across device suspend/resume. The session must be closed and a new session opened to resume operation. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| CertificateMalformed | 10 | Certificate is malformed or is of the wrong type. Ensure the certificate provided by the app or returned from the license server is valid. Check with the MediaDrm plugin vendor for the expected certificate format. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| CertificateMissing | 11 | Certificate has not been set. Ensure the certificate has been provided by the app. Check with the MediaDrm plugin vendor for the expected method to provide MediaDrm a certificate. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| CryptoLibrary | 12 | An error happened within the crypto library used by the drm plugin. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| GenericOem | 13 | Unexpected error reported by the device OEM subsystem. Please see the general error handling strategy for unexpected errors described in ErrorCodes. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| GenericPlugin | 14 | Unexpected internal failure in MediaDrm / MediaCrypto. Please see the general error handling strategy for unexpected errors described in ErrorCodes. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| InitData | 15 | The init data parameter passed to MediaDrm.getKeyRequest is empty or invalid. Init data is typically obtained from MediaExtractor.getPsshInfo() or MediaExtractor.getDrmInitData(). Check with the MediaDrm plugin vendor for the expected init data format. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| KeyNotLoaded | 16 | Either the key was not loaded from the license before attempting the operation, or the key ID parameter provided by the app is incorrect. Ensure the proper keys are in the license, and check the key ID parameter provided by the app is correct. Check with the MediaDrm plugin vendor for the expected license format. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| LicenseParse | 17 | The license response was empty, fields are missing or otherwise unable to be parsed or decrypted. Check for mistakes such as empty or overwritten buffers. Otherwise, check with the MediaDrm plugin vendor for the expected license format. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| LicensePolicy | 18 | The operation (e.g. to renew or persist a license) is prohibited by the license policy. Check the license policy configuration on the license server. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| LicenseRelease | 19 | Failed to generate a release request because a field in the offline license is empty or malformed. The license can't be released on the server, but the app may remove the offline license explicitly using MediaDrm.removeOfflineLicense. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| LicenseRequestRejected | 20 | The license server detected an error in the license request. Check for errors on the license server. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| LicenseRestore | 21 | Failed to restore an offline license because a field in the offline license is empty or malformed. Try requesting the license again if the device is online. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| LicenseState | 22 | Offline license is in an invalid state for the attempted operation. Check the sequence of API calls made that can affect offline license state. For example, this could happen when the app attempts to restore a license after it has been released. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| MediaFramework | 23 | Failure in the media framework. Try releasing media resources (e.g. MediaCodec, MediaDrm ), and restarting playback. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ProvisioningCertificate | 24 | Error loading the provisioned certificate. Re-provisioning may resolve the problem; check with the MediaDrm plugin vendor for re-provisioning instructions. Otherwise, using a different security level may resolve the issue. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ProvisioningConfig | 25 | Required steps were not performed before provisioning was attempted. Ask the MediaDrm plugin vendor for situations where this error may occur. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ProvisioningParse | 26 | The provisioning response was empty, fields are missing or otherwise unable to be parsed. Check for mistakes such as empty or overwritten buffers. Otherwise, check with the MediaDrm plugin vendor for the expected provisioning response format. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ProvisioningRequestRejected | 27 | The provisioning server detected an error in the provisioning request. Check for errors on the provisioning server. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ProvisioningRetry | 28 | Provisioning failed in a way that is likely to succeed on a subsequent attempt. The app should retry the operation. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ResourceContention | 29 | This indicates that apps using MediaDrm sessions are temporarily exceeding the capacity of available crypto resources. The app should retry the operation later. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| SecureStopRelease | 30 | Failed to generate a secure stop request because a field in the stored license is empty or malformed. The secure stop can't be released on the server, but the app may remove it explicitly using MediaDrm.removeSecureStop. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| StorageRead | 31 | The plugin was unable to read data from the filesystem. Please see the general error handling strategy for unexpected errors described in ErrorCodes. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| StorageWrite | 32 | The plugin was unable to write data to the filesystem. Please see the general error handling strategy for unexpected errors described in ErrorCodes. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |
| ZeroSubsamples | 33 | MediaCodec.queueSecureInputBuffer called with 0 subsamples. Check the MediaCodec.CryptoInfo object passed to MediaCodec.queueSecureInputBuffer. Android reference for Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. |