Class TrackGroup

  • All Implemented Interfaces:
    Bundleable

    public final class TrackGroup
    extends Object
    implements Bundleable
    Defines an immutable group of tracks identified by their format identity.
    • Field Detail

      • length

        public final int length
        The number of tracks in the group.
    • Constructor Detail

      • TrackGroup

        public TrackGroup​(Format... formats)
        Constructs an instance TrackGroup containing the provided formats.
        Parameters:
        formats - Non empty array of format.
    • Method Detail

      • getFormat

        public Format getFormat​(int index)
        Returns the format of the track at a given index.
        Parameters:
        index - The index of the track.
        Returns:
        The track's format.
      • indexOf

        public int indexOf​(Format format)
        Returns the index of the track with the given format in the group. The format is located by identity so, for example, group.indexOf(group.getFormat(index)) == index even if multiple tracks have formats that contain the same values.
        Parameters:
        format - The format.
        Returns:
        The index of the track, or C.INDEX_UNSET if no such track exists.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public boolean equals​(@Nullable
                              Object obj)
        Overrides:
        equals in class Object
      • toBundle

        public Bundle toBundle()
        Description copied from interface: Bundleable
        Returns a Bundle representing the information stored in this object.
        Specified by:
        toBundle in interface Bundleable