# FilterableManifest

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

*** ** * ** ***


```
@UnstableApi
public interface FilterableManifest<T>
```

<br />

Known direct subclasses [DashManifest](https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest), [HlsPlaylist](https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylist), [SsManifest](https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest)

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/dash/manifest/DashManifest` | Represents a DASH media presentation description (mpd), as defined by ISO/IEC 23009-1:2014 Section 5.3.1.2. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsPlaylist` | Represents an HLS playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/smoothstreaming/manifest/SsManifest` | Represents a SmoothStreaming manifest. |

Known indirect subclasses [HlsMediaPlaylist](https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist), [HlsMultivariantPlaylist](https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist)

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist` | Represents an HLS media playlist. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist` | Represents an HLS multivariant playlist. |

*** ** * ** ***

A manifest that can generate copies of itself including only the streams specified by the given keys.

| Parameters |
|---|---|
| `<T>` | The manifest type. |

## Summary

| ### Public methods |
|---|---|
| `abstract T` | `https://developer.android.com/reference/androidx/media3/exoplayer/offline/FilterableManifest#copy(java.util.List<androidx.media3.common.StreamKey>)(https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/StreamKey> streamKeys)` Returns a copy of the manifest including only the streams specified by the given keys. |

## Public methods

### copy

```
abstract T copy(List<StreamKey> streamKeys)
```

Returns a copy of the manifest including only the streams specified by the given keys. If the manifest is unchanged then the instance may return itself.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/StreamKey> streamKeys` | A non-empty list of stream keys. |

| Returns |
|---|---|
| `T` | The filtered manifest. |