library/core/src/main/java/com/google/android/exoplayer2/trackselection/TrackSelection.java
/**
     * Creates track selections for the provided {@link Definition Definitions}.
     *
     * <p>Implementations that create at most one adaptive track selection may use {@link
     * TrackSelectionUtil#createTrackSelectionsForDefinitions}.
     *
     * @param definitions A {@link Definition} array. May include null values.
     * @param bandwidthMeter A {@link BandwidthMeter} which can be used to select tracks.
     * @param mediaPeriodId The {@link MediaPeriodId} of the period for which tracks are to be
     *     selected.
     * @param timeline The {@link Timeline} holding the period for which tracks are to be selected.
     * @return The created selections. Must have the same length as {@code definitions} and may
     *     include null values.
     */
Creates track selections for the provided  Definition Definitions.
Implementations that create at most one adaptive track selection may use {@link
TrackSelectionUtil#createTrackSelectionsForDefinitions}.

@param definitions A  Definition array. May include null values.
@param bandwidthMeter A  BandwidthMeter which can be used to select tracks.
@param mediaPeriodId The  MediaPeriodId of the period for which tracks are to be
selected.
@param timeline The  Timeline holding the period for which tracks are to be selected.
@return The created selections. Must have the same length as  definitions and may
include null values.
Creates track selections for the provided Definition Definitions . Implementations that create at most one adaptive track selection may use { @link TrackSelectionUtil#createTrackSelectionsForDefinitions } . @param definitions A Definition array . May include null values . @param bandwidthMeter A BandwidthMeter which can be used to select tracks . @param mediaPeriodId The MediaPeriodId of the period for which tracks are to be selected . @param timeline The Timeline holding the period for which tracks are to be selected . @return The created selections . Must have the same length as definitions and may include null values .
@NullableType
    TrackSelection[] createTrackSelections(
        @NullableType Definition[] definitions,
        BandwidthMeter bandwidthMeter,
        MediaPeriodId mediaPeriodId,
        Timeline timeline);
@ NullableType TrackSelection [ ] createTrackSelections ( @ NullableType Definition [ ] definitions , BandwidthMeter bandwidthMeter , MediaPeriodId mediaPeriodId , Timeline timeline ) ;
Creates track selections for the provided {@link Definition Definitions}.
Creates track selections for the provided { @link Definition Definitions } .