Package com.google.android.exoplayer2.source.hls.playlist

## Class HlsMasterPlaylist.Variant

- java.lang.Object
- - com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant

- Enclosing class:
    HlsMasterPlaylist

      public static final class HlsMasterPlaylist.Variant
      extends Object

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

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `String` | `audioGroupId` | The audio rendition group referenced by this variant, or `null`.
    `String` | `captionGroupId` | The caption rendition group referenced by this variant, or `null`.
    `Format` | `format` | Format information associated with this variant.
    `String` | `subtitleGroupId` | The subtitle rendition group referenced by this variant, or `null`.
    `Uri` | `url` | The variant's url.
    `String` | `videoGroupId` | The video rendition group referenced by this variant, or `null`.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Variant​(Uri url, Format format, String videoGroupId, String audioGroupId, String subtitleGroupId, String captionGroupId)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `HlsMasterPlaylist.Variant` | `copyWithFormat​(Format format)` | Returns a copy of this instance with the given `Format`.
    `static HlsMasterPlaylist.Variant` | `createMediaPlaylistVariantUrl​(Uri url)` | Creates a variant for a given media playlist url.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### url

          public final Uri url

      The variant's url.

    - #### format

          public final Format format

      Format information associated with this variant.

    - #### videoGroupId

          @Nullable
          public final String videoGroupId

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

    - #### audioGroupId

          @Nullable
          public final String audioGroupId

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

    - #### subtitleGroupId

          @Nullable
          public final String subtitleGroupId

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

    - #### captionGroupId

          @Nullable
          public final String captionGroupId

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

  - ### Constructor Detail

    - #### Variant

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

      Parameters:
        `url` - See `url`.
        `format` - See `format`.
        `videoGroupId` - See `videoGroupId`.
        `audioGroupId` - See `audioGroupId`.
        `subtitleGroupId` - See `subtitleGroupId`.
        `captionGroupId` - See `captionGroupId`.

  - ### Method Detail

    - #### createMediaPlaylistVariantUrl

          public static HlsMasterPlaylist.Variant createMediaPlaylistVariantUrl​(Uri url)

      Creates a variant for a given media playlist url.
      Parameters:
        `url` - The media playlist url.
      Returns:
        The variant instance.

    - #### copyWithFormat

          public HlsMasterPlaylist.Variant copyWithFormat​(Format format)

      Returns a copy of this instance with the given `Format`.