Commit 7bfde6a5 by Corentin Zuber

Fix comments

parent 50582417
...@@ -654,7 +654,7 @@ public final class DownloadHelper { ...@@ -654,7 +654,7 @@ public final class DownloadHelper {
} }
} }
for (String language : languages) { for (String language : languages) {
parametersBuilder.setPreferredAudioLanguage(language); parametersBuilder.setPreferredAudioLanguages(language);
addTrackSelection(periodIndex, parametersBuilder.build()); addTrackSelection(periodIndex, parametersBuilder.build());
} }
} }
...@@ -685,7 +685,7 @@ public final class DownloadHelper { ...@@ -685,7 +685,7 @@ public final class DownloadHelper {
} }
parametersBuilder.setSelectUndeterminedTextLanguage(selectUndeterminedTextLanguage); parametersBuilder.setSelectUndeterminedTextLanguage(selectUndeterminedTextLanguage);
for (String language : languages) { for (String language : languages) {
parametersBuilder.setPreferredTextLanguage(language); parametersBuilder.setPreferredTextLanguages(language);
addTrackSelection(periodIndex, parametersBuilder.build()); addTrackSelection(periodIndex, parametersBuilder.build());
} }
} }
......
...@@ -39,6 +39,7 @@ import com.google.android.exoplayer2.source.TrackGroupArray; ...@@ -39,6 +39,7 @@ import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import com.google.common.collect.ComparisonChain; import com.google.common.collect.ComparisonChain;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Ordering; import com.google.common.collect.Ordering;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -445,14 +446,8 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -445,14 +446,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
// Audio // Audio
@Override @Override
public ParametersBuilder setPreferredAudioLanguage(@Nullable String preferredAudioLanguage) { public ParametersBuilder setPreferredAudioLanguages(@Nullable String... preferredAudioLanguages) {
super.setPreferredAudioLanguage(preferredAudioLanguage); super.setPreferredAudioLanguages(preferredAudioLanguages);
return this;
}
@Override
public ParametersBuilder setPreferredAudioLanguage(String[] preferredAudioLanguage) {
super.setPreferredAudioLanguage(preferredAudioLanguage);
return this; return this;
} }
...@@ -547,8 +542,8 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -547,8 +542,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
} }
@Override @Override
public ParametersBuilder setPreferredTextLanguage(@Nullable String preferredTextLanguage) { public ParametersBuilder setPreferredTextLanguages(@Nullable String... preferredTextLanguages) {
super.setPreferredTextLanguage(preferredTextLanguage); super.setPreferredTextLanguages(preferredTextLanguages);
return this; return this;
} }
...@@ -773,7 +768,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -773,7 +768,7 @@ public class DefaultTrackSelector extends MappingTrackSelector {
viewportHeight, viewportHeight,
viewportOrientationMayChange, viewportOrientationMayChange,
// Audio // Audio
preferredAudioLanguage, preferredAudioLanguages,
maxAudioChannelCount, maxAudioChannelCount,
maxAudioBitrate, maxAudioBitrate,
exceedAudioConstraintsIfNecessary, exceedAudioConstraintsIfNecessary,
...@@ -781,7 +776,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -781,7 +776,7 @@ public class DefaultTrackSelector extends MappingTrackSelector {
allowAudioMixedSampleRateAdaptiveness, allowAudioMixedSampleRateAdaptiveness,
allowAudioMixedChannelCountAdaptiveness, allowAudioMixedChannelCountAdaptiveness,
// Text // Text
preferredTextLanguage, preferredTextLanguages,
preferredTextRoleFlags, preferredTextRoleFlags,
selectUndeterminedTextLanguage, selectUndeterminedTextLanguage,
disabledTextTrackSelectionFlags, disabledTextTrackSelectionFlags,
...@@ -1021,7 +1016,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -1021,7 +1016,7 @@ public class DefaultTrackSelector extends MappingTrackSelector {
int viewportHeight, int viewportHeight,
boolean viewportOrientationMayChange, boolean viewportOrientationMayChange,
// Audio // Audio
String[] preferredAudioLanguage, ImmutableList<String> preferredAudioLanguage,
int maxAudioChannelCount, int maxAudioChannelCount,
int maxAudioBitrate, int maxAudioBitrate,
boolean exceedAudioConstraintsIfNecessary, boolean exceedAudioConstraintsIfNecessary,
...@@ -1029,7 +1024,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -1029,7 +1024,7 @@ public class DefaultTrackSelector extends MappingTrackSelector {
boolean allowAudioMixedSampleRateAdaptiveness, boolean allowAudioMixedSampleRateAdaptiveness,
boolean allowAudioMixedChannelCountAdaptiveness, boolean allowAudioMixedChannelCountAdaptiveness,
// Text // Text
String[] preferredTextLanguage, ImmutableList<String> preferredTextLanguage,
@C.RoleFlags int preferredTextRoleFlags, @C.RoleFlags int preferredTextRoleFlags,
boolean selectUndeterminedTextLanguage, boolean selectUndeterminedTextLanguage,
@C.SelectionFlags int disabledTextTrackSelectionFlags, @C.SelectionFlags int disabledTextTrackSelectionFlags,
...@@ -2613,6 +2608,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -2613,6 +2608,7 @@ public class DefaultTrackSelector extends MappingTrackSelector {
private final Parameters parameters; private final Parameters parameters;
private final boolean isWithinRendererCapabilities; private final boolean isWithinRendererCapabilities;
private final int preferredLanguageScore; private final int preferredLanguageScore;
private final int preferredLanguageIndex;
private final int localeLanguageMatchIndex; private final int localeLanguageMatchIndex;
private final int localeLanguageScore; private final int localeLanguageScore;
private final boolean isDefaultSelectionFlag; private final boolean isDefaultSelectionFlag;
...@@ -2626,14 +2622,18 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -2626,14 +2622,18 @@ public class DefaultTrackSelector extends MappingTrackSelector {
isWithinRendererCapabilities = isWithinRendererCapabilities =
isSupported(formatSupport, /* allowExceedsCapabilities= */ false); isSupported(formatSupport, /* allowExceedsCapabilities= */ false);
int bestLanguageScore = 0; int bestLanguageScore = 0;
for (int i = 0; i < parameters.preferredAudioLanguage.length; i++) { int bestLanguageIndex = 0;
for (int i = 0; i < parameters.preferredAudioLanguages.size(); i++) {
int score = getFormatLanguageScore( int score = getFormatLanguageScore(
format, format,
parameters.preferredAudioLanguage[i], parameters.preferredAudioLanguages.get(i),
/* allowUndeterminedFormatLanguage= */ false); /* allowUndeterminedFormatLanguage= */ false);
score = 1000 * score + parameters.preferredAudioLanguage.length - i; // Priorise the first items in array if (score > 0) {
bestLanguageScore = Math.max(bestLanguageScore, score); bestLanguageIndex = i;
bestLanguageScore = score;
}
} }
preferredLanguageIndex = bestLanguageIndex;
preferredLanguageScore = bestLanguageScore; preferredLanguageScore = bestLanguageScore;
isDefaultSelectionFlag = (format.selectionFlags & C.SELECTION_FLAG_DEFAULT) != 0; isDefaultSelectionFlag = (format.selectionFlags & C.SELECTION_FLAG_DEFAULT) != 0;
channelCount = format.channelCount; channelCount = format.channelCount;
...@@ -2677,6 +2677,10 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -2677,6 +2677,10 @@ public class DefaultTrackSelector extends MappingTrackSelector {
: FORMAT_VALUE_ORDERING.reverse(); : FORMAT_VALUE_ORDERING.reverse();
return ComparisonChain.start() return ComparisonChain.start()
.compareFalseFirst(this.isWithinRendererCapabilities, other.isWithinRendererCapabilities) .compareFalseFirst(this.isWithinRendererCapabilities, other.isWithinRendererCapabilities)
.compare(
this.preferredLanguageIndex,
other.preferredLanguageIndex,
Ordering.natural().reverse())
.compare(this.preferredLanguageScore, other.preferredLanguageScore) .compare(this.preferredLanguageScore, other.preferredLanguageScore)
.compareFalseFirst(this.isWithinConstraints, other.isWithinConstraints) .compareFalseFirst(this.isWithinConstraints, other.isWithinConstraints)
.compare( .compare(
...@@ -2729,10 +2733,10 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -2729,10 +2733,10 @@ public class DefaultTrackSelector extends MappingTrackSelector {
isDefault = (maskedSelectionFlags & C.SELECTION_FLAG_DEFAULT) != 0; isDefault = (maskedSelectionFlags & C.SELECTION_FLAG_DEFAULT) != 0;
isForced = (maskedSelectionFlags & C.SELECTION_FLAG_FORCED) != 0; isForced = (maskedSelectionFlags & C.SELECTION_FLAG_FORCED) != 0;
int bestLanguageScore = 0; int bestLanguageScore = 0;
for (int i = 0; i < parameters.preferredTextLanguage.length; i++) { for (int i = 0; i < parameters.preferredTextLanguages.size(); i++) {
int score = getFormatLanguageScore( int score = getFormatLanguageScore(
format, parameters.preferredTextLanguage[i], parameters.selectUndeterminedTextLanguage); format, parameters.preferredTextLanguages.get(i), parameters.selectUndeterminedTextLanguage);
score = 1000 * score + parameters.preferredTextLanguage.length - i; // Priorise the first items in array score = 1000 * score + parameters.preferredTextLanguages.size() - i; // Priorise the first items in array
bestLanguageScore = Math.max(bestLanguageScore, score); bestLanguageScore = Math.max(bestLanguageScore, score);
} }
preferredLanguageScore = bestLanguageScore; preferredLanguageScore = bestLanguageScore;
...@@ -2746,7 +2750,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { ...@@ -2746,7 +2750,7 @@ public class DefaultTrackSelector extends MappingTrackSelector {
getFormatLanguageScore(format, selectedAudioLanguage, selectedAudioLanguageUndetermined); getFormatLanguageScore(format, selectedAudioLanguage, selectedAudioLanguageUndetermined);
isWithinConstraints = isWithinConstraints =
preferredLanguageScore > 0 preferredLanguageScore > 0
|| (parameters.preferredTextLanguage.length == 0 && preferredRoleFlagsScore > 0) || (parameters.preferredTextLanguages.size() == 0 && preferredRoleFlagsScore > 0)
|| isDefault || isDefault
|| (isForced && selectedAudioLanguageScore > 0); || (isForced && selectedAudioLanguageScore > 0);
} }
......
...@@ -251,8 +251,8 @@ public class DownloadHelperTest { ...@@ -251,8 +251,8 @@ public class DownloadHelperTest {
prepareDownloadHelper(downloadHelper); prepareDownloadHelper(downloadHelper);
DefaultTrackSelector.Parameters parameters = DefaultTrackSelector.Parameters parameters =
new DefaultTrackSelector.ParametersBuilder(ApplicationProvider.getApplicationContext()) new DefaultTrackSelector.ParametersBuilder(ApplicationProvider.getApplicationContext())
.setPreferredAudioLanguage("ZH") .setPreferredAudioLanguages("ZH")
.setPreferredTextLanguage("ZH") .setPreferredTextLanguages("ZH")
.setRendererDisabled(/* rendererIndex= */ 2, true) .setRendererDisabled(/* rendererIndex= */ 2, true)
.build(); .build();
...@@ -288,8 +288,8 @@ public class DownloadHelperTest { ...@@ -288,8 +288,8 @@ public class DownloadHelperTest {
// all video tracks to initial video single track selection. // all video tracks to initial video single track selection.
DefaultTrackSelector.Parameters parameters = DefaultTrackSelector.Parameters parameters =
new DefaultTrackSelector.ParametersBuilder(ApplicationProvider.getApplicationContext()) new DefaultTrackSelector.ParametersBuilder(ApplicationProvider.getApplicationContext())
.setPreferredAudioLanguage("ZH") .setPreferredAudioLanguages("ZH")
.setPreferredTextLanguage("US") .setPreferredTextLanguages("US")
.build(); .build();
// Add only to one period selection to verify second period selection is untouched. // Add only to one period selection to verify second period selection is untouched.
...@@ -392,8 +392,8 @@ public class DownloadHelperTest { ...@@ -392,8 +392,8 @@ public class DownloadHelperTest {
// also renderers without any track groups. // also renderers without any track groups.
DefaultTrackSelector.Parameters parameters = DefaultTrackSelector.Parameters parameters =
new DefaultTrackSelector.ParametersBuilder(ApplicationProvider.getApplicationContext()) new DefaultTrackSelector.ParametersBuilder(ApplicationProvider.getApplicationContext())
.setPreferredAudioLanguage("ZH") .setPreferredAudioLanguages("ZH")
.setPreferredTextLanguage("US") .setPreferredTextLanguages("US")
.build(); .build();
downloadHelper.addTrackSelection(/* periodIndex= */ 0, parameters); downloadHelper.addTrackSelection(/* periodIndex= */ 0, parameters);
byte[] data = new byte[10]; byte[] data = new byte[10];
......
...@@ -283,7 +283,7 @@ public final class DefaultTrackSelectorTest { ...@@ -283,7 +283,7 @@ public final class DefaultTrackSelectorTest {
*/ */
@Test @Test
public void setParameterWithNonDefaultParameterNotifyInvalidationListener() { public void setParameterWithNonDefaultParameterNotifyInvalidationListener() {
ParametersBuilder builder = defaultParameters.buildUpon().setPreferredAudioLanguage("eng"); ParametersBuilder builder = defaultParameters.buildUpon().setPreferredAudioLanguages("eng");
trackSelector.setParameters(builder); trackSelector.setParameters(builder);
verify(invalidationListener).onTrackSelectionsInvalidated(); verify(invalidationListener).onTrackSelectionsInvalidated();
} }
...@@ -295,7 +295,7 @@ public final class DefaultTrackSelectorTest { ...@@ -295,7 +295,7 @@ public final class DefaultTrackSelectorTest {
*/ */
@Test @Test
public void setParameterWithSameParametersDoesNotNotifyInvalidationListenerAgain() { public void setParameterWithSameParametersDoesNotNotifyInvalidationListenerAgain() {
ParametersBuilder builder = defaultParameters.buildUpon().setPreferredAudioLanguage("eng"); ParametersBuilder builder = defaultParameters.buildUpon().setPreferredAudioLanguages("eng");
trackSelector.setParameters(builder); trackSelector.setParameters(builder);
trackSelector.setParameters(builder); trackSelector.setParameters(builder);
verify(invalidationListener, times(1)).onTrackSelectionsInvalidated(); verify(invalidationListener, times(1)).onTrackSelectionsInvalidated();
...@@ -369,7 +369,7 @@ public final class DefaultTrackSelectorTest { ...@@ -369,7 +369,7 @@ public final class DefaultTrackSelectorTest {
Format enAudioFormat = formatBuilder.setLanguage("eng").build(); Format enAudioFormat = formatBuilder.setLanguage("eng").build();
TrackGroupArray trackGroups = wrapFormats(frAudioFormat, enAudioFormat); TrackGroupArray trackGroups = wrapFormats(frAudioFormat, enAudioFormat);
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("eng")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguages("eng"));
TrackSelectorResult result = TrackSelectorResult result =
trackSelector.selectTracks( trackSelector.selectTracks(
new RendererCapabilities[] {ALL_AUDIO_FORMAT_SUPPORTED_RENDERER_CAPABILITIES}, new RendererCapabilities[] {ALL_AUDIO_FORMAT_SUPPORTED_RENDERER_CAPABILITIES},
...@@ -391,7 +391,7 @@ public final class DefaultTrackSelectorTest { ...@@ -391,7 +391,7 @@ public final class DefaultTrackSelectorTest {
Format enNonDefaultFormat = formatBuilder.setLanguage("eng").setSelectionFlags(0).build(); Format enNonDefaultFormat = formatBuilder.setLanguage("eng").setSelectionFlags(0).build();
TrackGroupArray trackGroups = wrapFormats(frDefaultFormat, enNonDefaultFormat); TrackGroupArray trackGroups = wrapFormats(frDefaultFormat, enNonDefaultFormat);
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("eng")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguages("eng"));
TrackSelectorResult result = TrackSelectorResult result =
trackSelector.selectTracks( trackSelector.selectTracks(
new RendererCapabilities[] {ALL_AUDIO_FORMAT_SUPPORTED_RENDERER_CAPABILITIES}, new RendererCapabilities[] {ALL_AUDIO_FORMAT_SUPPORTED_RENDERER_CAPABILITIES},
...@@ -511,7 +511,7 @@ public final class DefaultTrackSelectorTest { ...@@ -511,7 +511,7 @@ public final class DefaultTrackSelectorTest {
RendererCapabilities mappedAudioRendererCapabilities = RendererCapabilities mappedAudioRendererCapabilities =
new FakeMappedRendererCapabilities(C.TRACK_TYPE_AUDIO, mappedCapabilities); new FakeMappedRendererCapabilities(C.TRACK_TYPE_AUDIO, mappedCapabilities);
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("eng")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguages("eng"));
TrackSelectorResult result = TrackSelectorResult result =
trackSelector.selectTracks( trackSelector.selectTracks(
new RendererCapabilities[] {mappedAudioRendererCapabilities}, new RendererCapabilities[] {mappedAudioRendererCapabilities},
...@@ -546,7 +546,7 @@ public final class DefaultTrackSelectorTest { ...@@ -546,7 +546,7 @@ public final class DefaultTrackSelectorTest {
RendererCapabilities mappedAudioRendererCapabilities = RendererCapabilities mappedAudioRendererCapabilities =
new FakeMappedRendererCapabilities(C.TRACK_TYPE_AUDIO, mappedCapabilities); new FakeMappedRendererCapabilities(C.TRACK_TYPE_AUDIO, mappedCapabilities);
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("eng")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguages("eng"));
TrackSelectorResult result = TrackSelectorResult result =
trackSelector.selectTracks( trackSelector.selectTracks(
new RendererCapabilities[] {mappedAudioRendererCapabilities}, new RendererCapabilities[] {mappedAudioRendererCapabilities},
...@@ -841,7 +841,7 @@ public final class DefaultTrackSelectorTest { ...@@ -841,7 +841,7 @@ public final class DefaultTrackSelectorTest {
// There is a preferred language, so a language-matching track flagged as default should // There is a preferred language, so a language-matching track flagged as default should
// be selected, and the one without forced flag should be preferred. // be selected, and the one without forced flag should be preferred.
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredTextLanguage("eng")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredTextLanguages("eng"));
result = trackSelector.selectTracks(textRendererCapabilities, trackGroups, periodId, TIMELINE); result = trackSelector.selectTracks(textRendererCapabilities, trackGroups, periodId, TIMELINE);
assertFixedSelection(result.selections.get(0), trackGroups, defaultOnly); assertFixedSelection(result.selections.get(0), trackGroups, defaultOnly);
...@@ -929,7 +929,7 @@ public final class DefaultTrackSelectorTest { ...@@ -929,7 +929,7 @@ public final class DefaultTrackSelectorTest {
result = trackSelector.selectTracks(textRendererCapabilites, trackGroups, periodId, TIMELINE); result = trackSelector.selectTracks(textRendererCapabilites, trackGroups, periodId, TIMELINE);
assertFixedSelection(result.selections.get(0), trackGroups, undeterminedUnd); assertFixedSelection(result.selections.get(0), trackGroups, undeterminedUnd);
ParametersBuilder builder = defaultParameters.buildUpon().setPreferredTextLanguage("spa"); ParametersBuilder builder = defaultParameters.buildUpon().setPreferredTextLanguages("spa");
trackSelector.setParameters(builder); trackSelector.setParameters(builder);
result = trackSelector.selectTracks(textRendererCapabilites, trackGroups, periodId, TIMELINE); result = trackSelector.selectTracks(textRendererCapabilites, trackGroups, periodId, TIMELINE);
assertFixedSelection(result.selections.get(0), trackGroups, spanish); assertFixedSelection(result.selections.get(0), trackGroups, spanish);
...@@ -984,13 +984,13 @@ public final class DefaultTrackSelectorTest { ...@@ -984,13 +984,13 @@ public final class DefaultTrackSelectorTest {
assertNoSelection(result.selections.get(1)); assertNoSelection(result.selections.get(1));
// Explicit language preference for english. First renderer should be used. // Explicit language preference for english. First renderer should be used.
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredTextLanguage("en")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredTextLanguages("en"));
result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE); result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE);
assertFixedSelection(result.selections.get(0), trackGroups, english); assertFixedSelection(result.selections.get(0), trackGroups, english);
assertNoSelection(result.selections.get(1)); assertNoSelection(result.selections.get(1));
// Explicit language preference for German. Second renderer should be used. // Explicit language preference for German. Second renderer should be used.
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredTextLanguage("de")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredTextLanguages("de"));
result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE); result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE);
assertNoSelection(result.selections.get(0)); assertNoSelection(result.selections.get(0));
assertFixedSelection(result.selections.get(1), trackGroups, german); assertFixedSelection(result.selections.get(1), trackGroups, german);
...@@ -1290,13 +1290,13 @@ public final class DefaultTrackSelectorTest { ...@@ -1290,13 +1290,13 @@ public final class DefaultTrackSelectorTest {
assertNoSelection(result.selections.get(1)); assertNoSelection(result.selections.get(1));
// Explicit language preference for english. First renderer should be used. // Explicit language preference for english. First renderer should be used.
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("en")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguages("en"));
result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE); result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE);
assertFixedSelection(result.selections.get(0), trackGroups, english); assertFixedSelection(result.selections.get(0), trackGroups, english);
assertNoSelection(result.selections.get(1)); assertNoSelection(result.selections.get(1));
// Explicit language preference for German. Second renderer should be used. // Explicit language preference for German. Second renderer should be used.
trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguage("de")); trackSelector.setParameters(defaultParameters.buildUpon().setPreferredAudioLanguages("de"));
result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE); result = trackSelector.selectTracks(rendererCapabilities, trackGroups, periodId, TIMELINE);
assertNoSelection(result.selections.get(0)); assertNoSelection(result.selections.get(0));
assertFixedSelection(result.selections.get(1), trackGroups, german); assertFixedSelection(result.selections.get(1), trackGroups, german);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment