Remove TrackSelection.Factory from SelectionOverride

Issue: #3915

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=193045534
This commit is contained in:
olly 2018-04-16 08:46:22 -07:00 committed by Oliver Woodman
parent e99b8802eb
commit fec7d32836
4 changed files with 16 additions and 38 deletions

View File

@ -361,7 +361,7 @@ public class PlayerActivity extends Activity
new DefaultRenderersFactory(this, extensionRendererMode); new DefaultRenderersFactory(this, extensionRendererMode);
trackSelector = new DefaultTrackSelector(trackSelectionFactory); trackSelector = new DefaultTrackSelector(trackSelectionFactory);
trackSelectionHelper = new TrackSelectionHelper(trackSelector, trackSelectionFactory); trackSelectionHelper = new TrackSelectionHelper(trackSelector);
lastSeenTrackGroupArray = null; lastSeenTrackGroupArray = null;
player = player =

View File

@ -32,7 +32,6 @@ import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride;
import com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo; import com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo;
import com.google.android.exoplayer2.trackselection.TrackSelection;
import java.util.Arrays; import java.util.Arrays;
/** /**
@ -42,7 +41,6 @@ import java.util.Arrays;
DialogInterface.OnClickListener { DialogInterface.OnClickListener {
private final DefaultTrackSelector selector; private final DefaultTrackSelector selector;
private final TrackSelection.Factory trackSelectionFactory;
private MappedTrackInfo trackInfo; private MappedTrackInfo trackInfo;
private int rendererIndex; private int rendererIndex;
@ -55,14 +53,9 @@ import java.util.Arrays;
private CheckedTextView defaultView; private CheckedTextView defaultView;
private CheckedTextView[][] trackViews; private CheckedTextView[][] trackViews;
/** /** @param selector The track selector. */
* @param selector The track selector. public TrackSelectionHelper(DefaultTrackSelector selector) {
* @param trackSelectionFactory A factory for overriding {@link TrackSelection}s.
*/
public TrackSelectionHelper(
DefaultTrackSelector selector, TrackSelection.Factory trackSelectionFactory) {
this.selector = selector; this.selector = selector;
this.trackSelectionFactory = trackSelectionFactory;
} }
/** /**
@ -228,7 +221,7 @@ import java.util.Arrays;
} }
private void setOverride(int group, int... tracks) { private void setOverride(int group, int... tracks) {
override = new SelectionOverride(trackSelectionFactory, group, tracks); override = new SelectionOverride(group, tracks);
} }
// Track array manipulation. // Track array manipulation.

View File

@ -632,33 +632,20 @@ public class DefaultTrackSelector extends MappingTrackSelector {
/** A track selection override. */ /** A track selection override. */
public static class SelectionOverride { public static class SelectionOverride {
public final TrackSelection.Factory factory;
public final int groupIndex; public final int groupIndex;
public final int[] tracks; public final int[] tracks;
public final int length; public final int length;
/** /**
* @param factory A factory for creating selections from this override.
* @param groupIndex The overriding track group index. * @param groupIndex The overriding track group index.
* @param tracks The overriding track indices within the track group. * @param tracks The overriding track indices within the track group.
*/ */
public SelectionOverride(TrackSelection.Factory factory, int groupIndex, int... tracks) { public SelectionOverride(int groupIndex, int... tracks) {
this.factory = factory;
this.groupIndex = groupIndex; this.groupIndex = groupIndex;
this.tracks = tracks; this.tracks = tracks;
this.length = tracks.length; this.length = tracks.length;
} }
/**
* Creates an selection from this override.
*
* @param groups The track groups whose selection is being overridden.
* @return The selection.
*/
public TrackSelection createTrackSelection(TrackGroupArray groups) {
return factory.createTrackSelection(groups.get(groupIndex), tracks);
}
/** Returns whether this override contains the specified track index. */ /** Returns whether this override contains the specified track index. */
public boolean containsTrack(int track) { public boolean containsTrack(int track) {
for (int overrideTrack : tracks) { for (int overrideTrack : tracks) {
@ -905,8 +892,17 @@ public class DefaultTrackSelector extends MappingTrackSelector {
TrackGroupArray rendererTrackGroup = mappedTrackInfo.getTrackGroups(i); TrackGroupArray rendererTrackGroup = mappedTrackInfo.getTrackGroups(i);
if (hasSelectionOverride(i, rendererTrackGroup)) { if (hasSelectionOverride(i, rendererTrackGroup)) {
SelectionOverride override = selectionOverrides.get(i).get(rendererTrackGroup); SelectionOverride override = selectionOverrides.get(i).get(rendererTrackGroup);
rendererTrackSelections[i] = if (override == null) {
override == null ? null : override.createTrackSelection(rendererTrackGroup); rendererTrackSelections[i] = null;
} else if (override.length == 1) {
rendererTrackSelections[i] =
new FixedTrackSelection(
rendererTrackGroup.get(override.groupIndex), override.tracks[0]);
} else {
rendererTrackSelections[i] =
adaptiveTrackSelectionFactory.createTrackSelection(
rendererTrackGroup.get(override.groupIndex), override.tracks);
}
} }
} }
} }

View File

@ -264,17 +264,6 @@ public abstract class MappingTrackSelector extends TrackSelector {
} }
// TODO: Make DefaultTrackSelector.SelectionOverride final when this is removed.
/** @deprecated Use {@link DefaultTrackSelector.SelectionOverride} */
@Deprecated
public static final class SelectionOverride extends DefaultTrackSelector.SelectionOverride {
public SelectionOverride(TrackSelection.Factory factory, int groupIndex, int... tracks) {
super(factory, groupIndex, tracks);
}
}
private MappedTrackInfo currentMappedTrackInfo; private MappedTrackInfo currentMappedTrackInfo;
/** /**