# SsMediaSource.Factory

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

*** ** * ** ***


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

<br />

*** ** * ** ***

Factory for `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource`s. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory#Factory(androidx.media3.exoplayer.smoothstreaming.SsChunkSource.Factory,androidx.media3.datasource.DataSource.Factory)( https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsChunkSource.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/smoothstreaming/SsMediaSource`s. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource` | `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory#createMediaSource(androidx.media3.exoplayer.smoothstreaming.manifest.SsManifest)(https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest manifest)` Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource` using the current parameters and the specified sideloaded manifest. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource` | `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource` using the current parameters. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource` | `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory#createMediaSource(androidx.media3.exoplayer.smoothstreaming.manifest.SsManifest,androidx.media3.common.MediaItem)(https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest manifest, https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem)` Returns a new `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource` using the current parameters and the specified sideloaded manifest. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [experimentalParseSubtitlesDuringExtraction](https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory#setLivePresentationDelayMs(long)(long livePresentationDelayMs)` Sets the duration in milliseconds by which the default start position should precede the end of the live window for live playbacks. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory#setManifestParser(androidx.media3.exoplayer.upstream.ParsingLoadable.Parser<? extends androidx.media3.exoplayer.smoothstreaming.manifest.SsManifest>)( @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/smoothstreaming/manifest/SsManifest> manifestParser )` Sets the manifest parser to parse loaded manifest data when loading a manifest URI. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.Factory` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource`s.

The factory will use the following default components:

- `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/DefaultSsChunkSource.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(
    SsChunkSource.Factory chunkSourceFactory,
    @Nullable DataSource.Factory manifestDataSourceFactory
)
```

Creates a new factory for `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource`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/smoothstreaming/SsChunkSource.Factory chunkSourceFactory` | A factory for `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsChunkSource` 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/smoothstreaming/SsMediaSource.Factory#createMediaSource(androidx.media3.exoplayer.smoothstreaming.manifest.SsManifest,androidx.media3.common.MediaItem)`. |

## Public methods

### createMediaSource

```
public SsMediaSource createMediaSource(SsManifest manifest)
```

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

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest manifest` | The manifest. `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest#isLive()` must be false. |

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

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

### createMediaSource

```
public SsMediaSource createMediaSource(MediaItem mediaItem)
```

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

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem` | The `https://developer.android.com/reference/androidx/media3/common/MediaItem`. |

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

| 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 SsMediaSource createMediaSource(SsManifest manifest, MediaItem mediaItem)
```

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

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest manifest` | The manifest. `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest#isLive()` 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/smoothstreaming/SsMediaSource` | The new `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource`. |

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

### experimentalParseSubtitlesDuringExtraction

```
@CanIgnoreReturnValue
public SsMediaSource.Factory [experimentalParseSubtitlesDuringExtraction](https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.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/smoothstreaming/SsMediaSource.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 SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | This factory, for convenience. |

### setCompositeSequenceableLoaderFactory

```
@CanIgnoreReturnValue
public SsMediaSource.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.).

| 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/smoothstreaming/SsMediaSource.Factory` | This factory, for convenience. |

### setDownloadExecutor

```
@CanIgnoreReturnValue
public SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | This factory, for convenience. |

### setDrmSessionManagerProvider

```
@CanIgnoreReturnValue
public SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | This factory, for convenience. |

### setLivePresentationDelayMs

```
@CanIgnoreReturnValue
public SsMediaSource.Factory setLivePresentationDelayMs(long livePresentationDelayMs)
```

Sets the duration in milliseconds by which the default start position should precede the end of the live window for live playbacks. The default value is `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/SsMediaSource#DEFAULT_LIVE_PRESENTATION_DELAY_MS()`.

| Parameters |
|---|---|
| `long livePresentationDelayMs` | For live playbacks, the duration in milliseconds by which the default start position should precede the end of the live window. |

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

### setLoadErrorHandlingPolicy

```
@CanIgnoreReturnValue
public SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | This factory, for convenience. |

### setManifestParser

```
@CanIgnoreReturnValue
public SsMediaSource.Factory setManifestParser(
    @Nullable ParsingLoadable.Parser<SsManifest> 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/smoothstreaming/manifest/SsManifest> manifestParser` | A parser for loaded manifest data. |

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

### setSubtitleParserFactory

```
@CanIgnoreReturnValue
public SsMediaSource.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/smoothstreaming/SsMediaSource.Factory` | This factory, for convenience. |