Class TrackSelectionParameters
- java.lang.Object
-
- com.google.android.exoplayer2.trackselection.TrackSelectionParameters
-
- All Implemented Interfaces:
Bundleable
- Direct Known Subclasses:
DefaultTrackSelector.Parameters
public class TrackSelectionParameters extends Object implements Bundleable
Constraint parameters for track selection.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);
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTrackSelectionParameters.BuilderA builder forTrackSelectionParameters.-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.Bundleable
Bundleable.Creator<T extends Bundleable>
-
-
Field Summary
Fields Modifier and Type Field Description static Bundleable.Creator<TrackSelectionParameters>CREATORObject that can restoreTrackSelectionParametersfrom aBundle.static TrackSelectionParametersDEFAULTDeprecated.This instance is not configured usingContextconstraints.static TrackSelectionParametersDEFAULT_WITHOUT_CONTEXTAn instance with default values, except those obtained from theContext.ImmutableSet<@TrackType Integer>disabledTrackTypesThe track types that are disabled.booleanforceHighestSupportedBitrateWhether to force selection of the highest bitrate audio and video tracks that comply with all other constraints.booleanforceLowestBitrateWhether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints.intmaxAudioBitrateMaximum allowed audio bitrate in bits per second.intmaxAudioChannelCountMaximum allowed audio channel count.intmaxVideoBitrateMaximum allowed video bitrate in bits per second.intmaxVideoFrameRateMaximum allowed video frame rate in hertz.intmaxVideoHeightMaximum allowed video height in pixels.intmaxVideoWidthMaximum allowed video width in pixels.intminVideoBitrateMinimum allowed video bitrate in bits per second.intminVideoFrameRateMinimum allowed video frame rate in hertz.intminVideoHeightMinimum allowed video height in pixels.intminVideoWidthMinimum allowed video width in pixels.ImmutableList<String>preferredAudioLanguagesThe preferred languages for audio and forced text tracks as IETF BCP 47 conformant tags in order of preference.ImmutableList<String>preferredAudioMimeTypesThe preferred sample MIME types for audio tracks in order of preference, or an empty list for no preference.@com.google.android.exoplayer2.C.RoleFlags intpreferredAudioRoleFlagsThe preferredC.RoleFlagsfor audio tracks.ImmutableList<String>preferredTextLanguagesThe preferred languages for text tracks as IETF BCP 47 conformant tags in order of preference.@com.google.android.exoplayer2.C.RoleFlags intpreferredTextRoleFlagsThe preferredC.RoleFlagsfor text tracks.ImmutableList<String>preferredVideoMimeTypesThe preferred sample MIME types for video tracks in order of preference, or an empty list for no preference.booleanselectUndeterminedTextLanguageWhether a text track with undetermined language should be selected if no track withpreferredTextLanguagesis available, or ifpreferredTextLanguagesis unset.TrackSelectionOverridestrackSelectionOverridesOverrides to force tracks to be selected.intviewportHeightViewport height in pixels.booleanviewportOrientationMayChangeWhether the viewport orientation may change during playback.intviewportWidthViewport width in pixels.
-
Constructor Summary
Constructors Modifier Constructor Description protectedTrackSelectionParameters(TrackSelectionParameters.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TrackSelectionParameters.BuilderbuildUpon()Creates a newTrackSelectionParameters.Builder, copying the initial values from this instance.booleanequals(Object obj)static TrackSelectionParametersgetDefaults(Context context)Returns an instance configured with default values.inthashCode()BundletoBundle()Returns aBundlerepresenting the information stored in this object.
-
-
-
Field Detail
-
DEFAULT_WITHOUT_CONTEXT
public static final TrackSelectionParameters DEFAULT_WITHOUT_CONTEXT
An instance with default values, except those obtained from theContext.If possible, use
getDefaults(Context)instead.This instance will not have the following settings:
Viewport constraintsconfigured for the primary display.Preferred text language and role flagsconfigured to the accessibility settings ofCaptioningManager.
-
DEFAULT
@Deprecated public static final TrackSelectionParameters DEFAULT
Deprecated.This instance is not configured usingContextconstraints. UsegetDefaults(Context)instead.
-
maxVideoWidth
public final int maxVideoWidth
Maximum allowed video width in pixels. The default value isInteger.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,viewportHeightandviewportOrientationMayChange) instead.
-
maxVideoHeight
public final int maxVideoHeight
Maximum allowed video height in pixels. The default value isInteger.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,viewportHeightandviewportOrientationMayChange) instead.
-
maxVideoFrameRate
public final int maxVideoFrameRate
Maximum allowed video frame rate in hertz. The default value isInteger.MAX_VALUE(i.e. no constraint).
-
maxVideoBitrate
public final int maxVideoBitrate
Maximum allowed video bitrate in bits per second. The default value isInteger.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 istrue.
-
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.
-
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 preferredC.RoleFlagsfor audio tracks.0selects the default track if there is one, or the first track if there's no default. The default value is0.
-
maxAudioChannelCount
public final int maxAudioChannelCount
Maximum allowed audio channel count. The default value isInteger.MAX_VALUE(i.e. no constraint).
-
maxAudioBitrate
public final int maxAudioBitrate
Maximum allowed audio bitrate in bits per second. The default value isInteger.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 accessibilityCaptioningManagerif enabled.
-
preferredTextRoleFlags
@RoleFlags public final @com.google.android.exoplayer2.C.RoleFlags int preferredTextRoleFlags
The preferredC.RoleFlagsfor text tracks.0selects the default track if there is one, or no track otherwise. The default value is0, orC.ROLE_FLAG_SUBTITLE|C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUNDif the accessibilityCaptioningManageris enabled.
-
selectUndeterminedTextLanguage
public final boolean selectUndeterminedTextLanguage
Whether a text track with undetermined language should be selected if no track withpreferredTextLanguagesis available, or ifpreferredTextLanguagesis unset. The default value isfalse.
-
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 isfalse.
-
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 isfalse.
-
trackSelectionOverrides
public final TrackSelectionOverrides trackSelectionOverrides
Overrides to force tracks to be selected.
-
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).
-
CREATOR
public static final Bundleable.Creator<TrackSelectionParameters> CREATOR
Object that can restoreTrackSelectionParametersfrom aBundle.
-
-
Constructor Detail
-
TrackSelectionParameters
protected TrackSelectionParameters(TrackSelectionParameters.Builder builder)
-
-
Method Detail
-
getDefaults
public static TrackSelectionParameters getDefaults(Context context)
Returns an instance configured with default values.
-
buildUpon
public TrackSelectionParameters.Builder buildUpon()
Creates a newTrackSelectionParameters.Builder, copying the initial values from this instance.
-
toBundle
public Bundle toBundle()
Description copied from interface:BundleableReturns aBundlerepresenting the information stored in this object.- Specified by:
toBundlein interfaceBundleable
-
-