Package com.google.android.exoplayer2

## Class ExoTimeoutException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - com.google.android.exoplayer2.ExoTimeoutException

- All Implemented Interfaces:
    `Serializable`

      public final class ExoTimeoutException
      extends RuntimeException

  A timeout of an operation on the ExoPlayer playback thread.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `ExoTimeoutException.TimeoutOperation` | The operation which produced the timeout error.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `TIMEOUT_OPERATION_DETACH_SURFACE` | The error occurred while detaching a surface from the player.
    `static int` | `TIMEOUT_OPERATION_RELEASE` | The error occurred in `Player.release()`.
    `static int` | `TIMEOUT_OPERATION_SET_FOREGROUND_MODE` | The error occurred in `ExoPlayer.setForegroundMode(boolean)`.
    `static int` | `TIMEOUT_OPERATION_UNDEFINED` | The operation where this error occurred is not defined.
    `int` | `timeoutOperation` | The operation on the ExoPlayer playback thread that timed out.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ExoTimeoutException​(int timeoutOperation)` | Creates the timeout exception.

  - ### Method Summary

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### TIMEOUT_OPERATION_UNDEFINED

          public static final int TIMEOUT_OPERATION_UNDEFINED

      The operation where this error occurred is not defined.
      See Also:
        Constant Field Values

    - #### TIMEOUT_OPERATION_RELEASE

          public static final int TIMEOUT_OPERATION_RELEASE

      The error occurred in `Player.release()`.
      See Also:
        Constant Field Values

    - #### TIMEOUT_OPERATION_SET_FOREGROUND_MODE

          public static final int TIMEOUT_OPERATION_SET_FOREGROUND_MODE

      The error occurred in `ExoPlayer.setForegroundMode(boolean)`.
      See Also:
        Constant Field Values

    - #### TIMEOUT_OPERATION_DETACH_SURFACE

          public static final int TIMEOUT_OPERATION_DETACH_SURFACE

      The error occurred while detaching a surface from the player.
      See Also:
        Constant Field Values

    - #### timeoutOperation

          @TimeoutOperation
          public final int timeoutOperation

      The operation on the ExoPlayer playback thread that timed out.

  - ### Constructor Detail

    - #### ExoTimeoutException

          public ExoTimeoutException​(@TimeoutOperation
                                     int timeoutOperation)

      Creates the timeout exception.
      Parameters:
        `timeoutOperation` - The `operation` that produced the timeout.