# Serialized Form

- ## Package com.google.android.exoplayer2

  - ### Class com.google.android.exoplayer2.ExoPlaybackException extends Exception implements Serializable

    - ### Serialized Fields

      - #### cause

            Throwable cause

      - #### isRecoverable

            boolean isRecoverable

        If `ExoPlaybackException.type` is `ExoPlaybackException.TYPE_RENDERER`, this field indicates whether the error may be recoverable by disabling and re-enabling (but not resetting) the renderers. For other `types` this field will always be `false`.

      - #### mediaPeriodId

            MediaPeriodId mediaPeriodId

        The `MediaPeriodId` of the media associated with this error, or null if undetermined.

      - #### rendererFormat

            Format rendererFormat

        If `ExoPlaybackException.type` is `ExoPlaybackException.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`.

      - #### rendererFormatSupport

            int rendererFormatSupport

        If `ExoPlaybackException.type` is `ExoPlaybackException.TYPE_RENDERER`, this is the level of `C.FormatSupport` of the renderer for `ExoPlaybackException.rendererFormat`. If `ExoPlaybackException.rendererFormat` is null, this is `C.FORMAT_HANDLED`.

      - #### rendererIndex

            int rendererIndex

        If `ExoPlaybackException.type` is `ExoPlaybackException.TYPE_RENDERER`, this is the index of the renderer, or `C.INDEX_UNSET` if unknown.

      - #### rendererName

            String rendererName

        If `ExoPlaybackException.type` is `ExoPlaybackException.TYPE_RENDERER`, this is the name of the renderer, or null if unknown.

      - #### timestampMs

            long timestampMs

        The value of `SystemClock.elapsedRealtime()` when this exception was created.

      - #### type

            int type

        The `ExoPlaybackException.Type` of the playback failure.

  - ### Class com.google.android.exoplayer2.ExoTimeoutException extends Exception implements Serializable

    - ### Serialized Fields

      - #### timeoutOperation

            int timeoutOperation

        The operation on the ExoPlayer playback thread that timed out.

  - ### Class com.google.android.exoplayer2.IllegalSeekPositionException extends IllegalStateException implements Serializable

    - ### Serialized Fields

      - #### positionMs

            long positionMs

        The seek position in the specified window.

      - #### timeline

            Timeline timeline

        The `Timeline` in which the seek was attempted.

      - #### windowIndex

            int windowIndex

        The index of the window being seeked to.

  - ### Class com.google.android.exoplayer2.ParserException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.audio

  - ### Class com.google.android.exoplayer2.audio.AudioProcessor.UnhandledAudioFormatException extends Exception implements Serializable

  - ### Class com.google.android.exoplayer2.audio.AudioSink.ConfigurationException extends Exception implements Serializable

    - ### Serialized Fields

      - #### format

            Format format

        Input `Format` of the sink when the configuration failure occurs.

  - ### Class com.google.android.exoplayer2.audio.AudioSink.InitializationException extends Exception implements Serializable

    - ### Serialized Fields

      - #### audioTrackState

            int audioTrackState

        The underlying `AudioTrack`'s state.

      - #### format

            Format format

        The input `Format` of the sink when the error occurs.

      - #### isRecoverable

            boolean isRecoverable

        If the exception can be recovered by recreating the sink.

  - ### Class com.google.android.exoplayer2.audio.AudioSink.UnexpectedDiscontinuityException extends Exception implements Serializable

    - ### Serialized Fields

      - #### actualPresentationTimeUs

            long actualPresentationTimeUs

        The actual presentation time of a sample, in microseconds.

      - #### expectedPresentationTimeUs

            long expectedPresentationTimeUs

        The expected presentation time of a sample, in microseconds.

  - ### Class com.google.android.exoplayer2.audio.AudioSink.WriteException extends Exception implements Serializable

    - ### Serialized Fields

      - #### errorCode

            int errorCode

        The error value returned from the sink implementation. If the sink writes to a platform `AudioTrack`, this will be the error value returned from `AudioTrack.write(byte[], int, int)` or `AudioTrack.write(ByteBuffer, int, int)`. Otherwise, the meaning of the error code depends on the sink implementation.

      - #### format

            Format format

        The input `Format` of the sink when the error occurs.

      - #### isRecoverable

            boolean isRecoverable

        If the exception can be recovered by recreating the sink.

  - ### Class com.google.android.exoplayer2.audio.DefaultAudioSink.InvalidAudioTrackTimestampException extends RuntimeException implements Serializable

- ## Package com.google.android.exoplayer2.database

  - ### Class com.google.android.exoplayer2.database.DatabaseIOException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.decoder

  - ### Class com.google.android.exoplayer2.decoder.DecoderException extends Exception implements Serializable

  - ### Class com.google.android.exoplayer2.decoder.DecoderInputBuffer.InsufficientCapacityException extends IllegalStateException implements Serializable

    - ### Serialized Fields

      - #### currentCapacity

            int currentCapacity

        The current capacity of the buffer.

      - #### requiredCapacity

            int requiredCapacity

        The required capacity of the buffer.

- ## Package com.google.android.exoplayer2.drm

  - ### Class com.google.android.exoplayer2.drm.DecryptionException extends Exception implements Serializable

    - ### Serialized Fields

      - #### errorCode

            int errorCode

        A component specific error code.

  - ### Class com.google.android.exoplayer2.drm.DefaultDrmSession.UnexpectedDrmSessionException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.MissingSchemeDataException extends Exception implements Serializable

  - ### Class com.google.android.exoplayer2.drm.DrmSession.DrmSessionException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.drm.KeysExpiredException extends Exception implements Serializable

  - ### Class com.google.android.exoplayer2.drm.MediaDrmCallbackException extends IOException implements Serializable

    - ### Serialized Fields

      - #### bytesLoaded

            long bytesLoaded

        The number of bytes obtained from the server.

      - #### dataSpec

            DataSpec dataSpec

        The `DataSpec` associated with the request.

      - #### responseHeaders

            Map<String,​List<String>> responseHeaders

        The HTTP request headers included in the response.

      - #### uriAfterRedirects

            Uri uriAfterRedirects

        The `Uri` after redirections, or `dataSpec.uri` if no redirection occurred.

  - ### Class com.google.android.exoplayer2.drm.UnsupportedDrmException extends Exception implements Serializable

    - ### Serialized Fields

      - #### reason

            int reason

        Either `UnsupportedDrmException.REASON_UNSUPPORTED_SCHEME` or `UnsupportedDrmException.REASON_INSTANTIATION_ERROR`.

- ## Package com.google.android.exoplayer2.ext.av1

  - ### Class com.google.android.exoplayer2.ext.av1.Gav1DecoderException extends DecoderException implements Serializable

- ## Package com.google.android.exoplayer2.ext.cronet

  - ### Class com.google.android.exoplayer2.ext.cronet.CronetDataSource.OpenException extends HttpDataSource.HttpDataSourceException implements Serializable

    - ### Serialized Fields

      - #### cronetConnectionStatus

            int cronetConnectionStatus

        Returns the status of the connection establishment at the moment when the error occurred, as defined by `UrlRequest.Status`.

- ## Package com.google.android.exoplayer2.ext.ffmpeg

  - ### Class com.google.android.exoplayer2.ext.ffmpeg.FfmpegDecoderException extends DecoderException implements Serializable

- ## Package com.google.android.exoplayer2.ext.flac

  - ### Class com.google.android.exoplayer2.ext.flac.FlacDecoderException extends DecoderException implements Serializable

  - ### Class com.google.android.exoplayer2.ext.flac.FlacDecoderJni.FlacFrameDecodeException extends Exception implements Serializable

    - ### Serialized Fields

      - #### errorCode

            int errorCode

- ## Package com.google.android.exoplayer2.ext.opus

  - ### Class com.google.android.exoplayer2.ext.opus.OpusDecoderException extends DecoderException implements Serializable

- ## Package com.google.android.exoplayer2.ext.vp9

  - ### Class com.google.android.exoplayer2.ext.vp9.VpxDecoderException extends DecoderException implements Serializable

- ## Package com.google.android.exoplayer2.extractor.flv

  - ### Class com.google.android.exoplayer2.extractor.flv.TagPayloadReader.UnsupportedFormatException extends ParserException implements Serializable

- ## Package com.google.android.exoplayer2.mediacodec

  - ### Class com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException extends DecoderException implements Serializable

    - ### Serialized Fields

      - #### codecInfo

            MediaCodecInfo codecInfo

        The `MediaCodecInfo` of the decoder that failed. Null if unknown.

      - #### diagnosticInfo

            String diagnosticInfo

        An optional developer-readable diagnostic information string. May be null.

  - ### Class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException extends Exception implements Serializable

    - ### Serialized Fields

      - #### codecInfo

            MediaCodecInfo codecInfo

        The `MediaCodecInfo` of the decoder that failed to initialize. Null if no suitable decoder was found.

      - #### diagnosticInfo

            String diagnosticInfo

        An optional developer-readable diagnostic information string. May be null.

      - #### fallbackDecoderInitializationException

            MediaCodecRenderer.DecoderInitializationException fallbackDecoderInitializationException

        If the decoder failed to initialize and another decoder being used as a fallback also failed to initialize, the `MediaCodecRenderer.DecoderInitializationException` for the fallback decoder. Null if there was no fallback decoder or no suitable decoders were found.

      - #### mimeType

            String mimeType

        The mime type for which a decoder was being initialized.

      - #### secureDecoderRequired

            boolean secureDecoderRequired

        Whether it was required that the decoder support a secure output path.

  - ### Class com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException extends Exception implements Serializable

- ## Package com.google.android.exoplayer2.offline

  - ### Class com.google.android.exoplayer2.offline.DownloadException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.offline.DownloadHelper.LiveContentUnsupportedException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.offline.DownloadRequest.UnsupportedRequestException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.source

  - ### Class com.google.android.exoplayer2.source.BehindLiveWindowException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException extends IOException implements Serializable

    - ### Serialized Fields

      - #### reason

            int reason

        The reason clipping failed.

  - ### Class com.google.android.exoplayer2.source.MergingMediaSource.IllegalMergeException extends IOException implements Serializable

    - ### Serialized Fields

      - #### reason

            int reason

        The reason the merge failed.

  - ### Class com.google.android.exoplayer2.source.UnrecognizedInputFormatException extends ParserException implements Serializable

    - ### Serialized Fields

      - #### uri

            Uri uri

        The `Uri` from which the unrecognized data was read.

- ## Package com.google.android.exoplayer2.source.ads

  - ### Class com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException extends IOException implements Serializable

    - ### Serialized Fields

      - #### type

            int type

        The `AdsMediaSource.AdLoadException.Type` of the ad load exception.

- ## Package com.google.android.exoplayer2.source.dash

  - ### Class com.google.android.exoplayer2.source.dash.DashManifestStaleException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.source.hls

  - ### Class com.google.android.exoplayer2.source.hls.SampleQueueMappingException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.source.hls.playlist

  - ### Class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.DeltaUpdateException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistResetException extends IOException implements Serializable

    - ### Serialized Fields

      - #### url

            Uri url

        The url of the reset playlist.

  - ### Class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistStuckException extends IOException implements Serializable

    - ### Serialized Fields

      - #### url

            Uri url

        The url of the stuck playlist.

- ## Package com.google.android.exoplayer2.source.rtsp

  - ### Class com.google.android.exoplayer2.source.rtsp.RtspMediaSource.RtspPlaybackException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.source.smoothstreaming.manifest

  - ### Class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifestParser.MissingFieldException extends ParserException implements Serializable

- ## Package com.google.android.exoplayer2.testutil

  - ### Class com.google.android.exoplayer2.testutil.FakeExtractorInput.SimulatedIOException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.text

  - ### Class com.google.android.exoplayer2.text.SubtitleDecoderException extends DecoderException implements Serializable

- ## Package com.google.android.exoplayer2.upstream

  - ### Class com.google.android.exoplayer2.upstream.AssetDataSource.AssetDataSourceException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.upstream.ContentDataSource.ContentDataSourceException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.upstream.DataSourceException extends IOException implements Serializable

    - ### Serialized Fields

      - #### reason

            int reason

        The reason of this `DataSourceException`. It can only be `DataSourceException.POSITION_OUT_OF_RANGE`.

  - ### Class com.google.android.exoplayer2.upstream.FileDataSource.FileDataSourceException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.upstream.HttpDataSource.CleartextNotPermittedException extends HttpDataSource.HttpDataSourceException implements Serializable

  - ### Class com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException extends IOException implements Serializable

    - ### Serialized Fields

      - #### dataSpec

            DataSpec dataSpec

        The `DataSpec` associated with the current connection.

      - #### type

            int type

  - ### Class com.google.android.exoplayer2.upstream.HttpDataSource.InvalidContentTypeException extends HttpDataSource.HttpDataSourceException implements Serializable

    - ### Serialized Fields

      - #### contentType

            String contentType

  - ### Class com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException extends HttpDataSource.HttpDataSourceException implements Serializable

    - ### Serialized Fields

      - #### headerFields

            Map<String,​List<String>> headerFields

        An unmodifiable map of the response header fields and values.

      - #### responseBody

            byte[] responseBody

        The response body.

      - #### responseCode

            int responseCode

        The response code that was outside of the 2xx range.

      - #### responseMessage

            String responseMessage

        The http status message.

  - ### Class com.google.android.exoplayer2.upstream.Loader.UnexpectedLoaderException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.upstream.RawResourceDataSource.RawResourceDataSourceException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.upstream.UdpDataSource.UdpDataSourceException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.upstream.cache

  - ### Class com.google.android.exoplayer2.upstream.cache.Cache.CacheException extends IOException implements Serializable

  - ### Class com.google.android.exoplayer2.upstream.cache.CacheDataSink.CacheDataSinkException extends Cache.CacheException implements Serializable

- ## Package com.google.android.exoplayer2.util

  - ### Class com.google.android.exoplayer2.util.EGLSurfaceTexture.GlException extends RuntimeException implements Serializable

  - ### Class com.google.android.exoplayer2.util.PriorityTaskManager.PriorityTooLowException extends IOException implements Serializable

- ## Package com.google.android.exoplayer2.video

  - ### Class com.google.android.exoplayer2.video.MediaCodecVideoDecoderException extends MediaCodecDecoderException implements Serializable

    - ### Serialized Fields

      - #### isSurfaceValid

            boolean isSurfaceValid

        Whether the surface was valid when the exception occurred.

      - #### surfaceIdentityHashCode

            int surfaceIdentityHashCode

        The `System.identityHashCode(Object)` of the surface when the exception occurred.