# FakeAdaptiveDataSet

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

*** ** * ** ***

<br />

```
@UnstableApi
class FakeAdaptiveDataSet : FakeDataSet
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.media3.test.utils.FakeDataSet](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet) ||
|   | ↳ | [androidx.media3.test.utils.FakeAdaptiveDataSet](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet) |

*** ** * ** ***

Fake data set emulating the data of an adaptive media source. It provides chunk data for all `https://developer.android.com/reference/kotlin/androidx/media3/common/Format`s in the given `https://developer.android.com/reference/kotlin/androidx/media3/common/TrackGroup`.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet.Factory` Factory for `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet`s. |
| `class https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet.Iterator : https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/chunk/BaseMediaChunkIterator` `https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/chunk/MediaChunkIterator` for the chunks defined by a fake adaptive data set. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet#getChunkDuration(int)(chunkIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet#getChunkIndexByPosition(long)(positionUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet#getStartTime(int)(chunkIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet#getUri(int)(trackIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeAdaptiveDataSet#chunkCount()` |

### Inherited functions

From [androidx.media3.test.utils.FakeDataSet](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet) `https://developer.android.com/reference/java/util/ArrayList.html<https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData!>!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#getAllData()()`

Returns a list of all data including `defaultData`.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData?` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#getData(java.lang.String)(uri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)`

Returns the data for the given `uri`, or `defaultData` if no data is set.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData?` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#getData(android.net.Uri)(uri: https://developer.android.com/reference/android/net/Uri.html!)`

Returns the data for the given `uri`, or `defaultData` if no data is set.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#newData(java.lang.String)(uri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)`

Returns a new `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData` with the given `uri`.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#newData(android.net.Uri)(uri: https://developer.android.com/reference/android/net/Uri.html!)`

Returns a new `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData` with the given `uri`.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet.FakeData!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#newDefaultData()()`

Sets the default data, overwrites if there is one already.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#setData(java.lang.String,byte[])(uri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, data: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!)`

Sets the given `data` for the given `uri`.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#setData(android.net.Uri,byte[])(uri: https://developer.android.com/reference/android/net/Uri.html!, data: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-byte/index.html>!)`

Sets the given `data` for the given `uri`.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#setRandomData(java.lang.String,int)(uri: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, length: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Sets random data with the given `length` for the given `uri`.
`https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet!` `https://developer.android.com/reference/kotlin/androidx/media3/test/utils/FakeDataSet#setRandomData(android.net.Uri,int)(uri: https://developer.android.com/reference/android/net/Uri.html!, length: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Sets random data with the given `length` for the given `uri`.

## Public functions

### getChunkDuration

```
fun getChunkDuration(chunkIndex: Int): Long
```

### getChunkIndexByPosition

```
fun getChunkIndexByPosition(positionUs: Long): Int
```

### getStartTime

```
fun getStartTime(chunkIndex: Int): Long
```

### getUri

```
fun getUri(trackIndex: Int): String!
```

## Public properties

### chunkCount

```
val chunkCount: Int
```