# InputReaderAdapterV30

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/source/mediaparser/InputReaderAdapterV30.java+class:androidx.media3.exoplayer.source.mediaparser.InputReaderAdapterV30)

*** ** * ** ***

<br />

```
@RequiresApi(value = 30)
@UnstableApi
class InputReaderAdapterV30 : MediaParser.SeekableInputReader
```

<br />

*** ** * ** ***

`https://developer.android.com/reference/android/media/MediaParser.SeekableInputReader.html` implementation wrapping a `https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#InputReaderAdapterV30()()` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#getAndResetSeekPosition()()` Returns the last value passed to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#seekToPosition(long)` and sets the stored value to `https://developer.android.com/reference/kotlin/androidx/media3/common/C#INDEX_UNSET()`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#getLength()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#getPosition()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#read(byte[],int,int)(bytes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!, offset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, readLength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#seekToPosition(long)(position: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#setCurrentPosition(long)(position: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets the absolute position in the resource from which the wrapped `https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader` reads. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#setDataReader(androidx.media3.common.DataReader,long)(dataReader: https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader!, length: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets the wrapped `https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader`. |

## Public constructors

### InputReaderAdapterV30

```
InputReaderAdapterV30()
```

## Public functions

### getAndResetSeekPosition

```
fun getAndResetSeekPosition(): Long
```

Returns the last value passed to `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#seekToPosition(long)` and sets the stored value to `https://developer.android.com/reference/kotlin/androidx/media3/common/C#INDEX_UNSET()`.

### getLength

```
fun getLength(): Long
```

### getPosition

```
fun getPosition(): Long
```

### read

```
fun read(bytes: ByteArray<Byte>!, offset: Int, readLength: Int): Int
```

| Throws |
|---|---|
| `https://developer.android.com/reference/java/io/IOException.html` |   |

### seekToPosition

```
fun seekToPosition(position: Long): Unit
```

### setCurrentPosition

```
fun setCurrentPosition(position: Long): Unit
```

Sets the absolute position in the resource from which the wrapped `https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader` reads.

### setDataReader

```
fun setDataReader(dataReader: DataReader!, length: Long): Unit
```

Sets the wrapped `https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader`.

| Parameters |
|---|---|
| `dataReader: https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader!` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/DataReader` to wrap. |
| `length: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The length of the resource from which `dataReader` reads. |