# 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)

*** ** * ** ***


```
@RequiresApi(value = 30)
@UnstableApi
public final class InputReaderAdapterV30 implements MediaParser.SeekableInputReader
```

<br />

*** ** * ** ***

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

## Summary

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

| ### Public methods |
|---|---|
| `long` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#getAndResetSeekPosition()()` Returns the last value passed to `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#seekToPosition(long)` and sets the stored value to `https://developer.android.com/reference/androidx/media3/common/C#INDEX_UNSET()`. |
| `long` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#getLength()()` |
| `long` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#getPosition()()` |
| `int` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#read(byte[],int,int)(byte[] bytes, int offset, int readLength)` |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#seekToPosition(long)(long position)` |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#setCurrentPosition(long)(long position)` Sets the absolute position in the resource from which the wrapped `https://developer.android.com/reference/androidx/media3/common/DataReader` reads. |
| `void` | `https://developer.android.com/reference/androidx/media3/exoplayer/source/mediaparser/InputReaderAdapterV30#setDataReader(androidx.media3.common.DataReader,long)(https://developer.android.com/reference/androidx/media3/common/DataReader dataReader, long length)` Sets the wrapped `https://developer.android.com/reference/androidx/media3/common/DataReader`. |

## Public constructors

### InputReaderAdapterV30

```
public InputReaderAdapterV30()
```

## Public methods

### getAndResetSeekPosition

```
public long getAndResetSeekPosition()
```

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

### getLength

```
public long getLength()
```

### getPosition

```
public long getPosition()
```

### read

```
public int read(byte[] bytes, int offset, int readLength)
```

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

### seekToPosition

```
public void seekToPosition(long position)
```

### setCurrentPosition

```
public void setCurrentPosition(long position)
```

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

### setDataReader

```
public void setDataReader(DataReader dataReader, long length)
```

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

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/DataReader dataReader` | The `https://developer.android.com/reference/androidx/media3/common/DataReader` to wrap. |
| `long length` | The length of the resource from which `dataReader` reads. |