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

final void addSuppressed(Throwable exception)

Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.

Throwable fillInStackTrace()

Fills in the execution stack trace.

Throwable getCause()

Returns the cause of this throwable or null if the cause is nonexistent or unknown.

String getLocalizedMessage()

Creates a localized description of this throwable.

String getMessage()

Returns the detail message string of this throwable.

StackTraceElement[] getStackTrace()

Provides programmatic access to the stack trace information printed by printStackTrace().

final Throwable[] getSuppressed()

Returns an array containing all of the exceptions that were suppressed, typically by the try-with-resources statement, in order to deliver this exception.

Throwable initCause(Throwable cause)

Initializes the cause of this throwable to the specified value.

void printStackTrace()

Prints this throwable and its backtrace to the standard error stream.

void printStackTrace(PrintWriter s)

Prints this throwable and its backtrace to the specified print writer.

void printStackTrace(PrintStream s)

Prints this throwable and its backtrace to the specified print stream.

void setStackTrace(StackTraceElement[] stackTrace)

Sets the stack trace elements that will be returned by getStackTrace() and printed by printStackTrace() and related methods.

String toString()

Returns a short description of this throwable.

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

default int getErrorContext()

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

default int getOemError()

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

default int getVendorError()

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

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