Package com.google.android.exoplayer2
Class ExoPlaybackException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- com.google.android.exoplayer2.PlaybackException
-
- com.google.android.exoplayer2.ExoPlaybackException
-
- All Implemented Interfaces:
Bundleable,Serializable
public final class ExoPlaybackException extends PlaybackException
Thrown when a non locally recoverable playback failure occurs.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceExoPlaybackException.TypeThe type of source that produced the error.-
Nested classes/interfaces inherited from class com.google.android.exoplayer2.PlaybackException
PlaybackException.ErrorCode, PlaybackException.FieldNumber
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.Bundleable
Bundleable.Creator<T extends Bundleable>
-
-
Field Summary
Fields Modifier and Type Field Description static Bundleable.Creator<ExoPlaybackException>CREATORObject that can restoreExoPlaybackExceptionfrom aBundle.MediaPeriodIdmediaPeriodIdTheMediaPeriodIdof the media associated with this error, or null if undetermined.FormatrendererFormatIftypeisTYPE_RENDERER, this is theFormatthe renderer was using at the time of the exception, or null if the renderer wasn't using aFormat.intrendererFormatSupportintrendererIndexIftypeisTYPE_RENDERER, this is the index of the renderer.StringrendererNameIftypeisTYPE_RENDERER, this is the name of the renderer.inttypeTheExoPlaybackException.Typeof the playback failure.static intTYPE_REMOTEThe error occurred in a remote component.static intTYPE_RENDERERThe error occurred in aRenderer.static intTYPE_SOURCEThe error occurred loading data from aMediaSource.static intTYPE_UNEXPECTEDThe error was an unexpectedRuntimeException.-
Fields inherited from class com.google.android.exoplayer2.PlaybackException
CUSTOM_ERROR_CODE_BASE, ERROR_CODE_AUDIO_TRACK_INIT_FAILED, ERROR_CODE_AUDIO_TRACK_WRITE_FAILED, ERROR_CODE_BEHIND_LIVE_WINDOW, ERROR_CODE_DECODER_INIT_FAILED, ERROR_CODE_DECODER_QUERY_FAILED, ERROR_CODE_DECODING_FAILED, ERROR_CODE_DECODING_FORMAT_EXCEEDS_CAPABILITIES, ERROR_CODE_DECODING_FORMAT_UNSUPPORTED, ERROR_CODE_DRM_CONTENT_ERROR, ERROR_CODE_DRM_DEVICE_REVOKED, ERROR_CODE_DRM_DISALLOWED_OPERATION, ERROR_CODE_DRM_LICENSE_ACQUISITION_FAILED, ERROR_CODE_DRM_LICENSE_EXPIRED, ERROR_CODE_DRM_PROVISIONING_FAILED, ERROR_CODE_DRM_SCHEME_UNSUPPORTED, ERROR_CODE_DRM_SYSTEM_ERROR, ERROR_CODE_DRM_UNSPECIFIED, ERROR_CODE_FAILED_RUNTIME_CHECK, ERROR_CODE_IO_BAD_HTTP_STATUS, ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED, ERROR_CODE_IO_FILE_NOT_FOUND, ERROR_CODE_IO_INVALID_HTTP_CONTENT_TYPE, ERROR_CODE_IO_NETWORK_CONNECTION_FAILED, ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT, ERROR_CODE_IO_NO_PERMISSION, ERROR_CODE_IO_READ_POSITION_OUT_OF_RANGE, ERROR_CODE_IO_UNSPECIFIED, ERROR_CODE_PARSING_CONTAINER_MALFORMED, ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED, ERROR_CODE_PARSING_MANIFEST_MALFORMED, ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED, ERROR_CODE_REMOTE_ERROR, ERROR_CODE_TIMEOUT, ERROR_CODE_UNSPECIFIED, errorCode, FIELD_CUSTOM_ID_BASE, timestampMs
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static ExoPlaybackExceptioncreateForRemote(String message)Creates an instance of typeTYPE_REMOTE.static ExoPlaybackExceptioncreateForRenderer(Throwable cause, String rendererName, int rendererIndex, Format rendererFormat, int rendererFormatSupport, boolean isRecoverable, @com.google.android.exoplayer2.PlaybackException.ErrorCode int errorCode)Creates an instance of typeTYPE_RENDERER.static ExoPlaybackExceptioncreateForSource(IOException cause, int errorCode)Creates an instance of typeTYPE_SOURCE.static ExoPlaybackExceptioncreateForUnexpected(RuntimeException cause)Deprecated.static ExoPlaybackExceptioncreateForUnexpected(RuntimeException cause, @com.google.android.exoplayer2.PlaybackException.ErrorCode int errorCode)Creates an instance of typeTYPE_UNEXPECTED.booleanerrorInfoEquals(PlaybackException that)Returns whether the error data associated to this exception equals the error data associated toother.ExceptiongetRendererException()Retrieves the underlying error whentypeisTYPE_RENDERER.IOExceptiongetSourceException()Retrieves the underlying error whentypeisTYPE_SOURCE.RuntimeExceptiongetUnexpectedException()Retrieves the underlying error whentypeisTYPE_UNEXPECTED.BundletoBundle()Returns aBundlerepresenting the information stored in this object.-
Methods inherited from class com.google.android.exoplayer2.PlaybackException
getErrorCodeName, getErrorCodeName, keyForField
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-
-
-
Field Detail
-
TYPE_SOURCE
public static final int TYPE_SOURCE
The error occurred loading data from aMediaSource.Call
getSourceException()to retrieve the underlying cause.- See Also:
- Constant Field Values
-
TYPE_RENDERER
public static final int TYPE_RENDERER
The error occurred in aRenderer.Call
getRendererException()to retrieve the underlying cause.- See Also:
- Constant Field Values
-
TYPE_UNEXPECTED
public static final int TYPE_UNEXPECTED
The error was an unexpectedRuntimeException.Call
getUnexpectedException()to retrieve the underlying cause.- See Also:
- Constant Field Values
-
TYPE_REMOTE
public static final int TYPE_REMOTE
The error occurred in a remote component.Call
Throwable.getMessage()to retrieve the message associated with the error.- See Also:
- Constant Field Values
-
type
@Type public final int type
TheExoPlaybackException.Typeof the playback failure.
-
rendererName
@Nullable public final String rendererName
IftypeisTYPE_RENDERER, this is the name of the renderer.
-
rendererIndex
public final int rendererIndex
IftypeisTYPE_RENDERER, this is the index of the renderer.
-
rendererFormat
@Nullable public final Format rendererFormat
IftypeisTYPE_RENDERER, this is theFormatthe renderer was using at the time of the exception, or null if the renderer wasn't using aFormat.
-
rendererFormatSupport
@FormatSupport public final int rendererFormatSupport
IftypeisTYPE_RENDERER, this is the level ofC.FormatSupportof the renderer forrendererFormat. IfrendererFormatis null, this isC.FORMAT_HANDLED.
-
mediaPeriodId
@Nullable public final MediaPeriodId mediaPeriodId
TheMediaPeriodIdof the media associated with this error, or null if undetermined.
-
CREATOR
public static final Bundleable.Creator<ExoPlaybackException> CREATOR
Object that can restoreExoPlaybackExceptionfrom aBundle.
-
-
Method Detail
-
createForSource
public static ExoPlaybackException createForSource(IOException cause, int errorCode)
Creates an instance of typeTYPE_SOURCE.- Parameters:
cause- The cause of the failure.errorCode- SeePlaybackException.errorCode.- Returns:
- The created instance.
-
createForRenderer
public static ExoPlaybackException createForRenderer(Throwable cause, String rendererName, int rendererIndex, @Nullable Format rendererFormat, @FormatSupport int rendererFormatSupport, boolean isRecoverable, @ErrorCode @com.google.android.exoplayer2.PlaybackException.ErrorCode int errorCode)
Creates an instance of typeTYPE_RENDERER.- Parameters:
cause- The cause of the failure.rendererIndex- The index of the renderer in which the failure occurred.rendererFormat- TheFormatthe renderer was using at the time of the exception, or null if the renderer wasn't using aFormat.rendererFormatSupport- TheC.FormatSupportof the renderer forrendererFormat. Ignored ifrendererFormatis null.isRecoverable- If the failure can be recovered by disabling and re-enabling the renderer.errorCode- SeePlaybackException.errorCode.- Returns:
- The created instance.
-
createForUnexpected
@Deprecated public static ExoPlaybackException createForUnexpected(RuntimeException cause)
Deprecated.
-
createForUnexpected
public static ExoPlaybackException createForUnexpected(RuntimeException cause, @ErrorCode @com.google.android.exoplayer2.PlaybackException.ErrorCode int errorCode)
Creates an instance of typeTYPE_UNEXPECTED.- Parameters:
cause- The cause of the failure.errorCode- SeePlaybackException.errorCode.- Returns:
- The created instance.
-
createForRemote
public static ExoPlaybackException createForRemote(String message)
Creates an instance of typeTYPE_REMOTE.- Parameters:
message- The message associated with the error.- Returns:
- The created instance.
-
getSourceException
public IOException getSourceException()
Retrieves the underlying error whentypeisTYPE_SOURCE.- Throws:
IllegalStateException- Iftypeis notTYPE_SOURCE.
-
getRendererException
public Exception getRendererException()
Retrieves the underlying error whentypeisTYPE_RENDERER.- Throws:
IllegalStateException- Iftypeis notTYPE_RENDERER.
-
getUnexpectedException
public RuntimeException getUnexpectedException()
Retrieves the underlying error whentypeisTYPE_UNEXPECTED.- Throws:
IllegalStateException- Iftypeis notTYPE_UNEXPECTED.
-
errorInfoEquals
public boolean errorInfoEquals(@Nullable PlaybackException that)Description copied from class:PlaybackExceptionReturns whether the error data associated to this exception equals the error data associated toother.Note that this method does not compare the exceptions' stacktraces.
- Overrides:
errorInfoEqualsin classPlaybackException
-
toBundle
public Bundle toBundle()
Returns aBundlerepresenting the information stored in this object.It omits the
mediaPeriodIdfield. ThemediaPeriodIdof an instance restored byCREATORwill always benull.- Specified by:
toBundlein interfaceBundleable- Overrides:
toBundlein classPlaybackException
-
-