Class DefaultTrackTypeProvider


  • public class DefaultTrackTypeProvider
    extends TrackTypeProvider
    Default implementation of TrackTypeProvider with the video tracks separated according to the following video resolutions: SD, HD or UHD.
    Since:
    4.0.7
    • Constructor Detail

      • DefaultTrackTypeProvider

        public DefaultTrackTypeProvider()
        Default pixel values are specified as: HD = 1280x720 FHD = 1920x1080 UHD = 3840x2160
      • DefaultTrackTypeProvider

        public DefaultTrackTypeProvider​(@NonNull
                                        Point hdMinPx,
                                        @NonNull
                                        Point fhdMinPx,
                                        @NonNull
                                        Point uhdMinPx)
        Specify pixels for each resolution type: HD, FHD and UHD. Some values can be equal for instance if HD and FHD are both specified as 1920 then 720 rendition is considered FHD and will not be merged with adaptation having 1920 renditions.
        Parameters:
        hdMinPx - HD min pixels
        fhdMinPx - FHD min pixels
        uhdMinPx - UHD min pixels
    • Method Detail

      • getTrackType

        public int getTrackType​(@NonNull
                                com.google.android.exoplayer2.Format format)
        Description copied from class: TrackTypeProvider
        Defines the type of the track with the provided format. The type itself could be defined as one of the int bits set.
        Specified by:
        getTrackType in class TrackTypeProvider
        Parameters:
        format - The track format
        Returns:
        The track type or TrackTypeProvider.TYPE_UNDEFINED
      • getTrackTypeWeight

        public float getTrackTypeWeight​(int type)
        Description copied from class: TrackTypeProvider
        Defines the weight of the provided track. The value should be normalized to 0f .. 1.0f
        Specified by:
        getTrackTypeWeight in class TrackTypeProvider
        Parameters:
        type - The track or track group type
        Returns:
        The normalized to 0f .. 1.0f weight
      • getGroupType

        public int getGroupType​(int type1,
                                int type2)
        Description copied from class: TrackTypeProvider
        Gets the track group type by provided track or track group types. In case the track types are defined as bit-sets then the implementation here would be just logical OR of the track group and track types.
        Specified by:
        getGroupType in class TrackTypeProvider
        Parameters:
        type1 - The track or track group type one
        type2 - The track or track group type two
        Returns:
        The track group type
      • typesOverlap

        public boolean typesOverlap​(int type1,
                                    int type2)
        Description copied from class: TrackTypeProvider
        Returns true if the types overlap otherwise false. In case the track types are defined as bit-sets then the implementation here would be just logical AND of the track group and track types.
        Specified by:
        typesOverlap in class TrackTypeProvider
        Parameters:
        type1 - The track or track group type one
        type2 - The track or track group type two
        Returns:
        True if the types overlap otherwise false