MediaDrm.SessionException


public static final class MediaDrm.SessionException
extends RuntimeException implements MediaDrmThrowable

java.lang.Object
   ↳ java.lang.Throwable
     ↳ java.lang.Exception
       ↳ java.lang.RuntimeException
         ↳ android.media.MediaDrm.SessionException


SessionException is a misnomer because it may occur in methods without a session context.

A SessionException is most likely to be thrown when an operation failed in a way that is likely to succeed on a subsequent attempt; call isTransient() to determine whether the app should retry the failing operation.

Summary

Constants

int ERROR_RESOURCE_CONTENTION

This constant was deprecated in API level 31. Please use isTransient() instead of comparing the return value of getErrorCode() against SessionException.ERROR_RESOURCE_CONTENTION.

int ERROR_UNKNOWN

This constant was deprecated in API level 31. Unused.

Public constructors

SessionException(int errorCode, String detailMessage)

Public methods

int getErrorCode()

This method was deprecated in API level 31. Please use isTransient() instead of comparing the return value of getErrorCode() against SessionException.ERROR_RESOURCE_CONTENTION.

int getErrorContext()

Returns MediaDrm plugin vendor defined error context associated with this MediaDrmThrowable.

int getOemError()

Returns OEM or SOC specific error code associated with this MediaDrmThrowable.

int getVendorError()

Returns MediaDrm plugin vendor defined error code associated with this MediaDrmThrowable.

boolean isTransient()

Returns true if the SessionException is a transient issue, perhaps due to resource constraints, and that the operation (e.g. provisioning, generating requests) may succeed on a subsequent attempt.

Inherited methods

Constants

ERROR_RESOURCE_CONTENTION

Added in API level 29
Deprecated in API level 31
public static final int ERROR_RESOURCE_CONTENTION

This constant was deprecated in API level 31.
Please use isTransient() instead of comparing the return value of getErrorCode() against SessionException.ERROR_RESOURCE_CONTENTION.

This indicates that apps using MediaDrm sessions are temporarily exceeding the capacity of available crypto resources. The app should retry the operation later.

Constant Value: 1 (0x00000001)

ERROR_UNKNOWN

Added in API level 29
Deprecated in API level 31
public static final int ERROR_UNKNOWN

This constant was deprecated in API level 31.
Unused.

The SessionException has an unknown error code.

Constant Value: 0 (0x00000000)

Public constructors

SessionException

Added in API level 29
public SessionException (int errorCode, 
                String detailMessage)

Parameters
errorCode int

detailMessage String: This value may be null.

Public methods

getErrorCode

Added in API level 29
Deprecated in API level 31
public int getErrorCode ()

This method was deprecated in API level 31.
Please use isTransient() instead of comparing the return value of getErrorCode() against SessionException.ERROR_RESOURCE_CONTENTION.

Retrieve the error code associated with the SessionException

Returns
int Value is ERROR_RESOURCE_CONTENTION

getErrorContext

Added in API level 34
public int getErrorContext ()

Returns MediaDrm plugin vendor defined error context associated with this MediaDrmThrowable.

Please consult the MediaDrm plugin vendor for details on the error context.

Returns
int an opaque integer that would help the @MediaDrm vendor locate the source of the error if available, otherwise 0.

getOemError

Added in API level 34
public int getOemError ()

Returns OEM or SOC specific error code associated with this MediaDrmThrowable.

Please consult the MediaDrm plugin, chip, or device vendor for details on the error code.

Returns
int an OEM or SOC specific error code if available, otherwise 0.

getVendorError

Added in API level 34
public int getVendorError ()

Returns MediaDrm plugin vendor defined error code associated with this MediaDrmThrowable.

Please consult the MediaDrm plugin vendor for details on the error code.

Returns
int an error code defined by the MediaDrm plugin vendor if available, otherwise 0.

isTransient

Added in API level 31
public boolean isTransient ()

Returns true if the SessionException is a transient issue, perhaps due to resource constraints, and that the operation (e.g. provisioning, generating requests) may succeed on a subsequent attempt.

Returns
boolean