Serializable
public 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, wait
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public 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
.