Serializablepublic final class ExoPlaybackException extends Exception
| Modifier and Type | Class | Description |
|---|---|---|
static interface |
ExoPlaybackException.Type |
The type of source that produced the error.
|
| Modifier and Type | Field | Description |
|---|---|---|
MediaPeriodId |
mediaPeriodId |
The
MediaPeriodId of the media associated with this error, or null if undetermined. |
Format |
rendererFormat |
If
type is TYPE_RENDERER, this is the Format the renderer was using
at the time of the exception, or null if the renderer wasn't using a Format. |
int |
rendererFormatSupport |
|
int |
rendererIndex |
|
String |
rendererName |
If
type is TYPE_RENDERER, this is the name of the renderer, or null if
unknown. |
long |
timestampMs |
The value of
SystemClock.elapsedRealtime() when this exception was created. |
int |
type |
The
ExoPlaybackException.Type of the playback failure. |
static int |
TYPE_REMOTE |
The error occurred in a remote component.
|
static int |
TYPE_RENDERER |
The error occurred in a
Renderer. |
static int |
TYPE_SOURCE |
The error occurred loading data from a
MediaSource. |
static int |
TYPE_UNEXPECTED |
The error was an unexpected
RuntimeException. |
| Modifier and Type | Method | Description |
|---|---|---|
static ExoPlaybackException |
createForRemote(String message) |
Creates an instance of type
TYPE_REMOTE. |
static ExoPlaybackException |
createForRenderer(Exception cause) |
Creates an instance of type
TYPE_RENDERER for an unknown renderer. |
static ExoPlaybackException |
createForRenderer(Throwable cause,
String rendererName,
int rendererIndex,
Format rendererFormat,
int rendererFormatSupport) |
Creates an instance of type
TYPE_RENDERER. |
static ExoPlaybackException |
createForRenderer(Throwable cause,
String rendererName,
int rendererIndex,
Format rendererFormat,
int rendererFormatSupport,
boolean isRecoverable) |
Creates an instance of type
TYPE_RENDERER. |
static ExoPlaybackException |
createForSource(IOException cause) |
Creates an instance of type
TYPE_SOURCE. |
static ExoPlaybackException |
createForUnexpected(RuntimeException cause) |
Creates an instance of type
TYPE_UNEXPECTED. |
Exception |
getRendererException() |
Retrieves the underlying error when
type is TYPE_RENDERER. |
IOException |
getSourceException() |
Retrieves the underlying error when
type is TYPE_SOURCE. |
RuntimeException |
getUnexpectedException() |
Retrieves the underlying error when
type is TYPE_UNEXPECTED. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringpublic static final int TYPE_SOURCE
MediaSource.
Call getSourceException() to retrieve the underlying cause.
public static final int TYPE_RENDERER
Renderer.
Call getRendererException() to retrieve the underlying cause.
public static final int TYPE_UNEXPECTED
RuntimeException.
Call getUnexpectedException() to retrieve the underlying cause.
public static final int TYPE_REMOTE
Call Throwable.getMessage() to retrieve the message associated with the error.
@Type public final int type
ExoPlaybackException.Type of the playback failure.@Nullable public final String rendererName
type is TYPE_RENDERER, this is the name of the renderer, or null if
unknown.public final int rendererIndex
@Nullable public final Format rendererFormat
type is TYPE_RENDERER, this is the Format the renderer was using
at the time of the exception, or null if the renderer wasn't using a Format.@FormatSupport public final int rendererFormatSupport
type is TYPE_RENDERER, this is the level of C.FormatSupport of the
renderer for rendererFormat. If rendererFormat is null, this is C.FORMAT_HANDLED.public final long timestampMs
SystemClock.elapsedRealtime() when this exception was created.@Nullable public final MediaPeriodId mediaPeriodId
MediaPeriodId of the media associated with this error, or null if undetermined.public static ExoPlaybackException createForSource(IOException cause)
TYPE_SOURCE.cause - The cause of the failure.public static ExoPlaybackException createForRenderer(Exception cause)
TYPE_RENDERER for an unknown renderer.cause - The cause of the failure.public static ExoPlaybackException createForRenderer(Throwable cause, String rendererName, int rendererIndex, @Nullable Format rendererFormat, @FormatSupport int rendererFormatSupport)
TYPE_RENDERER.cause - The cause of the failure.rendererIndex - The index of the renderer in which the failure occurred.rendererFormat - The Format the renderer was using at the time of the exception,
or null if the renderer wasn't using a Format.rendererFormatSupport - The C.FormatSupport of the renderer for
rendererFormat. Ignored if rendererFormat is null.public static ExoPlaybackException createForRenderer(Throwable cause, String rendererName, int rendererIndex, @Nullable Format rendererFormat, @FormatSupport int rendererFormatSupport, boolean isRecoverable)
TYPE_RENDERER.cause - The cause of the failure.rendererIndex - The index of the renderer in which the failure occurred.rendererFormat - The Format the renderer was using at the time of the exception,
or null if the renderer wasn't using a Format.rendererFormatSupport - The C.FormatSupport of the renderer for
rendererFormat. Ignored if rendererFormat is null.isRecoverable - If the failure can be recovered by disabling and re-enabling the renderer.public static ExoPlaybackException createForUnexpected(RuntimeException cause)
TYPE_UNEXPECTED.cause - The cause of the failure.public static ExoPlaybackException createForRemote(String message)
TYPE_REMOTE.message - The message associated with the error.public IOException getSourceException()
type is TYPE_SOURCE.IllegalStateException - If type is not TYPE_SOURCE.public Exception getRendererException()
type is TYPE_RENDERER.IllegalStateException - If type is not TYPE_RENDERER.public RuntimeException getUnexpectedException()
type is TYPE_UNEXPECTED.IllegalStateException - If type is not TYPE_UNEXPECTED.