Class TrackSelectionParameters

  • All Implemented Interfaces:
    Bundleable
    Direct Known Subclasses:
    DefaultTrackSelector.Parameters

    public class TrackSelectionParameters
    extends Object
    implements Bundleable
    Parameters for controlling track selection.

    Parameters can be queried and set on a Player. For example the following code modifies the parameters to restrict video track selections to SD, and to select a German audio track if there is one:

    
     // Build on the current parameters.
     TrackSelectionParameters currentParameters = player.getTrackSelectionParameters()
     // Build the resulting parameters.
     TrackSelectionParameters newParameters = currentParameters
         .buildUpon()
         .setMaxVideoSizeSd()
         .setPreferredAudioLanguage("deu")
         .build();
     // Set the new parameters.
     player.setTrackSelectionParameters(newParameters);
     
    • Field Detail

      • maxVideoWidth

        public final int maxVideoWidth
        Maximum allowed video width in pixels. The default value is Integer.MAX_VALUE (i.e. no constraint).

        To constrain adaptive video track selections to be suitable for a given viewport (the region of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.

      • maxVideoHeight

        public final int maxVideoHeight
        Maximum allowed video height in pixels. The default value is Integer.MAX_VALUE (i.e. no constraint).

        To constrain adaptive video track selections to be suitable for a given viewport (the region of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.

      • maxVideoFrameRate

        public final int maxVideoFrameRate
        Maximum allowed video frame rate in hertz. The default value is Integer.MAX_VALUE (i.e. no constraint).
      • maxVideoBitrate

        public final int maxVideoBitrate
        Maximum allowed video bitrate in bits per second. The default value is Integer.MAX_VALUE (i.e. no constraint).
      • minVideoWidth

        public final int minVideoWidth
        Minimum allowed video width in pixels. The default value is 0 (i.e. no constraint).
      • minVideoHeight

        public final int minVideoHeight
        Minimum allowed video height in pixels. The default value is 0 (i.e. no constraint).
      • minVideoFrameRate

        public final int minVideoFrameRate
        Minimum allowed video frame rate in hertz. The default value is 0 (i.e. no constraint).
      • minVideoBitrate

        public final int minVideoBitrate
        Minimum allowed video bitrate in bits per second. The default value is 0 (i.e. no constraint).
      • viewportWidth

        public final int viewportWidth
        Viewport width in pixels. Constrains video track selections for adaptive content so that only tracks suitable for the viewport are selected. The default value is the physical width of the primary display, in pixels.
      • viewportHeight

        public final int viewportHeight
        Viewport height in pixels. Constrains video track selections for adaptive content so that only tracks suitable for the viewport are selected. The default value is the physical height of the primary display, in pixels.
      • viewportOrientationMayChange

        public final boolean viewportOrientationMayChange
        Whether the viewport orientation may change during playback. Constrains video track selections for adaptive content so that only tracks suitable for the viewport are selected. The default value is true.
      • preferredVideoMimeTypes

        public final ImmutableList<String> preferredVideoMimeTypes
        The preferred sample MIME types for video tracks in order of preference, or an empty list for no preference. The default is an empty list.
      • preferredVideoRoleFlags

        @RoleFlags
        public final @com.google.android.exoplayer2.C.RoleFlags int preferredVideoRoleFlags
        The preferred C.RoleFlags for video tracks. 0 selects the default track if there is one, or the first track if there's no default. The default value is 0.
      • preferredAudioLanguages

        public final ImmutableList<String> preferredAudioLanguages
        The preferred languages for audio and forced text tracks as IETF BCP 47 conformant tags in order of preference. An empty list selects the default track, or the first track if there's no default. The default value is an empty list.
      • preferredAudioRoleFlags

        @RoleFlags
        public final @com.google.android.exoplayer2.C.RoleFlags int preferredAudioRoleFlags
        The preferred C.RoleFlags for audio tracks. 0 selects the default track if there is one, or the first track if there's no default. The default value is 0.
      • maxAudioChannelCount

        public final int maxAudioChannelCount
        Maximum allowed audio channel count. The default value is Integer.MAX_VALUE (i.e. no constraint).
      • maxAudioBitrate

        public final int maxAudioBitrate
        Maximum allowed audio bitrate in bits per second. The default value is Integer.MAX_VALUE (i.e. no constraint).
      • preferredAudioMimeTypes

        public final ImmutableList<String> preferredAudioMimeTypes
        The preferred sample MIME types for audio tracks in order of preference, or an empty list for no preference. The default is an empty list.
      • preferredTextLanguages

        public final ImmutableList<String> preferredTextLanguages
        The preferred languages for text tracks as IETF BCP 47 conformant tags in order of preference. An empty list selects the default track if there is one, or no track otherwise. The default value is an empty list, or the language of the accessibility CaptioningManager if enabled.
      • ignoredTextSelectionFlags

        @SelectionFlags
        public final @com.google.android.exoplayer2.C.SelectionFlags int ignoredTextSelectionFlags
        Bitmask of selection flags that are ignored for text track selections. See C.SelectionFlags. The default value is 0 (i.e., no flags are ignored).
      • selectUndeterminedTextLanguage

        public final boolean selectUndeterminedTextLanguage
        Whether a text track with undetermined language should be selected if no track with preferredTextLanguages is available, or if preferredTextLanguages is unset. The default value is false.
      • forceLowestBitrate

        public final boolean forceLowestBitrate
        Whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints. The default value is false.
      • forceHighestSupportedBitrate

        public final boolean forceHighestSupportedBitrate
        Whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints. The default value is false.
      • disabledTrackTypes

        public final ImmutableSet<@TrackType Integer> disabledTrackTypes
        The track types that are disabled. No track of a disabled type will be selected, thus no track type contained in the set will be played. The default value is that no track type is disabled (empty set).
      • FIELD_CUSTOM_ID_BASE

        protected static final int FIELD_CUSTOM_ID_BASE
        Defines a minimum field ID value for subclasses to use when implementing toBundle() and Bundleable.Creator.

        Subclasses should obtain keys for their Bundle representation by applying a non-negative offset on this constant and passing the result to keyForField(int).

        See Also:
        Constant Field Values