Commit c17d1091 by bachinger Committed by Andrew Lewis

Remove "live" from fields in MediaItem.LiveConfiguraton

#exofixit

PiperOrigin-RevId: 344065519
parent 93ed71fb
......@@ -109,9 +109,9 @@ public final class MediaItem {
clipStartsAtKeyFrame = mediaItem.clippingProperties.startsAtKeyFrame;
mediaId = mediaItem.mediaId;
mediaMetadata = mediaItem.mediaMetadata;
liveTargetOffsetMs = mediaItem.liveConfiguration.targetLiveOffsetMs;
liveMinOffsetMs = mediaItem.liveConfiguration.minLiveOffsetMs;
liveMaxOffsetMs = mediaItem.liveConfiguration.maxLiveOffsetMs;
liveTargetOffsetMs = mediaItem.liveConfiguration.targetOffsetMs;
liveMinOffsetMs = mediaItem.liveConfiguration.minOffsetMs;
liveMaxOffsetMs = mediaItem.liveConfiguration.maxOffsetMs;
liveMinPlaybackSpeed = mediaItem.liveConfiguration.minPlaybackSpeed;
liveMaxPlaybackSpeed = mediaItem.liveConfiguration.maxPlaybackSpeed;
@Nullable PlaybackProperties playbackProperties = mediaItem.playbackProperties;
......@@ -474,8 +474,8 @@ public final class MediaItem {
*
* <p>See {@code Player#getCurrentLiveOffset()}.
*
* @param liveTargetOffsetMs The target live offset, in milliseconds, or {@link C#TIME_UNSET} to
* use the media-defined default.
* @param liveTargetOffsetMs The target offset, in milliseconds, or {@link C#TIME_UNSET} to use
* the media-defined default.
*/
public Builder setLiveTargetOffsetMs(long liveTargetOffsetMs) {
this.liveTargetOffsetMs = liveTargetOffsetMs;
......@@ -487,8 +487,8 @@ public final class MediaItem {
*
* <p>See {@code Player#getCurrentLiveOffset()}.
*
* @param liveMinOffsetMs The minimum allowed live offset, in milliseconds, or {@link
* C#TIME_UNSET} to use the media-defined default.
* @param liveMinOffsetMs The minimum allowed offset, in milliseconds, or {@link C#TIME_UNSET}
* to use the media-defined default.
*/
public Builder setLiveMinOffsetMs(long liveMinOffsetMs) {
this.liveMinOffsetMs = liveMinOffsetMs;
......@@ -500,8 +500,8 @@ public final class MediaItem {
*
* <p>See {@code Player#getCurrentLiveOffset()}.
*
* @param liveMaxOffsetMs The maximum allowed live offset, in milliseconds, or {@link
* C#TIME_UNSET} to use the media-defined default.
* @param liveMaxOffsetMs The maximum allowed offset, in milliseconds, or {@link C#TIME_UNSET}
* to use the media-defined default.
*/
public Builder setLiveMaxOffsetMs(long liveMaxOffsetMs) {
this.liveMaxOffsetMs = liveMaxOffsetMs;
......@@ -840,22 +840,22 @@ public final class MediaItem {
/* maxPlaybackSpeed= */ C.RATE_UNSET);
/**
* Target live offset, in milliseconds, or {@link C#TIME_UNSET} to use the media-defined
* default.
* Target offset from the live edge, in milliseconds, or {@link C#TIME_UNSET} to use the
* media-defined default.
*/
public final long targetLiveOffsetMs;
public final long targetOffsetMs;
/**
* The minimum allowed live offset, in milliseconds, or {@link C#TIME_UNSET} to use the
* media-defined default.
* The minimum allowed offset from the live edge, in milliseconds, or {@link C#TIME_UNSET} to
* use the media-defined default.
*/
public final long minLiveOffsetMs;
public final long minOffsetMs;
/**
* The maximum allowed live offset, in milliseconds, or {@link C#TIME_UNSET} to use the
* media-defined default.
* The maximum allowed offset from the live edge, in milliseconds, or {@link C#TIME_UNSET} to
* use the media-defined default.
*/
public final long maxLiveOffsetMs;
public final long maxOffsetMs;
/** Minimum playback speed, or {@link C#RATE_UNSET} to use the media-defined default. */
public final float minPlaybackSpeed;
......@@ -866,26 +866,26 @@ public final class MediaItem {
/**
* Creates a live playback configuration.
*
* @param targetLiveOffsetMs Target live offset, in milliseconds, or {@link C#TIME_UNSET} to use
* the media-defined default.
* @param minLiveOffsetMs The minimum allowed live offset, in milliseconds, or {@link
* C#TIME_UNSET} to use the media-defined default.
* @param maxLiveOffsetMs The maximum allowed live offset, in milliseconds, or {@link
* C#TIME_UNSET} to use the media-defined default.
* @param targetOffsetMs Target live offset, in milliseconds, or {@link C#TIME_UNSET} to use the
* media-defined default.
* @param minOffsetMs The minimum allowed live offset, in milliseconds, or {@link C#TIME_UNSET}
* to use the media-defined default.
* @param maxOffsetMs The maximum allowed live offset, in milliseconds, or {@link C#TIME_UNSET}
* to use the media-defined default.
* @param minPlaybackSpeed Minimum playback speed, or {@link C#RATE_UNSET} to use the
* media-defined default.
* @param maxPlaybackSpeed Maximum playback speed, or {@link C#RATE_UNSET} to use the
* media-defined default.
*/
public LiveConfiguration(
long targetLiveOffsetMs,
long minLiveOffsetMs,
long maxLiveOffsetMs,
long targetOffsetMs,
long minOffsetMs,
long maxOffsetMs,
float minPlaybackSpeed,
float maxPlaybackSpeed) {
this.targetLiveOffsetMs = targetLiveOffsetMs;
this.minLiveOffsetMs = minLiveOffsetMs;
this.maxLiveOffsetMs = maxLiveOffsetMs;
this.targetOffsetMs = targetOffsetMs;
this.minOffsetMs = minOffsetMs;
this.maxOffsetMs = maxOffsetMs;
this.minPlaybackSpeed = minPlaybackSpeed;
this.maxPlaybackSpeed = maxPlaybackSpeed;
}
......@@ -900,18 +900,18 @@ public final class MediaItem {
}
LiveConfiguration other = (LiveConfiguration) obj;
return targetLiveOffsetMs == other.targetLiveOffsetMs
&& minLiveOffsetMs == other.minLiveOffsetMs
&& maxLiveOffsetMs == other.maxLiveOffsetMs
return targetOffsetMs == other.targetOffsetMs
&& minOffsetMs == other.minOffsetMs
&& maxOffsetMs == other.maxOffsetMs
&& minPlaybackSpeed == other.minPlaybackSpeed
&& maxPlaybackSpeed == other.maxPlaybackSpeed;
}
@Override
public int hashCode() {
int result = (int) (targetLiveOffsetMs ^ (targetLiveOffsetMs >>> 32));
result = 31 * result + (int) (minLiveOffsetMs ^ (minLiveOffsetMs >>> 32));
result = 31 * result + (int) (maxLiveOffsetMs ^ (maxLiveOffsetMs >>> 32));
int result = (int) (targetOffsetMs ^ (targetOffsetMs >>> 32));
result = 31 * result + (int) (minOffsetMs ^ (minOffsetMs >>> 32));
result = 31 * result + (int) (maxOffsetMs ^ (maxOffsetMs >>> 32));
result = 31 * result + (minPlaybackSpeed != 0 ? Float.floatToIntBits(minPlaybackSpeed) : 0);
result = 31 * result + (maxPlaybackSpeed != 0 ? Float.floatToIntBits(maxPlaybackSpeed) : 0);
return result;
......
......@@ -312,7 +312,7 @@ public class MediaItemTest {
MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_STRING).setLiveTargetOffsetMs(10_000).build();
assertThat(mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(10_000);
assertThat(mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(10_000);
}
@Test
......@@ -336,7 +336,7 @@ public class MediaItemTest {
MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_STRING).setLiveMinOffsetMs(1234).build();
assertThat(mediaItem.liveConfiguration.minLiveOffsetMs).isEqualTo(1234);
assertThat(mediaItem.liveConfiguration.minOffsetMs).isEqualTo(1234);
}
@Test
......@@ -344,7 +344,7 @@ public class MediaItemTest {
MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_STRING).setLiveMaxOffsetMs(1234).build();
assertThat(mediaItem.liveConfiguration.maxLiveOffsetMs).isEqualTo(1234);
assertThat(mediaItem.liveConfiguration.maxOffsetMs).isEqualTo(1234);
}
@Test
......
......@@ -295,9 +295,9 @@ public final class DefaultLivePlaybackSpeedControl implements LivePlaybackSpeedC
@Override
public void setLiveConfiguration(LiveConfiguration liveConfiguration) {
mediaConfigurationTargetLiveOffsetUs = C.msToUs(liveConfiguration.targetLiveOffsetMs);
minTargetLiveOffsetUs = C.msToUs(liveConfiguration.minLiveOffsetMs);
maxTargetLiveOffsetUs = C.msToUs(liveConfiguration.maxLiveOffsetMs);
mediaConfigurationTargetLiveOffsetUs = C.msToUs(liveConfiguration.targetOffsetMs);
minTargetLiveOffsetUs = C.msToUs(liveConfiguration.minOffsetMs);
maxTargetLiveOffsetUs = C.msToUs(liveConfiguration.maxOffsetMs);
minPlaybackSpeed =
liveConfiguration.minPlaybackSpeed != C.RATE_UNSET
? liveConfiguration.minPlaybackSpeed
......
......@@ -317,23 +317,23 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
mediaSourceFactory.setLoadErrorHandlingPolicy(loadErrorHandlingPolicy);
// Make sure to retain the very same media item instance, if no value needs to be overridden.
if ((mediaItem.liveConfiguration.targetLiveOffsetMs == C.TIME_UNSET
if ((mediaItem.liveConfiguration.targetOffsetMs == C.TIME_UNSET
&& liveTargetOffsetMs != C.TIME_UNSET)
|| (mediaItem.liveConfiguration.minPlaybackSpeed == C.RATE_UNSET
&& liveMinSpeed != C.RATE_UNSET)
|| (mediaItem.liveConfiguration.maxPlaybackSpeed == C.RATE_UNSET
&& liveMaxSpeed != C.RATE_UNSET)
|| (mediaItem.liveConfiguration.minLiveOffsetMs == C.TIME_UNSET
|| (mediaItem.liveConfiguration.minOffsetMs == C.TIME_UNSET
&& liveMinOffsetMs != C.TIME_UNSET)
|| (mediaItem.liveConfiguration.maxLiveOffsetMs == C.TIME_UNSET
|| (mediaItem.liveConfiguration.maxOffsetMs == C.TIME_UNSET
&& liveMaxOffsetMs != C.TIME_UNSET)) {
mediaItem =
mediaItem
.buildUpon()
.setLiveTargetOffsetMs(
mediaItem.liveConfiguration.targetLiveOffsetMs == C.TIME_UNSET
mediaItem.liveConfiguration.targetOffsetMs == C.TIME_UNSET
? liveTargetOffsetMs
: mediaItem.liveConfiguration.targetLiveOffsetMs)
: mediaItem.liveConfiguration.targetOffsetMs)
.setLiveMinPlaybackSpeed(
mediaItem.liveConfiguration.minPlaybackSpeed == C.RATE_UNSET
? liveMinSpeed
......@@ -343,13 +343,13 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
? liveMaxSpeed
: mediaItem.liveConfiguration.maxPlaybackSpeed)
.setLiveMinOffsetMs(
mediaItem.liveConfiguration.minLiveOffsetMs == C.TIME_UNSET
mediaItem.liveConfiguration.minOffsetMs == C.TIME_UNSET
? liveMinOffsetMs
: mediaItem.liveConfiguration.minLiveOffsetMs)
: mediaItem.liveConfiguration.minOffsetMs)
.setLiveMaxOffsetMs(
mediaItem.liveConfiguration.maxLiveOffsetMs == C.TIME_UNSET
mediaItem.liveConfiguration.maxOffsetMs == C.TIME_UNSET
? liveMaxOffsetMs
: mediaItem.liveConfiguration.maxLiveOffsetMs)
: mediaItem.liveConfiguration.maxOffsetMs)
.build();
}
MediaSource mediaSource = mediaSourceFactory.createMediaSource(mediaItem);
......
......@@ -245,9 +245,9 @@ public final class DefaultMediaSourceFactoryTest {
MediaItem mediaItemFromSource = mediaSource.getMediaItem();
assertThat(mediaItemFromSource.liveConfiguration.targetLiveOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.minLiveOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.maxLiveOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.targetOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.minOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.maxOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.minPlaybackSpeed).isEqualTo(C.RATE_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.maxPlaybackSpeed).isEqualTo(C.RATE_UNSET);
}
......@@ -266,9 +266,9 @@ public final class DefaultMediaSourceFactoryTest {
MediaItem mediaItemFromSource = mediaSource.getMediaItem();
assertThat(mediaItemFromSource.liveConfiguration.targetLiveOffsetMs).isEqualTo(20);
assertThat(mediaItemFromSource.liveConfiguration.minLiveOffsetMs).isEqualTo(2222);
assertThat(mediaItemFromSource.liveConfiguration.maxLiveOffsetMs).isEqualTo(4444);
assertThat(mediaItemFromSource.liveConfiguration.targetOffsetMs).isEqualTo(20);
assertThat(mediaItemFromSource.liveConfiguration.minOffsetMs).isEqualTo(2222);
assertThat(mediaItemFromSource.liveConfiguration.maxOffsetMs).isEqualTo(4444);
assertThat(mediaItemFromSource.liveConfiguration.minPlaybackSpeed).isEqualTo(.1f);
assertThat(mediaItemFromSource.liveConfiguration.maxPlaybackSpeed).isEqualTo(2.0f);
}
......
......@@ -306,7 +306,7 @@ public final class DashMediaSource extends BaseMediaSource {
}
boolean hasUri = mediaItem.playbackProperties != null;
boolean hasTag = hasUri && mediaItem.playbackProperties.tag != null;
boolean hasTargetLiveOffset = mediaItem.liveConfiguration.targetLiveOffsetMs != C.TIME_UNSET;
boolean hasTargetLiveOffset = mediaItem.liveConfiguration.targetOffsetMs != C.TIME_UNSET;
mediaItem =
mediaItem
.buildUpon()
......@@ -315,7 +315,7 @@ public final class DashMediaSource extends BaseMediaSource {
.setTag(hasTag ? mediaItem.playbackProperties.tag : tag)
.setLiveTargetOffsetMs(
hasTargetLiveOffset
? mediaItem.liveConfiguration.targetLiveOffsetMs
? mediaItem.liveConfiguration.targetOffsetMs
: targetLiveOffsetOverrideMs)
.setStreamKeys(streamKeys)
.build();
......@@ -370,7 +370,7 @@ public final class DashMediaSource extends BaseMediaSource {
boolean needsStreamKeys =
mediaItem.playbackProperties.streamKeys.isEmpty() && !streamKeys.isEmpty();
boolean needsTargetLiveOffset =
mediaItem.liveConfiguration.targetLiveOffsetMs == C.TIME_UNSET
mediaItem.liveConfiguration.targetOffsetMs == C.TIME_UNSET
&& targetLiveOffsetOverrideMs != C.TIME_UNSET;
if (needsTag || needsStreamKeys || needsTargetLiveOffset) {
MediaItem.Builder builder = mediaItem.buildUpon();
......@@ -942,7 +942,7 @@ public final class DashMediaSource extends BaseMediaSource {
/* windowEndPeriodTimeUs= */ currentEndTimeUs);
windowDefaultStartPositionUs =
nowUnixTimeUs
- C.msToUs(windowStartTimeMs + updatedMediaItem.liveConfiguration.targetLiveOffsetMs);
- C.msToUs(windowStartTimeMs + updatedMediaItem.liveConfiguration.targetOffsetMs);
long minimumDefaultStartPositionUs =
min(MIN_LIVE_DEFAULT_START_POSITION_US, windowDurationUs / 2);
if (windowDefaultStartPositionUs < minimumDefaultStartPositionUs) {
......@@ -999,8 +999,8 @@ public final class DashMediaSource extends BaseMediaSource {
private void updateMediaItemLiveConfiguration(
long nowPeriodTimeUs, long windowStartPeriodTimeUs, long windowEndPeriodTimeUs) {
long maxLiveOffsetMs;
if (originalMediaItem.liveConfiguration.maxLiveOffsetMs != C.TIME_UNSET) {
maxLiveOffsetMs = originalMediaItem.liveConfiguration.maxLiveOffsetMs;
if (originalMediaItem.liveConfiguration.maxOffsetMs != C.TIME_UNSET) {
maxLiveOffsetMs = originalMediaItem.liveConfiguration.maxOffsetMs;
} else if (manifest.serviceDescription != null
&& manifest.serviceDescription.maxOffsetMs != C.TIME_UNSET) {
maxLiveOffsetMs = manifest.serviceDescription.maxOffsetMs;
......@@ -1008,8 +1008,8 @@ public final class DashMediaSource extends BaseMediaSource {
maxLiveOffsetMs = C.usToMs(nowPeriodTimeUs - windowStartPeriodTimeUs);
}
long minLiveOffsetMs;
if (originalMediaItem.liveConfiguration.minLiveOffsetMs != C.TIME_UNSET) {
minLiveOffsetMs = originalMediaItem.liveConfiguration.minLiveOffsetMs;
if (originalMediaItem.liveConfiguration.minOffsetMs != C.TIME_UNSET) {
minLiveOffsetMs = originalMediaItem.liveConfiguration.minOffsetMs;
} else if (manifest.serviceDescription != null
&& manifest.serviceDescription.minOffsetMs != C.TIME_UNSET) {
minLiveOffsetMs = manifest.serviceDescription.minOffsetMs;
......@@ -1025,9 +1025,9 @@ public final class DashMediaSource extends BaseMediaSource {
}
}
long targetOffsetMs;
if (updatedMediaItem.liveConfiguration.targetLiveOffsetMs != C.TIME_UNSET) {
if (updatedMediaItem.liveConfiguration.targetOffsetMs != C.TIME_UNSET) {
// Keep existing target offset even if the media configuration changes.
targetOffsetMs = updatedMediaItem.liveConfiguration.targetLiveOffsetMs;
targetOffsetMs = updatedMediaItem.liveConfiguration.targetOffsetMs;
} else if (manifest.serviceDescription != null
&& manifest.serviceDescription.targetOffsetMs != C.TIME_UNSET) {
targetOffsetMs = manifest.serviceDescription.targetOffsetMs;
......
......@@ -227,7 +227,7 @@ public final class DashMediaSourceTest {
MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem();
assertThat(dashMediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(2L);
assertThat(dashMediaItem.liveConfiguration.targetOffsetMs).isEqualTo(2L);
}
@Test
......@@ -240,7 +240,7 @@ public final class DashMediaSourceTest {
MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem();
assertThat(dashMediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(2L);
assertThat(dashMediaItem.liveConfiguration.targetOffsetMs).isEqualTo(2L);
}
@Test
......@@ -252,7 +252,7 @@ public final class DashMediaSourceTest {
MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem();
assertThat(dashMediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(2000L);
assertThat(dashMediaItem.liveConfiguration.targetOffsetMs).isEqualTo(2000L);
}
@Test
......@@ -264,7 +264,7 @@ public final class DashMediaSourceTest {
MediaItem dashMediaItem = factory.createMediaSource(mediaItem).getMediaItem();
assertThat(dashMediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(dashMediaItem.liveConfiguration.targetOffsetMs).isEqualTo(C.TIME_UNSET);
}
@Test
......@@ -276,7 +276,7 @@ public final class DashMediaSourceTest {
MediaItem dashMediaItem =
factory.createMediaSource(MediaItem.fromUri(Uri.EMPTY)).getMediaItem();
assertThat(dashMediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(C.TIME_UNSET);
assertThat(dashMediaItem.liveConfiguration.targetOffsetMs).isEqualTo(C.TIME_UNSET);
}
@Test
......@@ -289,10 +289,10 @@ public final class DashMediaSourceTest {
MediaItem mediaItemFromSource = prepareAndWaitForTimelineRefresh(mediaSource).mediaItem;
assertThat(mediaItemFromSource.liveConfiguration.targetLiveOffsetMs)
assertThat(mediaItemFromSource.liveConfiguration.targetOffsetMs)
.isEqualTo(DashMediaSource.DEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MS);
assertThat(mediaItemFromSource.liveConfiguration.minLiveOffsetMs).isEqualTo(0L);
assertThat(mediaItemFromSource.liveConfiguration.maxLiveOffsetMs).isEqualTo(58_000L);
assertThat(mediaItemFromSource.liveConfiguration.minOffsetMs).isEqualTo(0L);
assertThat(mediaItemFromSource.liveConfiguration.maxOffsetMs).isEqualTo(58_000L);
assertThat(mediaItemFromSource.liveConfiguration.minPlaybackSpeed).isEqualTo(C.RATE_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.maxPlaybackSpeed).isEqualTo(C.RATE_UNSET);
}
......@@ -308,9 +308,9 @@ public final class DashMediaSourceTest {
MediaItem mediaItemFromSource = prepareAndWaitForTimelineRefresh(mediaSource).mediaItem;
assertThat(mediaItemFromSource.liveConfiguration.targetLiveOffsetMs).isEqualTo(1234L);
assertThat(mediaItemFromSource.liveConfiguration.minLiveOffsetMs).isEqualTo(0L);
assertThat(mediaItemFromSource.liveConfiguration.maxLiveOffsetMs).isEqualTo(58_000L);
assertThat(mediaItemFromSource.liveConfiguration.targetOffsetMs).isEqualTo(1234L);
assertThat(mediaItemFromSource.liveConfiguration.minOffsetMs).isEqualTo(0L);
assertThat(mediaItemFromSource.liveConfiguration.maxOffsetMs).isEqualTo(58_000L);
assertThat(mediaItemFromSource.liveConfiguration.minPlaybackSpeed).isEqualTo(C.RATE_UNSET);
assertThat(mediaItemFromSource.liveConfiguration.maxPlaybackSpeed).isEqualTo(C.RATE_UNSET);
}
......@@ -335,9 +335,9 @@ public final class DashMediaSourceTest {
MediaItem mediaItemFromSource = prepareAndWaitForTimelineRefresh(mediaSource).mediaItem;
assertThat(mediaItemFromSource.liveConfiguration.targetLiveOffsetMs).isEqualTo(876L);
assertThat(mediaItemFromSource.liveConfiguration.minLiveOffsetMs).isEqualTo(500L);
assertThat(mediaItemFromSource.liveConfiguration.maxLiveOffsetMs).isEqualTo(20_000L);
assertThat(mediaItemFromSource.liveConfiguration.targetOffsetMs).isEqualTo(876L);
assertThat(mediaItemFromSource.liveConfiguration.minOffsetMs).isEqualTo(500L);
assertThat(mediaItemFromSource.liveConfiguration.maxOffsetMs).isEqualTo(20_000L);
assertThat(mediaItemFromSource.liveConfiguration.minPlaybackSpeed).isEqualTo(23f);
assertThat(mediaItemFromSource.liveConfiguration.maxPlaybackSpeed).isEqualTo(42f);
}
......@@ -355,9 +355,9 @@ public final class DashMediaSourceTest {
MediaItem mediaItem = prepareAndWaitForTimelineRefresh(mediaSource).mediaItem;
assertThat(mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(2_000L);
assertThat(mediaItem.liveConfiguration.minLiveOffsetMs).isEqualTo(500L);
assertThat(mediaItem.liveConfiguration.maxLiveOffsetMs).isEqualTo(58_000L);
assertThat(mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(2_000L);
assertThat(mediaItem.liveConfiguration.minOffsetMs).isEqualTo(500L);
assertThat(mediaItem.liveConfiguration.maxOffsetMs).isEqualTo(58_000L);
assertThat(mediaItem.liveConfiguration.minPlaybackSpeed).isEqualTo(C.RATE_UNSET);
assertThat(mediaItem.liveConfiguration.maxPlaybackSpeed).isEqualTo(C.RATE_UNSET);
}
......@@ -385,9 +385,9 @@ public final class DashMediaSourceTest {
MediaItem mediaItemFromSource = prepareAndWaitForTimelineRefresh(mediaSource).mediaItem;
assertThat(mediaItemFromSource.liveConfiguration.targetLiveOffsetMs).isEqualTo(876L);
assertThat(mediaItem.liveConfiguration.minLiveOffsetMs).isEqualTo(200L);
assertThat(mediaItem.liveConfiguration.maxLiveOffsetMs).isEqualTo(999L);
assertThat(mediaItemFromSource.liveConfiguration.targetOffsetMs).isEqualTo(876L);
assertThat(mediaItem.liveConfiguration.minOffsetMs).isEqualTo(200L);
assertThat(mediaItem.liveConfiguration.maxOffsetMs).isEqualTo(999L);
assertThat(mediaItemFromSource.liveConfiguration.minPlaybackSpeed).isEqualTo(23f);
assertThat(mediaItemFromSource.liveConfiguration.maxPlaybackSpeed).isEqualTo(42f);
}
......@@ -403,9 +403,9 @@ public final class DashMediaSourceTest {
MediaItem mediaItem = prepareAndWaitForTimelineRefresh(mediaSource).mediaItem;
assertThat(mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(4_000L);
assertThat(mediaItem.liveConfiguration.minLiveOffsetMs).isEqualTo(2_000L);
assertThat(mediaItem.liveConfiguration.maxLiveOffsetMs).isEqualTo(6_000L);
assertThat(mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(4_000L);
assertThat(mediaItem.liveConfiguration.minOffsetMs).isEqualTo(2_000L);
assertThat(mediaItem.liveConfiguration.maxOffsetMs).isEqualTo(6_000L);
assertThat(mediaItem.liveConfiguration.minPlaybackSpeed).isEqualTo(0.96f);
assertThat(mediaItem.liveConfiguration.maxPlaybackSpeed).isEqualTo(1.04f);
}
......@@ -430,9 +430,9 @@ public final class DashMediaSourceTest {
MediaItem mediaItemFromSource = prepareAndWaitForTimelineRefresh(mediaSource).mediaItem;
assertThat(mediaItemFromSource.liveConfiguration.targetLiveOffsetMs).isEqualTo(876L);
assertThat(mediaItemFromSource.liveConfiguration.minLiveOffsetMs).isEqualTo(100L);
assertThat(mediaItemFromSource.liveConfiguration.maxLiveOffsetMs).isEqualTo(999L);
assertThat(mediaItemFromSource.liveConfiguration.targetOffsetMs).isEqualTo(876L);
assertThat(mediaItemFromSource.liveConfiguration.minOffsetMs).isEqualTo(100L);
assertThat(mediaItemFromSource.liveConfiguration.maxOffsetMs).isEqualTo(999L);
assertThat(mediaItemFromSource.liveConfiguration.minPlaybackSpeed).isEqualTo(23f);
assertThat(mediaItemFromSource.liveConfiguration.maxPlaybackSpeed).isEqualTo(42f);
}
......@@ -448,7 +448,7 @@ public final class DashMediaSourceTest {
Window window = prepareAndWaitForTimelineRefresh(mediaSource);
// Expect the target live offset as defined in the manifest.
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(3000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(3000);
// Expect the default position at the first segment start before the live edge.
assertThat(window.getDefaultPositionMs()).isEqualTo(2_000);
}
......@@ -466,7 +466,7 @@ public final class DashMediaSourceTest {
// Expect the default position at the first segment start below the minimum live start position.
assertThat(window.getDefaultPositionMs()).isEqualTo(4_000);
// Expect the target live offset reaching from now time to the minimum live start position.
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(9000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(9000);
}
@Test
......@@ -483,7 +483,7 @@ public final class DashMediaSourceTest {
// Expect the default position at the start of the last segment.
assertThat(window.getDefaultPositionMs()).isEqualTo(12_000);
// Expect the target live offset reaching from now time to the end of the window.
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(60_000 - 16_000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(60_000 - 16_000);
}
private static Window prepareAndWaitForTimelineRefresh(MediaSource mediaSource)
......
......@@ -515,8 +515,8 @@ public final class HlsMediaSource extends BaseMediaSource
if (playlistTracker.isLive()) {
long liveEdgeOffsetUs = getLiveEdgeOffsetUs(playlist);
long targetLiveOffsetUs =
mediaItem.liveConfiguration.targetLiveOffsetMs != C.TIME_UNSET
? C.msToUs(mediaItem.liveConfiguration.targetLiveOffsetMs)
mediaItem.liveConfiguration.targetOffsetMs != C.TIME_UNSET
? C.msToUs(mediaItem.liveConfiguration.targetOffsetMs)
: getTargetLiveOffsetUs(playlist, liveEdgeOffsetUs);
// Ensure target live offset is within the live window and greater than the live edge offset.
targetLiveOffsetUs =
......@@ -583,7 +583,7 @@ public final class HlsMediaSource extends BaseMediaSource
long minStartPositionUs =
playlist.durationUs
+ liveEdgeOffsetUs
- C.msToUs(mediaItem.liveConfiguration.targetLiveOffsetMs);
- C.msToUs(mediaItem.liveConfiguration.targetOffsetMs);
while (segmentIndex > 0
&& segments.get(segmentIndex).relativeStartTimeUs > minStartPositionUs) {
segmentIndex--;
......@@ -593,7 +593,7 @@ public final class HlsMediaSource extends BaseMediaSource
private void maybeUpdateMediaItem(long targetLiveOffsetUs) {
long targetLiveOffsetMs = C.usToMs(targetLiveOffsetUs);
if (targetLiveOffsetMs != mediaItem.liveConfiguration.targetLiveOffsetMs) {
if (targetLiveOffsetMs != mediaItem.liveConfiguration.targetOffsetMs) {
mediaItem = mediaItem.buildUpon().setLiveTargetOffsetMs(targetLiveOffsetMs).build();
}
}
......
......@@ -183,7 +183,7 @@ public class HlsMediaSourceTest {
Timeline.Window window = timeline.getWindow(0, new Timeline.Window());
// The target live offset is picked from target duration (3 * 4 = 12 seconds) and then expressed
// in relation to the live edge (12 + 1 seconds).
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(13000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(13000);
assertThat(window.defaultPositionUs).isEqualTo(4000000);
}
......@@ -219,7 +219,7 @@ public class HlsMediaSourceTest {
Timeline.Window window = timeline.getWindow(0, new Timeline.Window());
// The target live offset is picked from hold back and then expressed in relation to the live
// edge (+1 seconds).
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(13000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(13000);
assertThat(window.defaultPositionUs).isEqualTo(4000000);
}
......@@ -257,7 +257,7 @@ public class HlsMediaSourceTest {
Timeline.Window window = timeline.getWindow(0, new Timeline.Window());
// The target live offset is picked from hold back and then expressed in relation to the live
// edge (+1 seconds).
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(13000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(13000);
assertThat(window.defaultPositionUs).isEqualTo(4000000);
}
......@@ -288,7 +288,7 @@ public class HlsMediaSourceTest {
Timeline.Window window = timeline.getWindow(0, new Timeline.Window());
// The target live offset is picked from part hold back and then expressed in relation to the
// live edge (+1 seconds).
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(4000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(4000);
assertThat(window.defaultPositionUs).isEqualTo(0);
}
......@@ -318,7 +318,7 @@ public class HlsMediaSourceTest {
Timeline.Window window = timeline.getWindow(0, new Timeline.Window());
// The target live offset is picked from the media item and not adjusted.
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(1000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(1000);
assertThat(window.defaultPositionUs).isEqualTo(0);
}
......@@ -349,9 +349,9 @@ public class HlsMediaSourceTest {
Timeline timeline = prepareAndWaitForTimeline(mediaSource);
Timeline.Window window = timeline.getWindow(0, new Timeline.Window());
assertThat(mediaItem.liveConfiguration.targetLiveOffsetMs)
assertThat(mediaItem.liveConfiguration.targetOffsetMs)
.isGreaterThan(C.usToMs(window.durationUs));
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(9000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(9000);
}
@Test
......@@ -385,7 +385,7 @@ public class HlsMediaSourceTest {
Timeline.Window window = timeline.getWindow(0, new Timeline.Window());
// The target live offset is not adjusted to the live edge because the list does not have
// program date time.
assertThat(window.mediaItem.liveConfiguration.targetLiveOffsetMs).isEqualTo(12000);
assertThat(window.mediaItem.liveConfiguration.targetOffsetMs).isEqualTo(12000);
assertThat(window.defaultPositionUs).isEqualTo(4000000);
}
......@@ -475,13 +475,13 @@ public class HlsMediaSourceTest {
runMainLooperUntil(() -> timelines.size() == 4);
Timeline.Window window = new Timeline.Window();
assertThat(timelines.get(0).getWindow(0, window).mediaItem.liveConfiguration.targetLiveOffsetMs)
assertThat(timelines.get(0).getWindow(0, window).mediaItem.liveConfiguration.targetOffsetMs)
.isEqualTo(12000);
assertThat(timelines.get(1).getWindow(0, window).mediaItem.liveConfiguration.targetLiveOffsetMs)
assertThat(timelines.get(1).getWindow(0, window).mediaItem.liveConfiguration.targetOffsetMs)
.isEqualTo(12000);
assertThat(timelines.get(2).getWindow(0, window).mediaItem.liveConfiguration.targetLiveOffsetMs)
assertThat(timelines.get(2).getWindow(0, window).mediaItem.liveConfiguration.targetOffsetMs)
.isEqualTo(8000);
assertThat(timelines.get(3).getWindow(0, window).mediaItem.liveConfiguration.targetLiveOffsetMs)
assertThat(timelines.get(3).getWindow(0, window).mediaItem.liveConfiguration.targetOffsetMs)
.isEqualTo(8000);
}
......
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