mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Remove deprecated constructor from AdaptiveTrackSelection.Factory.
This constructor and the way of passing BandwdithMeter has long been deprecated now and can be removed. PiperOrigin-RevId: 320147888
This commit is contained in:
parent
b8e9f19b37
commit
8748646cb8
3 changed files with 13 additions and 127 deletions
|
|
@ -19,7 +19,6 @@ import androidx.annotation.CallSuper;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import com.google.android.exoplayer2.C;
|
import com.google.android.exoplayer2.C;
|
||||||
import com.google.android.exoplayer2.Format;
|
import com.google.android.exoplayer2.Format;
|
||||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
|
||||||
import com.google.android.exoplayer2.source.TrackGroup;
|
import com.google.android.exoplayer2.source.TrackGroup;
|
||||||
import com.google.android.exoplayer2.source.chunk.MediaChunk;
|
import com.google.android.exoplayer2.source.chunk.MediaChunk;
|
||||||
import com.google.android.exoplayer2.source.chunk.MediaChunkIterator;
|
import com.google.android.exoplayer2.source.chunk.MediaChunkIterator;
|
||||||
|
|
@ -41,7 +40,6 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
|
||||||
/** Factory for {@link AdaptiveTrackSelection} instances. */
|
/** Factory for {@link AdaptiveTrackSelection} instances. */
|
||||||
public static class Factory implements TrackSelection.Factory {
|
public static class Factory implements TrackSelection.Factory {
|
||||||
|
|
||||||
@Nullable private final BandwidthMeter bandwidthMeter;
|
|
||||||
private final int minDurationForQualityIncreaseMs;
|
private final int minDurationForQualityIncreaseMs;
|
||||||
private final int maxDurationForQualityDecreaseMs;
|
private final int maxDurationForQualityDecreaseMs;
|
||||||
private final int minDurationToRetainAfterDiscardMs;
|
private final int minDurationToRetainAfterDiscardMs;
|
||||||
|
|
@ -60,23 +58,6 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
|
||||||
Clock.DEFAULT);
|
Clock.DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #Factory()} instead. Custom bandwidth meter should be directly passed
|
|
||||||
* to the player in {@link SimpleExoPlayer.Builder}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public Factory(BandwidthMeter bandwidthMeter) {
|
|
||||||
this(
|
|
||||||
bandwidthMeter,
|
|
||||||
DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS,
|
|
||||||
DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,
|
|
||||||
DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS,
|
|
||||||
DEFAULT_BANDWIDTH_FRACTION,
|
|
||||||
DEFAULT_BUFFERED_FRACTION_TO_LIVE_EDGE_FOR_QUALITY_INCREASE,
|
|
||||||
Clock.DEFAULT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an adaptive track selection factory.
|
* Creates an adaptive track selection factory.
|
||||||
*
|
*
|
||||||
|
|
@ -106,28 +87,6 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
|
||||||
Clock.DEFAULT);
|
Clock.DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #Factory(int, int, int, float)} instead. Custom bandwidth meter should
|
|
||||||
* be directly passed to the player in {@link SimpleExoPlayer.Builder}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public Factory(
|
|
||||||
BandwidthMeter bandwidthMeter,
|
|
||||||
int minDurationForQualityIncreaseMs,
|
|
||||||
int maxDurationForQualityDecreaseMs,
|
|
||||||
int minDurationToRetainAfterDiscardMs,
|
|
||||||
float bandwidthFraction) {
|
|
||||||
this(
|
|
||||||
bandwidthMeter,
|
|
||||||
minDurationForQualityIncreaseMs,
|
|
||||||
maxDurationForQualityDecreaseMs,
|
|
||||||
minDurationToRetainAfterDiscardMs,
|
|
||||||
bandwidthFraction,
|
|
||||||
DEFAULT_BUFFERED_FRACTION_TO_LIVE_EDGE_FOR_QUALITY_INCREASE,
|
|
||||||
Clock.DEFAULT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an adaptive track selection factory.
|
* Creates an adaptive track selection factory.
|
||||||
*
|
*
|
||||||
|
|
@ -150,7 +109,6 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
|
||||||
* quality from happening.
|
* quality from happening.
|
||||||
* @param clock A {@link Clock}.
|
* @param clock A {@link Clock}.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public Factory(
|
public Factory(
|
||||||
int minDurationForQualityIncreaseMs,
|
int minDurationForQualityIncreaseMs,
|
||||||
int maxDurationForQualityDecreaseMs,
|
int maxDurationForQualityDecreaseMs,
|
||||||
|
|
@ -158,31 +116,6 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
|
||||||
float bandwidthFraction,
|
float bandwidthFraction,
|
||||||
float bufferedFractionToLiveEdgeForQualityIncrease,
|
float bufferedFractionToLiveEdgeForQualityIncrease,
|
||||||
Clock clock) {
|
Clock clock) {
|
||||||
this(
|
|
||||||
/* bandwidthMeter= */ null,
|
|
||||||
minDurationForQualityIncreaseMs,
|
|
||||||
maxDurationForQualityDecreaseMs,
|
|
||||||
minDurationToRetainAfterDiscardMs,
|
|
||||||
bandwidthFraction,
|
|
||||||
bufferedFractionToLiveEdgeForQualityIncrease,
|
|
||||||
clock);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #Factory(int, int, int, float, float, Clock)} instead. Custom
|
|
||||||
* bandwidth meter should be directly passed to the player in {@link
|
|
||||||
* SimpleExoPlayer.Builder}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public Factory(
|
|
||||||
@Nullable BandwidthMeter bandwidthMeter,
|
|
||||||
int minDurationForQualityIncreaseMs,
|
|
||||||
int maxDurationForQualityDecreaseMs,
|
|
||||||
int minDurationToRetainAfterDiscardMs,
|
|
||||||
float bandwidthFraction,
|
|
||||||
float bufferedFractionToLiveEdgeForQualityIncrease,
|
|
||||||
Clock clock) {
|
|
||||||
this.bandwidthMeter = bandwidthMeter;
|
|
||||||
this.minDurationForQualityIncreaseMs = minDurationForQualityIncreaseMs;
|
this.minDurationForQualityIncreaseMs = minDurationForQualityIncreaseMs;
|
||||||
this.maxDurationForQualityDecreaseMs = maxDurationForQualityDecreaseMs;
|
this.maxDurationForQualityDecreaseMs = maxDurationForQualityDecreaseMs;
|
||||||
this.minDurationToRetainAfterDiscardMs = minDurationToRetainAfterDiscardMs;
|
this.minDurationToRetainAfterDiscardMs = minDurationToRetainAfterDiscardMs;
|
||||||
|
|
@ -195,9 +128,6 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
|
||||||
@Override
|
@Override
|
||||||
public final @NullableType TrackSelection[] createTrackSelections(
|
public final @NullableType TrackSelection[] createTrackSelections(
|
||||||
@NullableType Definition[] definitions, BandwidthMeter bandwidthMeter) {
|
@NullableType Definition[] definitions, BandwidthMeter bandwidthMeter) {
|
||||||
if (this.bandwidthMeter != null) {
|
|
||||||
bandwidthMeter = this.bandwidthMeter;
|
|
||||||
}
|
|
||||||
TrackSelection[] selections = new TrackSelection[definitions.length];
|
TrackSelection[] selections = new TrackSelection[definitions.length];
|
||||||
int totalFixedBandwidth = 0;
|
int totalFixedBandwidth = 0;
|
||||||
for (int i = 0; i < definitions.length; i++) {
|
for (int i = 0; i < definitions.length; i++) {
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,6 @@ import com.google.android.exoplayer2.RendererCapabilities.FormatSupport;
|
||||||
import com.google.android.exoplayer2.RendererConfiguration;
|
import com.google.android.exoplayer2.RendererConfiguration;
|
||||||
import com.google.android.exoplayer2.source.TrackGroup;
|
import com.google.android.exoplayer2.source.TrackGroup;
|
||||||
import com.google.android.exoplayer2.source.TrackGroupArray;
|
import com.google.android.exoplayer2.source.TrackGroupArray;
|
||||||
import com.google.android.exoplayer2.upstream.BandwidthMeter;
|
|
||||||
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.primitives.Ints;
|
import com.google.common.primitives.Ints;
|
||||||
|
|
@ -1503,20 +1502,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
|
||||||
|
|
||||||
/** @deprecated Use {@link #DefaultTrackSelector(Context)} instead. */
|
/** @deprecated Use {@link #DefaultTrackSelector(Context)} instead. */
|
||||||
@Deprecated
|
@Deprecated
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public DefaultTrackSelector() {
|
public DefaultTrackSelector() {
|
||||||
this(new AdaptiveTrackSelection.Factory());
|
this(Parameters.DEFAULT_WITHOUT_CONTEXT, new AdaptiveTrackSelection.Factory());
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #DefaultTrackSelector(Context)} instead. The bandwidth meter should be
|
|
||||||
* passed directly to the player in {@link
|
|
||||||
* com.google.android.exoplayer2.SimpleExoPlayer.Builder}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public DefaultTrackSelector(BandwidthMeter bandwidthMeter) {
|
|
||||||
this(new AdaptiveTrackSelection.Factory(bandwidthMeter));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @deprecated Use {@link #DefaultTrackSelector(Context, TrackSelection.Factory)}. */
|
/** @deprecated Use {@link #DefaultTrackSelector(Context, TrackSelection.Factory)}. */
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,6 @@
|
||||||
package com.google.android.exoplayer2.trackselection;
|
package com.google.android.exoplayer2.trackselection;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.mockito.Mockito.atLeastOnce;
|
|
||||||
import static org.mockito.Mockito.mock;
|
|
||||||
import static org.mockito.Mockito.verify;
|
|
||||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.mockito.MockitoAnnotations.initMocks;
|
import static org.mockito.MockitoAnnotations.initMocks;
|
||||||
|
|
||||||
|
|
@ -30,7 +26,6 @@ import com.google.android.exoplayer2.source.TrackGroup;
|
||||||
import com.google.android.exoplayer2.source.chunk.MediaChunkIterator;
|
import com.google.android.exoplayer2.source.chunk.MediaChunkIterator;
|
||||||
import com.google.android.exoplayer2.testutil.FakeClock;
|
import com.google.android.exoplayer2.testutil.FakeClock;
|
||||||
import com.google.android.exoplayer2.testutil.FakeMediaChunk;
|
import com.google.android.exoplayer2.testutil.FakeMediaChunk;
|
||||||
import com.google.android.exoplayer2.trackselection.TrackSelection.Definition;
|
|
||||||
import com.google.android.exoplayer2.upstream.BandwidthMeter;
|
import com.google.android.exoplayer2.upstream.BandwidthMeter;
|
||||||
import com.google.android.exoplayer2.util.MimeTypes;
|
import com.google.android.exoplayer2.util.MimeTypes;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
|
@ -54,39 +49,12 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
@Mock private BandwidthMeter mockBandwidthMeter;
|
@Mock private BandwidthMeter mockBandwidthMeter;
|
||||||
private FakeClock fakeClock;
|
private FakeClock fakeClock;
|
||||||
|
|
||||||
private AdaptiveTrackSelection adaptiveTrackSelection;
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
initMocks(this);
|
initMocks(this);
|
||||||
fakeClock = new FakeClock(0);
|
fakeClock = new FakeClock(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public void factoryUsesInitiallyProvidedBandwidthMeter() {
|
|
||||||
BandwidthMeter initialBandwidthMeter = mock(BandwidthMeter.class);
|
|
||||||
BandwidthMeter injectedBandwidthMeter = mock(BandwidthMeter.class);
|
|
||||||
Format format1 = videoFormat(/* bitrate= */ 500, /* width= */ 320, /* height= */ 240);
|
|
||||||
Format format2 = videoFormat(/* bitrate= */ 1000, /* width= */ 640, /* height= */ 480);
|
|
||||||
TrackSelection[] trackSelections =
|
|
||||||
new AdaptiveTrackSelection.Factory(initialBandwidthMeter)
|
|
||||||
.createTrackSelections(
|
|
||||||
new Definition[] {
|
|
||||||
new Definition(new TrackGroup(format1, format2), /* tracks=... */ 0, 1)
|
|
||||||
},
|
|
||||||
injectedBandwidthMeter);
|
|
||||||
trackSelections[0].updateSelectedTrack(
|
|
||||||
/* playbackPositionUs= */ 0,
|
|
||||||
/* bufferedDurationUs= */ 0,
|
|
||||||
/* availableDurationUs= */ C.TIME_UNSET,
|
|
||||||
/* queue= */ Collections.emptyList(),
|
|
||||||
/* mediaChunkIterators= */ new MediaChunkIterator[] {MediaChunkIterator.EMPTY});
|
|
||||||
|
|
||||||
verify(initialBandwidthMeter, atLeastOnce()).getBitrateEstimate();
|
|
||||||
verifyZeroInteractions(injectedBandwidthMeter);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void selectInitialIndexUseMaxInitialBitrateIfNoBandwidthEstimate() {
|
public void selectInitialIndexUseMaxInitialBitrateIfNoBandwidthEstimate() {
|
||||||
Format format1 = videoFormat(/* bitrate= */ 500, /* width= */ 320, /* height= */ 240);
|
Format format1 = videoFormat(/* bitrate= */ 500, /* width= */ 320, /* height= */ 240);
|
||||||
|
|
@ -95,7 +63,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
TrackGroup trackGroup = new TrackGroup(format1, format2, format3);
|
TrackGroup trackGroup = new TrackGroup(format1, format2, format3);
|
||||||
|
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L);
|
||||||
adaptiveTrackSelection = adaptiveTrackSelection(trackGroup);
|
AdaptiveTrackSelection adaptiveTrackSelection = adaptiveTrackSelection(trackGroup);
|
||||||
|
|
||||||
assertThat(adaptiveTrackSelection.getSelectedFormat()).isEqualTo(format2);
|
assertThat(adaptiveTrackSelection.getSelectedFormat()).isEqualTo(format2);
|
||||||
assertThat(adaptiveTrackSelection.getSelectionReason()).isEqualTo(C.SELECTION_REASON_INITIAL);
|
assertThat(adaptiveTrackSelection.getSelectionReason()).isEqualTo(C.SELECTION_REASON_INITIAL);
|
||||||
|
|
@ -109,7 +77,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
TrackGroup trackGroup = new TrackGroup(format1, format2, format3);
|
TrackGroup trackGroup = new TrackGroup(format1, format2, format3);
|
||||||
|
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
||||||
adaptiveTrackSelection = adaptiveTrackSelection(trackGroup);
|
AdaptiveTrackSelection adaptiveTrackSelection = adaptiveTrackSelection(trackGroup);
|
||||||
|
|
||||||
assertThat(adaptiveTrackSelection.getSelectedFormat()).isEqualTo(format1);
|
assertThat(adaptiveTrackSelection.getSelectedFormat()).isEqualTo(format1);
|
||||||
assertThat(adaptiveTrackSelection.getSelectionReason()).isEqualTo(C.SELECTION_REASON_INITIAL);
|
assertThat(adaptiveTrackSelection.getSelectionReason()).isEqualTo(C.SELECTION_REASON_INITIAL);
|
||||||
|
|
@ -125,7 +93,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
// The second measurement onward returns 2000L, which prompts the track selection to switch up
|
// The second measurement onward returns 2000L, which prompts the track selection to switch up
|
||||||
// if possible.
|
// if possible.
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 2000L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 2000L);
|
||||||
adaptiveTrackSelection =
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
adaptiveTrackSelectionWithMinDurationForQualityIncreaseMs(
|
adaptiveTrackSelectionWithMinDurationForQualityIncreaseMs(
|
||||||
trackGroup, /* minDurationForQualityIncreaseMs= */ 10_000);
|
trackGroup, /* minDurationForQualityIncreaseMs= */ 10_000);
|
||||||
|
|
||||||
|
|
@ -153,7 +121,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
// The second measurement onward returns 2000L, which prompts the track selection to switch up
|
// The second measurement onward returns 2000L, which prompts the track selection to switch up
|
||||||
// if possible.
|
// if possible.
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 2000L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 2000L);
|
||||||
adaptiveTrackSelection =
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
adaptiveTrackSelectionWithMinDurationForQualityIncreaseMs(
|
adaptiveTrackSelectionWithMinDurationForQualityIncreaseMs(
|
||||||
trackGroup, /* minDurationForQualityIncreaseMs= */ 10_000);
|
trackGroup, /* minDurationForQualityIncreaseMs= */ 10_000);
|
||||||
|
|
||||||
|
|
@ -181,7 +149,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
// The second measurement onward returns 500L, which prompts the track selection to switch down
|
// The second measurement onward returns 500L, which prompts the track selection to switch down
|
||||||
// if necessary.
|
// if necessary.
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 500L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 500L);
|
||||||
adaptiveTrackSelection =
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
adaptiveTrackSelectionWithMaxDurationForQualityDecreaseMs(
|
adaptiveTrackSelectionWithMaxDurationForQualityDecreaseMs(
|
||||||
trackGroup, /* maxDurationForQualityDecreaseMs= */ 25_000);
|
trackGroup, /* maxDurationForQualityDecreaseMs= */ 25_000);
|
||||||
|
|
||||||
|
|
@ -209,7 +177,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
// The second measurement onward returns 500L, which prompts the track selection to switch down
|
// The second measurement onward returns 500L, which prompts the track selection to switch down
|
||||||
// if necessary.
|
// if necessary.
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 500L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(1000L, 500L);
|
||||||
adaptiveTrackSelection =
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
adaptiveTrackSelectionWithMaxDurationForQualityDecreaseMs(
|
adaptiveTrackSelectionWithMaxDurationForQualityDecreaseMs(
|
||||||
trackGroup, /* maxDurationForQualityDecreaseMs= */ 25_000);
|
trackGroup, /* maxDurationForQualityDecreaseMs= */ 25_000);
|
||||||
|
|
||||||
|
|
@ -246,7 +214,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
queue.add(chunk3);
|
queue.add(chunk3);
|
||||||
|
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
||||||
adaptiveTrackSelection = adaptiveTrackSelection(trackGroup);
|
AdaptiveTrackSelection adaptiveTrackSelection = adaptiveTrackSelection(trackGroup);
|
||||||
|
|
||||||
int size = adaptiveTrackSelection.evaluateQueueSize(0, queue);
|
int size = adaptiveTrackSelection.evaluateQueueSize(0, queue);
|
||||||
assertThat(size).isEqualTo(3);
|
assertThat(size).isEqualTo(3);
|
||||||
|
|
@ -271,7 +239,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
queue.add(chunk3);
|
queue.add(chunk3);
|
||||||
|
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
||||||
adaptiveTrackSelection =
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
adaptiveTrackSelectionWithMinTimeBetweenBufferReevaluationMs(
|
adaptiveTrackSelectionWithMinTimeBetweenBufferReevaluationMs(
|
||||||
trackGroup, /* durationToRetainAfterDiscardMs= */ 15_000);
|
trackGroup, /* durationToRetainAfterDiscardMs= */ 15_000);
|
||||||
|
|
||||||
|
|
@ -311,7 +279,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
queue.add(chunk3);
|
queue.add(chunk3);
|
||||||
|
|
||||||
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
when(mockBandwidthMeter.getBitrateEstimate()).thenReturn(500L);
|
||||||
adaptiveTrackSelection =
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
adaptiveTrackSelectionWithMinTimeBetweenBufferReevaluationMs(
|
adaptiveTrackSelectionWithMinTimeBetweenBufferReevaluationMs(
|
||||||
trackGroup, /* durationToRetainAfterDiscardMs= */ 15_000);
|
trackGroup, /* durationToRetainAfterDiscardMs= */ 15_000);
|
||||||
|
|
||||||
|
|
@ -334,7 +302,7 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
Format format1 = videoFormat(/* bitrate= */ 500, /* width= */ 320, /* height= */ 240);
|
Format format1 = videoFormat(/* bitrate= */ 500, /* width= */ 320, /* height= */ 240);
|
||||||
Format format2 = videoFormat(/* bitrate= */ 1000, /* width= */ 640, /* height= */ 480);
|
Format format2 = videoFormat(/* bitrate= */ 1000, /* width= */ 640, /* height= */ 480);
|
||||||
TrackGroup trackGroup = new TrackGroup(format1, format2);
|
TrackGroup trackGroup = new TrackGroup(format1, format2);
|
||||||
adaptiveTrackSelection =
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
new AdaptiveTrackSelection.Factory(
|
new AdaptiveTrackSelection.Factory(
|
||||||
/* minDurationForQualityIncreaseMs= */ 10_000,
|
/* minDurationForQualityIncreaseMs= */ 10_000,
|
||||||
/* maxDurationForQualityDecreaseMs= */ 10_000,
|
/* maxDurationForQualityDecreaseMs= */ 10_000,
|
||||||
|
|
@ -395,7 +363,8 @@ public final class AdaptiveTrackSelectionTest {
|
||||||
Format format1 = videoFormat(/* bitrate= */ 500, /* width= */ 320, /* height= */ 240);
|
Format format1 = videoFormat(/* bitrate= */ 500, /* width= */ 320, /* height= */ 240);
|
||||||
Format format2 = videoFormat(/* bitrate= */ 1000, /* width= */ 640, /* height= */ 480);
|
Format format2 = videoFormat(/* bitrate= */ 1000, /* width= */ 640, /* height= */ 480);
|
||||||
TrackGroup trackGroup = new TrackGroup(format1, format2);
|
TrackGroup trackGroup = new TrackGroup(format1, format2);
|
||||||
adaptiveTrackSelection = prepareTrackSelection(adaptiveTrackSelection(trackGroup));
|
AdaptiveTrackSelection adaptiveTrackSelection =
|
||||||
|
prepareTrackSelection(adaptiveTrackSelection(trackGroup));
|
||||||
Format unknownFormat = videoFormat(/* bitrate= */ 42, /* width= */ 300, /* height= */ 123);
|
Format unknownFormat = videoFormat(/* bitrate= */ 42, /* width= */ 300, /* height= */ 123);
|
||||||
FakeMediaChunk chunk =
|
FakeMediaChunk chunk =
|
||||||
new FakeMediaChunk(unknownFormat, /* startTimeUs= */ 0, /* endTimeUs= */ 2_000_000);
|
new FakeMediaChunk(unknownFormat, /* startTimeUs= */ 0, /* endTimeUs= */ 2_000_000);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue