# CompositeSequenceableLoaderFactory

# CompositeSequenceableLoaderFactory

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

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory "View this page in Java")

<br />

```
@UnstableApi
interface CompositeSequenceableLoaderFactory
```

<br />

Known direct subclasses  
[DefaultCompositeSequenceableLoaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/DefaultCompositeSequenceableLoaderFactory)  

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [DefaultCompositeSequenceableLoaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/DefaultCompositeSequenceableLoaderFactory) | Default implementation of[CompositeSequenceableLoaderFactory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory). |

*** ** * ** ***

A factory to create composite[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)s.

## Summary

|                                                    ### Public functions                                                     |
|-----------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)`!` | [create](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#create(java.util.List<? extends androidx.media3.exoplayer.source.SequenceableLoader>,java.util.List<java.util.List<java.lang.Integer>>))`(` ` loaders: (`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)`!>!,` ` loaderTrackTypes: (`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<(`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<@`[C.TrackType](https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType)` `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`!>!>!` `)` Creates a composite[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader). |
| [SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)`!` | ~~[createCompositeSequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#createCompositeSequenceableLoader(androidx.media3.exoplayer.source.SequenceableLoader...))~~`(loaders: `[Array](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html)`<`[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)`!>!)` **This function is deprecated.** Use[empty](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#empty())for an empty composite loader, or[create](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#create(java.util.List<? extends androidx.media3.exoplayer.source.SequenceableLoader>,java.util.List<java.util.List<java.lang.Integer>>))for a non-empty one. <br />                                                                                                                                                                                                                                                                                                                                                                                                   |
| [SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)`!` | [empty](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#empty())`()` Returns an empty composite[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader), with no delegate loaders.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

## Public functions

### create

```
fun create(
    loaders: (Mutable)List<SequenceableLoader!>!,
    loaderTrackTypes: (Mutable)List<(Mutable)List<@C.TrackType Int!>!>!
): SequenceableLoader!
```

Creates a composite[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader).  

|                                                                                                                                                                                                                                                                                                     Parameters                                                                                                                                                                                                                                                                                                     |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `loaders: (`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)`!>!`                                                                                                                                                                                                                                                                       | The sub-loaders that make up the[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)to be built. |
| `loaderTrackTypes: (`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<(`[Mutable](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)`)`[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<@`[C.TrackType](https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType)` `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`!>!>!` | The track types handled by each entry in`loaders`. Must be the same as`loaders`.                                                                                     |

|                                                           Returns                                                           |
|-----------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)`!` | A composite[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader)that comprises the given loaders. |

### createCompositeSequenceableLoader

```
fun [createCompositeSequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#createCompositeSequenceableLoader(androidx.media3.exoplayer.source.SequenceableLoader...))(loaders: Array<SequenceableLoader!>!): SequenceableLoader!
```
| **This function is deprecated.**   
|
Use[empty](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#empty())for an empty composite loader, or[create](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/CompositeSequenceableLoaderFactory#create(java.util.List<? extends androidx.media3.exoplayer.source.SequenceableLoader>,java.util.List<java.util.List<java.lang.Integer>>))for a non-empty one.  

### empty

```
fun empty(): SequenceableLoader!
```

Returns an empty composite[SequenceableLoader](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/SequenceableLoader), with no delegate loaders.