# HlsMultivariantPlaylist.Variant

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

*** ** * ** ***


```
public final class HlsMultivariantPlaylist.Variant
```

<br />

*** ** * ** ***

A variant (i.e. an #EXT-X-STREAM-INF tag) in a multivariant playlist.

## Summary

| ### Public fields |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#audioGroupId()` The audio rendition group referenced by this variant, or `null`. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#captionGroupId()` The caption rendition group referenced by this variant, or `null`. |
| `final https://developer.android.com/reference/androidx/media3/common/Format` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#format()` Format information associated with this variant. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#pathwayId()` The identifier of the pathway that this variant belongs, or `null`. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#stableVariantId()` The stable identifier for this variant, or `null`. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#subtitleGroupId()` The subtitle rendition group referenced by this variant, or `null`. |
| `final https://developer.android.com/reference/android/net/Uri.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#url()` The variant's url. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#videoGroupId()` The video rendition group referenced by this variant, or `null`. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#Variant(android.net.Uri,androidx.media3.common.Format,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)( https://developer.android.com/reference/android/net/Uri.html url, https://developer.android.com/reference/androidx/media3/common/Format format, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html videoGroupId, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html audioGroupId, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html subtitleGroupId, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html captionGroupId, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html pathwayId, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html stableVariantId )` |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#copyWithFormat(androidx.media3.common.Format)(https://developer.android.com/reference/androidx/media3/common/Format format)` Returns a copy of this instance with the given `https://developer.android.com/reference/androidx/media3/common/Format`. |
| `static https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#createMediaPlaylistVariantUrl(android.net.Uri)(https://developer.android.com/reference/android/net/Uri.html url)` Creates a variant for a given media playlist url. |

## Public fields

### audioGroupId

```
public final @Nullable String audioGroupId
```

The audio rendition group referenced by this variant, or `null`.

### captionGroupId

```
public final @Nullable String captionGroupId
```

The caption rendition group referenced by this variant, or `null`.

### format

```
public final Format format
```

Format information associated with this variant.

### pathwayId

```
public final @Nullable String pathwayId
```

The identifier of the pathway that this variant belongs, or `null`.

### stableVariantId

```
public final @Nullable String stableVariantId
```

The stable identifier for this variant, or `null`.

### subtitleGroupId

```
public final @Nullable String subtitleGroupId
```

The subtitle rendition group referenced by this variant, or `null`.

### url

```
public final Uri url
```

The variant's url.

### videoGroupId

```
public final @Nullable String videoGroupId
```

The video rendition group referenced by this variant, or `null`.

## Public constructors

### Variant

```
public Variant(
    Uri url,
    Format format,
    @Nullable String videoGroupId,
    @Nullable String audioGroupId,
    @Nullable String subtitleGroupId,
    @Nullable String captionGroupId,
    @Nullable String pathwayId,
    @Nullable String stableVariantId
)
```

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/net/Uri.html url` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#url()`. |
| `https://developer.android.com/reference/androidx/media3/common/Format format` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#format()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html videoGroupId` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#videoGroupId()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html audioGroupId` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#audioGroupId()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html subtitleGroupId` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#subtitleGroupId()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html captionGroupId` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#captionGroupId()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html pathwayId` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#pathwayId()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html stableVariantId` | See `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant#stableVariantId()`. |

## Public methods

### copyWithFormat

```
public HlsMultivariantPlaylist.Variant copyWithFormat(Format format)
```

Returns a copy of this instance with the given `https://developer.android.com/reference/androidx/media3/common/Format`.

### createMediaPlaylistVariantUrl

```
public static HlsMultivariantPlaylist.Variant createMediaPlaylistVariantUrl(Uri url)
```

Creates a variant for a given media playlist url.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/net/Uri.html url` | The media playlist url. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.Variant` | The variant instance. |