# ExoTimeoutException

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/ExoTimeoutException.java+class:androidx.media3.exoplayer.ExoTimeoutException)

*** ** * ** ***


```
@UnstableApi
class ExoTimeoutException : RuntimeException
```

<br />

|---|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||||
| ↳ | [kotlin.Throwable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html) ||||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception.html) |||
|   |   | ↳ | [java.lang.RuntimeException](https://developer.android.com/reference/java/lang/RuntimeException.html) ||
|   |   |   | ↳ | [androidx.media3.exoplayer.ExoTimeoutException](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException) |

*** ** * ** ***

A timeout of an operation on the ExoPlayer playback thread.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/java/lang/annotation/Documented.html @https://developer.android.com/reference/java/lang/annotation/Retention.html(value = https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE) @https://developer.android.com/reference/java/lang/annotation/Target.html(value = ) @https://developer.android.com/reference/kotlin/androidx/annotation/IntDef(value = ) annotation https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException.TimeoutOperation` The operation which produced the timeout error. |

| ### Constants |
|---|---|
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException#TIMEOUT_OPERATION_DETACH_SURFACE() = 3` The error occurred while detaching a surface from the player. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException#TIMEOUT_OPERATION_RELEASE() = 1` The error occurred in `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#release()`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException#TIMEOUT_OPERATION_SET_FOREGROUND_MODE() = 2` The error occurred in `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#setForegroundMode(boolean)`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException#TIMEOUT_OPERATION_UNDEFINED() = 0` The operation where this error occurred is not defined. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException#ExoTimeoutException(int)( @https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException.TimeoutOperation timeoutOperation: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Creates the timeout exception. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException.TimeoutOperation https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException#timeoutOperation()` The operation on the ExoPlayer playback thread that timed out. |

| ### Inherited functions |
|---|
| From [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) |---|---| | `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/add-suppressed.html(exception: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!)` | | `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/fill-in-stack-trace.html()` | | `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-cause.html()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-localized-message.html()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-message.html()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/java/lang/StackTraceElement.html!>!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-stack-trace.html()` | | `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!>!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/get-suppressed.html()` | | `synchronized https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/init-cause.html(cause: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/index.html!)` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/print-stack-trace.html()` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/set-stack-trace.html(stackTrace: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/java/lang/StackTraceElement.html!>!)` | | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-throwable/to-string.html()` | |

## Constants

### TIMEOUT_OPERATION_DETACH_SURFACE

```
const val TIMEOUT_OPERATION_DETACH_SURFACE = 3: Int
```

The error occurred while detaching a surface from the player.

### TIMEOUT_OPERATION_RELEASE

```
const val TIMEOUT_OPERATION_RELEASE = 1: Int
```

The error occurred in `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#release()`.

### TIMEOUT_OPERATION_SET_FOREGROUND_MODE

```
const val TIMEOUT_OPERATION_SET_FOREGROUND_MODE = 2: Int
```

The error occurred in `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoPlayer#setForegroundMode(boolean)`.

### TIMEOUT_OPERATION_UNDEFINED

```
const val TIMEOUT_OPERATION_UNDEFINED = 0: Int
```

The operation where this error occurred is not defined.

## Public constructors

### ExoTimeoutException

```
ExoTimeoutException(
    @ExoTimeoutException.TimeoutOperation timeoutOperation: Int
)
```

Creates the timeout exception.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException.TimeoutOperation timeoutOperation: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/ExoTimeoutException.TimeoutOperation` that produced the timeout. |

## Public properties

### timeoutOperation

```
@ExoTimeoutException.TimeoutOperation
val timeoutOperation: Int
```

The operation on the ExoPlayer playback thread that timed out.