# DashMediaSource.Factory

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

*** ** * ** ***


```
public final class DashMediaSource.Factory implements MediaSourceFactory
```

<br />

*** ** * ** ***

Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`s.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#Factory(androidx.media3.datasource.DataSource.Factory)(https://developer.android.com/reference/androidx/media3/datasource/DataSource.Factory dataSourceFactory)` Creates a new factory for `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`s. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#Factory(androidx.media3.exoplayer.dash.DashChunkSource.Factory,androidx.media3.datasource.DataSource.Factory)( https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashChunkSource.Factory chunkSourceFactory, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/datasource/DataSource.Factory manifestDataSourceFactory )` Creates a new factory for `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`s. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` | `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#createMediaSource(androidx.media3.exoplayer.dash.manifest.DashManifest)(https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest manifest)` Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` using the current parameters and the specified sideloaded manifest. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` | `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#createMediaSource(androidx.media3.common.MediaItem)(https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem)` Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` using the current parameters. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` | `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#createMediaSource(androidx.media3.exoplayer.dash.manifest.DashManifest,androidx.media3.common.MediaItem)(https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest manifest, https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem)` Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` using the current parameters and the specified sideloaded manifest. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [experimentalParseSubtitlesDuringExtraction](https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#experimentalParseSubtitlesDuringExtraction(boolean))( boolean parseSubtitlesDuringExtraction )` **This method is deprecated.** This method (and all support for 'legacy' subtitle decoding during rendering) will be removed in a future release. <br /> |
| `int[]` | `@https://developer.android.com/reference/androidx/media3/common/C.ContentType https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#getSupportedTypes()()` Returns the `https://developer.android.com/reference/androidx/media3/common/C.ContentType` supported by media sources created by this factory. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setCmcdConfigurationFactory(androidx.media3.exoplayer.upstream.CmcdConfiguration.Factory)( https://developer.android.com/reference/androidx/media3/exoplayer/upstream/CmcdConfiguration.Factory cmcdConfigurationFactory )` Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/CmcdConfiguration.Factory` used to obtain a `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/CmcdConfiguration` for a `https://developer.android.com/reference/androidx/media3/common/MediaItem`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setCompositeSequenceableLoaderFactory(androidx.media3.exoplayer.source.CompositeSequenceableLoaderFactory)( https://developer.android.com/reference/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory )` Sets the factory to create composite `https://developer.android.com/reference/androidx/media3/exoplayer/source/SequenceableLoader`s for when this media source loads data from multiple streams (video, audio etc...). |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setDownloadExecutor(com.google.common.base.Supplier<androidx.media3.exoplayer.util.ReleasableExecutor>)(https://guava.dev/releases/snapshot-android/api/docs/com/google/common/base/Supplier.html<https://developer.android.com/reference/androidx/media3/exoplayer/util/ReleasableExecutor> downloadExecutor)` Sets a supplier for an `https://developer.android.com/reference/androidx/media3/exoplayer/util/ReleasableExecutor` that is used for loading the media. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setDrmSessionManagerProvider(androidx.media3.exoplayer.drm.DrmSessionManagerProvider)( https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManagerProvider drmSessionManagerProvider )` Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManagerProvider` used to obtain a `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManager` for a `https://developer.android.com/reference/androidx/media3/common/MediaItem`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setFallbackTargetLiveOffsetMs(long)(long fallbackTargetLiveOffsetMs)` Sets the target `https://developer.android.com/reference/androidx/media3/common/Player#getCurrentLiveOffset()` that is used if no value is defined in the `https://developer.android.com/reference/androidx/media3/common/MediaItem` or the manifest. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setLoadErrorHandlingPolicy(androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy)( https://developer.android.com/reference/androidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy loadErrorHandlingPolicy )` Sets an optional `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setManifestParser(androidx.media3.exoplayer.upstream.ParsingLoadable.Parser<? extends androidx.media3.exoplayer.dash.manifest.DashManifest>)( @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/upstream/ParsingLoadable.Parser<https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest> manifestParser )` Sets the manifest parser to parse loaded manifest data when loading a manifest URI. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setMinLiveStartPositionUs(long)(long minLiveStartPositionUs)` Sets the minimum position to start playback from in a live stream, in microseconds relative to the start of the live window. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#setSubtitleParserFactory(androidx.media3.extractor.text.SubtitleParser.Factory)(https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory)` Sets the `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory` to be used for parsing subtitles during extraction. |

### Inherited Constants

From [androidx.media3.exoplayer.source.MediaSource.Factory](https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory) `static final https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory` `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory#UNSUPPORTED()`

An instance that throws `https://developer.android.com/reference/java/lang/UnsupportedOperationException.html` from `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory#createMediaSource(androidx.media3.common.MediaItem)` and `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory#getSupportedTypes()`.
From [androidx.media3.exoplayer.source.MediaSourceFactory](https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSourceFactory) `static final https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSourceFactory` `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSourceFactory#UNSUPPORTED()`

An instance that throws `https://developer.android.com/reference/java/lang/UnsupportedOperationException.html` from `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory#createMediaSource(androidx.media3.common.MediaItem)` and `https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.Factory#getSupportedTypes()`.

## Public constructors

### Factory

```
public Factory(DataSource.Factory dataSourceFactory)
```

Creates a new factory for `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`s.

The factory will use the following default components:

- `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DefaultDashChunkSource.Factory`
- `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider`
- `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/DefaultLoadErrorHandlingPolicy`
- `https://developer.android.com/reference/androidx/media3/exoplayer/source/DefaultCompositeSequenceableLoaderFactory`

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/datasource/DataSource.Factory dataSourceFactory` | A factory for `https://developer.android.com/reference/androidx/media3/datasource/DataSource` instances that will be used to load manifest and media data. |

### Factory

```
public Factory(
    DashChunkSource.Factory chunkSourceFactory,
    @Nullable DataSource.Factory manifestDataSourceFactory
)
```

Creates a new factory for `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`s.

The factory will use the following default components:

- `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManagerProvider`
- `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/DefaultLoadErrorHandlingPolicy`
- `https://developer.android.com/reference/androidx/media3/exoplayer/source/DefaultCompositeSequenceableLoaderFactory`

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashChunkSource.Factory chunkSourceFactory` | A factory for `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashChunkSource` instances. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/datasource/DataSource.Factory manifestDataSourceFactory` | A factory for `https://developer.android.com/reference/androidx/media3/datasource/DataSource` instances that will be used to load (and refresh) the manifest. May be `null` if the factory will only ever be used to create media sources with sideloaded manifests via `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#createMediaSource(androidx.media3.exoplayer.dash.manifest.DashManifest,androidx.media3.common.MediaItem)`. |

## Public methods

### createMediaSource

```
public DashMediaSource createMediaSource(DashManifest manifest)
```

Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` using the current parameters and the specified sideloaded manifest.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest manifest` | The manifest. `https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest#dynamic()` must be false. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` | The new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | If `https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest#dynamic()` is true. |

### createMediaSource

```
public DashMediaSource createMediaSource(MediaItem mediaItem)
```

Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` using the current parameters.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem` | The media item of the dash stream. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` | The new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/NullPointerException.html` | if `https://developer.android.com/reference/androidx/media3/common/MediaItem#localConfiguration()` is `null`. |

### createMediaSource

```
public DashMediaSource createMediaSource(DashManifest manifest, MediaItem mediaItem)
```

Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` using the current parameters and the specified sideloaded manifest.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest manifest` | The manifest. `https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest#dynamic()` must be false. |
| `https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem` | The `https://developer.android.com/reference/androidx/media3/common/MediaItem` to be included in the timeline. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource` | The new `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource`. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | If `https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest#dynamic()` is true. |

### experimentalParseSubtitlesDuringExtraction

```
@CanIgnoreReturnValue
public DashMediaSource.Factory [experimentalParseSubtitlesDuringExtraction](https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory#experimentalParseSubtitlesDuringExtraction(boolean))(
    boolean parseSubtitlesDuringExtraction
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> This method (and all support for 'legacy' subtitle decoding during rendering) will be removed in a future release.

Sets whether subtitles should be parsed as part of extraction (before being added to the sample queue) or as part of rendering (when being taken from the sample queue). Defaults to `true` (i.e. subtitles will be parsed during extraction).

This method is experimental and will be renamed or removed in a future release.

| Parameters |
|---|---|
| `boolean parseSubtitlesDuringExtraction` | Whether to parse subtitles during extraction or rendering. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### getSupportedTypes

```
@C.ContentType
public int[] getSupportedTypes()
```

Returns the `https://developer.android.com/reference/androidx/media3/common/C.ContentType` supported by media sources created by this factory.

### setCmcdConfigurationFactory

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setCmcdConfigurationFactory(
    CmcdConfiguration.Factory cmcdConfigurationFactory
)
```

Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/CmcdConfiguration.Factory` used to obtain a `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/CmcdConfiguration` for a `https://developer.android.com/reference/androidx/media3/common/MediaItem`.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setCompositeSequenceableLoaderFactory

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setCompositeSequenceableLoaderFactory(
    CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory
)
```

Sets the factory to create composite `https://developer.android.com/reference/androidx/media3/exoplayer/source/SequenceableLoader`s for when this media source loads data from multiple streams (video, audio etc...). The default is an instance of `https://developer.android.com/reference/androidx/media3/exoplayer/source/DefaultCompositeSequenceableLoaderFactory`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory` | A factory to create composite `https://developer.android.com/reference/androidx/media3/exoplayer/source/SequenceableLoader`s for when this media source loads data from multiple streams (video, audio etc...). |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setDownloadExecutor

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setDownloadExecutor(Supplier<ReleasableExecutor> downloadExecutor)
```

Sets a supplier for an `https://developer.android.com/reference/androidx/media3/exoplayer/util/ReleasableExecutor` that is used for loading the media.

| Parameters |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/base/Supplier.html<https://developer.android.com/reference/androidx/media3/exoplayer/util/ReleasableExecutor> downloadExecutor` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/base/Supplier.html` that provides an externally managed `https://developer.android.com/reference/androidx/media3/exoplayer/util/ReleasableExecutor` for downloading and extraction. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setDrmSessionManagerProvider

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setDrmSessionManagerProvider(
    DrmSessionManagerProvider drmSessionManagerProvider
)
```

Sets the `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManagerProvider` used to obtain a `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManager` for a `https://developer.android.com/reference/androidx/media3/common/MediaItem`.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setFallbackTargetLiveOffsetMs

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setFallbackTargetLiveOffsetMs(long fallbackTargetLiveOffsetMs)
```

Sets the target `https://developer.android.com/reference/androidx/media3/common/Player#getCurrentLiveOffset()` that is used if no value is defined in the `https://developer.android.com/reference/androidx/media3/common/MediaItem` or the manifest.

The default value is `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource#DEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MS()`.

| Parameters |
|---|---|
| `long fallbackTargetLiveOffsetMs` | The fallback live target offset in milliseconds. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setLoadErrorHandlingPolicy

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setLoadErrorHandlingPolicy(
    LoadErrorHandlingPolicy loadErrorHandlingPolicy
)
```

Sets an optional `https://developer.android.com/reference/androidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy`.

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setManifestParser

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setManifestParser(
    @Nullable ParsingLoadable.Parser<DashManifest> manifestParser
)
```

Sets the manifest parser to parse loaded manifest data when loading a manifest URI.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/upstream/ParsingLoadable.Parser<https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest> manifestParser` | A parser for loaded manifest data. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setMinLiveStartPositionUs

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setMinLiveStartPositionUs(long minLiveStartPositionUs)
```

Sets the minimum position to start playback from in a live stream, in microseconds relative to the start of the live window.

This value will override any suggested value from the manifest and helps to prevent `https://developer.android.com/reference/androidx/media3/exoplayer/source/BehindLiveWindowException` issues.

The default value is `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource#MIN_LIVE_DEFAULT_START_POSITION_US()`.

| Parameters |
|---|---|
| `long minLiveStartPositionUs` | The minimum live start position, in microseconds relative to the start of the live window. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |

### setSubtitleParserFactory

```
@CanIgnoreReturnValue
public DashMediaSource.Factory setSubtitleParserFactory(SubtitleParser.Factory subtitleParserFactory)
```

Sets the `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory` to be used for parsing subtitles during extraction.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory subtitleParserFactory` | The `https://developer.android.com/reference/androidx/media3/extractor/text/SubtitleParser.Factory` for parsing subtitles during extraction. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/DashMediaSource.Factory` | This factory, for convenience. |