Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1051580a
authored
Oct 21, 2020
by
bachinger
Committed by
Oliver Woodman
Oct 21, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Improve naming of the methods of LivePlaybackSpeedControl
PiperOrigin-RevId: 338232327
parent
54506b50
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
52 deletions
library/core/src/main/java/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.java
library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java
library/core/src/main/java/com/google/android/exoplayer2/LivePlaybackSpeedControl.java
library/core/src/test/java/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControlTest.java
library/core/src/main/java/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.java
View file @
1051580a
...
@@ -181,19 +181,19 @@ public final class DefaultLivePlaybackSpeedControl implements LivePlaybackSpeedC
...
@@ -181,19 +181,19 @@ public final class DefaultLivePlaybackSpeedControl implements LivePlaybackSpeedC
}
}
@Override
@Override
public
void
update
LiveConfiguration
(
LiveConfiguration
liveConfiguration
)
{
public
void
set
LiveConfiguration
(
LiveConfiguration
liveConfiguration
)
{
this
.
mediaConfiguration
=
liveConfiguration
;
this
.
mediaConfiguration
=
liveConfiguration
;
lastPlaybackSpeedUpdateMs
=
C
.
TIME_UNSET
;
lastPlaybackSpeedUpdateMs
=
C
.
TIME_UNSET
;
}
}
@Override
@Override
public
void
overrideTargetLiveOffset
Us
(
long
liveOffsetUs
)
{
public
void
setTargetLiveOffsetOverride
Us
(
long
liveOffsetUs
)
{
this
.
targetLiveOffsetOverrideUs
=
liveOffsetUs
;
this
.
targetLiveOffsetOverrideUs
=
liveOffsetUs
;
lastPlaybackSpeedUpdateMs
=
C
.
TIME_UNSET
;
lastPlaybackSpeedUpdateMs
=
C
.
TIME_UNSET
;
}
}
@Override
@Override
public
float
adjust
PlaybackSpeed
(
long
liveOffsetUs
)
{
public
float
getAdjusted
PlaybackSpeed
(
long
liveOffsetUs
)
{
long
targetLiveOffsetUs
=
getTargetLiveOffsetUs
();
long
targetLiveOffsetUs
=
getTargetLiveOffsetUs
();
if
(
targetLiveOffsetUs
==
C
.
TIME_UNSET
)
{
if
(
targetLiveOffsetUs
==
C
.
TIME_UNSET
)
{
return
1
f
;
return
1
f
;
...
...
library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java
View file @
1051580a
...
@@ -870,7 +870,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
...
@@ -870,7 +870,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
if
(
playbackInfo
.
playWhenReady
if
(
playbackInfo
.
playWhenReady
&&
isCurrentPeriodInMovingLiveWindow
()
&&
isCurrentPeriodInMovingLiveWindow
()
&&
playbackInfo
.
playbackParameters
.
speed
==
1
f
)
{
&&
playbackInfo
.
playbackParameters
.
speed
==
1
f
)
{
float
adjustedSpeed
=
livePlaybackSpeedControl
.
adjustPlaybackSpeed
(
getCurrentLiveOffsetUs
());
float
adjustedSpeed
=
livePlaybackSpeedControl
.
getAdjustedPlaybackSpeed
(
getCurrentLiveOffsetUs
());
if
(
mediaClock
.
getPlaybackParameters
().
speed
!=
adjustedSpeed
)
{
if
(
mediaClock
.
getPlaybackParameters
().
speed
!=
adjustedSpeed
)
{
mediaClock
.
setPlaybackParameters
(
playbackInfo
.
playbackParameters
.
withSpeed
(
adjustedSpeed
));
mediaClock
.
setPlaybackParameters
(
playbackInfo
.
playbackParameters
.
withSpeed
(
adjustedSpeed
));
}
}
...
@@ -1798,9 +1799,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
...
@@ -1798,9 +1799,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
}
}
int
windowIndex
=
newTimeline
.
getPeriodByUid
(
newPeriodId
.
periodUid
,
period
).
windowIndex
;
int
windowIndex
=
newTimeline
.
getPeriodByUid
(
newPeriodId
.
periodUid
,
period
).
windowIndex
;
newTimeline
.
getWindow
(
windowIndex
,
window
);
newTimeline
.
getWindow
(
windowIndex
,
window
);
livePlaybackSpeedControl
.
update
LiveConfiguration
(
window
.
mediaItem
.
liveConfiguration
);
livePlaybackSpeedControl
.
set
LiveConfiguration
(
window
.
mediaItem
.
liveConfiguration
);
if
(
positionForTargetOffsetOverrideUs
!=
C
.
TIME_UNSET
)
{
if
(
positionForTargetOffsetOverrideUs
!=
C
.
TIME_UNSET
)
{
livePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
livePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
getLiveOffsetUs
(
newTimeline
,
newPeriodId
.
periodUid
,
positionForTargetOffsetOverrideUs
));
getLiveOffsetUs
(
newTimeline
,
newPeriodId
.
periodUid
,
positionForTargetOffsetOverrideUs
));
}
else
{
}
else
{
Object
windowUid
=
window
.
uid
;
Object
windowUid
=
window
.
uid
;
...
@@ -1811,7 +1812,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
...
@@ -1811,7 +1812,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
}
}
if
(!
Util
.
areEqual
(
oldWindowUid
,
windowUid
))
{
if
(!
Util
.
areEqual
(
oldWindowUid
,
windowUid
))
{
// Reset overridden target live offset to media values if window changes.
// Reset overridden target live offset to media values if window changes.
livePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
C
.
TIME_UNSET
);
livePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
C
.
TIME_UNSET
);
}
}
}
}
}
}
...
...
library/core/src/main/java/com/google/android/exoplayer2/LivePlaybackSpeedControl.java
View file @
1051580a
...
@@ -24,20 +24,21 @@ import com.google.android.exoplayer2.MediaItem.LiveConfiguration;
...
@@ -24,20 +24,21 @@ import com.google.android.exoplayer2.MediaItem.LiveConfiguration;
public
interface
LivePlaybackSpeedControl
{
public
interface
LivePlaybackSpeedControl
{
/**
/**
*
Update
s the live configuration defined by the media.
*
Set
s the live configuration defined by the media.
*
*
* @param liveConfiguration The {@link LiveConfiguration} as defined by the media.
* @param liveConfiguration The {@link LiveConfiguration} as defined by the media.
*/
*/
void
update
LiveConfiguration
(
LiveConfiguration
liveConfiguration
);
void
set
LiveConfiguration
(
LiveConfiguration
liveConfiguration
);
/**
/**
* Overrides the {@link #updateLiveConfiguration configured} target live offset in microseconds,
* Sets the target live offset in microseconds that overrides the live offset {@link
* or {@code C.TIME_UNSET} to delete a previous override.
* #setLiveConfiguration configured} by the media. Passing {@code C.TIME_UNSET} deletes a previous
* override.
*
*
* <p>If no target live offset is configured by {@link #
updateLiveConfiguration}, this override
* <p>If no target live offset is configured by {@link #
setLiveConfiguration}, this override has
*
has
no effect.
* no effect.
*/
*/
void
overrideTargetLiveOffset
Us
(
long
liveOffsetUs
);
void
setTargetLiveOffsetOverride
Us
(
long
liveOffsetUs
);
/**
/**
* Returns the adjusted playback speed in order get closer towards the {@link
* Returns the adjusted playback speed in order get closer towards the {@link
...
@@ -46,7 +47,7 @@ public interface LivePlaybackSpeedControl {
...
@@ -46,7 +47,7 @@ public interface LivePlaybackSpeedControl {
* @param liveOffsetUs The current live offset, in microseconds.
* @param liveOffsetUs The current live offset, in microseconds.
* @return The adjusted playback speed.
* @return The adjusted playback speed.
*/
*/
float
adjust
PlaybackSpeed
(
long
liveOffsetUs
);
float
getAdjusted
PlaybackSpeed
(
long
liveOffsetUs
);
/**
/**
* Returns the current target live offset, in microseconds, or {@link C#TIME_UNSET} if no target
* Returns the current target live offset, in microseconds, or {@link C#TIME_UNSET} if no target
...
...
library/core/src/test/java/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControlTest.java
View file @
1051580a
...
@@ -40,7 +40,7 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -40,7 +40,7 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
getTargetLiveOffsetUs_afterUpdateLiveConfiguration_usesMediaLiveOffset
()
{
public
void
getTargetLiveOffsetUs_afterUpdateLiveConfiguration_usesMediaLiveOffset
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
42
,
/* minPlaybackSpeed= */
1
f
,
/* maxPlaybackSpeed= */
1
f
));
/* targetLiveOffsetMs= */
42
,
/* minPlaybackSpeed= */
1
f
,
/* maxPlaybackSpeed= */
1
f
));
...
@@ -52,8 +52,8 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -52,8 +52,8 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
defaultLivePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
123_456_789
);
defaultLivePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
123_456_789
);
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
42
,
/* minPlaybackSpeed= */
1
f
,
/* maxPlaybackSpeed= */
1
f
));
/* targetLiveOffsetMs= */
42
,
/* minPlaybackSpeed= */
1
f
,
/* maxPlaybackSpeed= */
1
f
));
...
@@ -67,7 +67,7 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -67,7 +67,7 @@ public class DefaultLivePlaybackSpeedControlTest {
getTargetLiveOffsetUs_afterOverrideTargetLiveOffset_withoutMediaConfiguration_returnsUnset
()
{
getTargetLiveOffsetUs_afterOverrideTargetLiveOffset_withoutMediaConfiguration_returnsUnset
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
defaultLivePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
123_456_789
);
defaultLivePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
123_456_789
);
long
targetLiveOffsetUs
=
defaultLivePlaybackSpeedControl
.
getTargetLiveOffsetUs
();
long
targetLiveOffsetUs
=
defaultLivePlaybackSpeedControl
.
getTargetLiveOffsetUs
();
...
@@ -79,11 +79,11 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -79,11 +79,11 @@ public class DefaultLivePlaybackSpeedControlTest {
getTargetLiveOffsetUs_afterOverrideTargetLiveOffsetUsWithTimeUnset_usesMediaLiveOffset
()
{
getTargetLiveOffsetUs_afterOverrideTargetLiveOffsetUsWithTimeUnset_usesMediaLiveOffset
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
defaultLivePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
123_456_789
);
defaultLivePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
123_456_789
);
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
42
,
/* minPlaybackSpeed= */
1
f
,
/* maxPlaybackSpeed= */
1
f
));
/* targetLiveOffsetMs= */
42
,
/* minPlaybackSpeed= */
1
f
,
/* maxPlaybackSpeed= */
1
f
));
defaultLivePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
C
.
TIME_UNSET
);
defaultLivePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
C
.
TIME_UNSET
);
long
targetLiveOffsetUs
=
defaultLivePlaybackSpeedControl
.
getTargetLiveOffsetUs
();
long
targetLiveOffsetUs
=
defaultLivePlaybackSpeedControl
.
getTargetLiveOffsetUs
();
...
@@ -94,14 +94,14 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -94,14 +94,14 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
adjustPlaybackSpeed_liveOffsetMatchesTargetOffset_returnsUnitSpeed
()
{
public
void
adjustPlaybackSpeed_liveOffsetMatchesTargetOffset_returnsUnitSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed
=
float
adjustedSpeed
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
2_000_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_000_000
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
1
f
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
1
f
);
}
}
...
@@ -110,19 +110,19 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -110,19 +110,19 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
adjustPlaybackSpeed_liveOffsetWithinAcceptableErrorMargin_returnsUnitSpeed
()
{
public
void
adjustPlaybackSpeed_liveOffsetWithinAcceptableErrorMargin_returnsUnitSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeedJustAboveLowerErrorMargin
=
float
adjustedSpeedJustAboveLowerErrorMargin
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_000_000
/* liveOffsetUs= */
2_000_000
-
DefaultLivePlaybackSpeedControl
.
MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED
-
DefaultLivePlaybackSpeedControl
.
MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED
+
1
);
+
1
);
float
adjustedSpeedJustBelowUpperErrorMargin
=
float
adjustedSpeedJustBelowUpperErrorMargin
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_000_000
/* liveOffsetUs= */
2_000_000
+
DefaultLivePlaybackSpeedControl
.
MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED
+
DefaultLivePlaybackSpeedControl
.
MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED
-
1
);
-
1
);
...
@@ -135,14 +135,14 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -135,14 +135,14 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_returnsAdjustedSpeed
()
{
public
void
adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_returnsAdjustedSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setProportionalControlFactor
(
0.01f
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setProportionalControlFactor
(
0.01f
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed
=
float
adjustedSpeed
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
float
expectedSpeedAccordingToDocumentation
=
1
f
+
0.01f
*
(
2.5f
-
2
f
);
float
expectedSpeedAccordingToDocumentation
=
1
f
+
0.01f
*
(
2.5f
-
2
f
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
expectedSpeedAccordingToDocumentation
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
expectedSpeedAccordingToDocumentation
);
...
@@ -153,15 +153,15 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -153,15 +153,15 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_returnsAdjustedSpeed
()
{
public
void
adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_returnsAdjustedSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setProportionalControlFactor
(
0.01f
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setProportionalControlFactor
(
0.01f
).
build
();
defaultLivePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
2_000_000
);
defaultLivePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
2_000_000
);
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed
=
float
adjustedSpeed
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
float
expectedSpeedAccordingToDocumentation
=
1
f
+
0.01f
*
(
1.5f
-
2
f
);
float
expectedSpeedAccordingToDocumentation
=
1
f
+
0.01f
*
(
1.5f
-
2
f
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
expectedSpeedAccordingToDocumentation
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
expectedSpeedAccordingToDocumentation
);
...
@@ -173,14 +173,15 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -173,14 +173,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_clampedToFallbackMaximumSpeed
()
{
adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_clampedToFallbackMaximumSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMaxPlaybackSpeed
(
1.5f
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMaxPlaybackSpeed
(
1.5f
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed
=
float
adjustedSpeed
=
defaultLivePlaybackSpeedControl
.
adjustPlaybackSpeed
(
/* liveOffsetUs= */
999_999_999_999L
);
defaultLivePlaybackSpeedControl
.
getAdjustedPlaybackSpeed
(
/* liveOffsetUs= */
999_999_999_999L
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
1.5f
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
1.5f
);
}
}
...
@@ -190,14 +191,15 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -190,14 +191,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_clampedToFallbackMinimumSpeed
()
{
adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_clampedToFallbackMinimumSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMinPlaybackSpeed
(
0.5f
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMinPlaybackSpeed
(
0.5f
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed
=
float
adjustedSpeed
=
defaultLivePlaybackSpeedControl
.
adjustPlaybackSpeed
(
/* liveOffsetUs= */
-
999_999_999_999L
);
defaultLivePlaybackSpeedControl
.
getAdjustedPlaybackSpeed
(
/* liveOffsetUs= */
-
999_999_999_999L
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
0.5f
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
0.5f
);
}
}
...
@@ -207,14 +209,15 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -207,14 +209,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_andMediaProvidedMaxSpeedWithLiveOffsetGreaterThanTargetOffset_clampedToMediaMaxSpeed
()
{
adjustPlaybackSpeed_andMediaProvidedMaxSpeedWithLiveOffsetGreaterThanTargetOffset_clampedToMediaMaxSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMaxPlaybackSpeed
(
1.5f
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMaxPlaybackSpeed
(
1.5f
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
2
f
));
/* maxPlaybackSpeed= */
2
f
));
float
adjustedSpeed
=
float
adjustedSpeed
=
defaultLivePlaybackSpeedControl
.
adjustPlaybackSpeed
(
/* liveOffsetUs= */
999_999_999_999L
);
defaultLivePlaybackSpeedControl
.
getAdjustedPlaybackSpeed
(
/* liveOffsetUs= */
999_999_999_999L
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
2
f
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
2
f
);
}
}
...
@@ -224,14 +227,15 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -224,14 +227,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_andMediaProvidedMinSpeedWithLiveOffsetLowerThanTargetOffset_clampedToMediaMinSpeed
()
{
adjustPlaybackSpeed_andMediaProvidedMinSpeedWithLiveOffsetLowerThanTargetOffset_clampedToMediaMinSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMinPlaybackSpeed
(
0.5f
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setFallbackMinPlaybackSpeed
(
0.5f
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
0.2f
,
/* minPlaybackSpeed= */
0.2f
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed
=
float
adjustedSpeed
=
defaultLivePlaybackSpeedControl
.
adjustPlaybackSpeed
(
/* liveOffsetUs= */
-
999_999_999_999L
);
defaultLivePlaybackSpeedControl
.
getAdjustedPlaybackSpeed
(
/* liveOffsetUs= */
-
999_999_999_999L
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
0.2f
);
assertThat
(
adjustedSpeed
).
isEqualTo
(
0.2f
);
}
}
...
@@ -240,20 +244,20 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -240,20 +244,20 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
adjustPlaybackSpeed_repeatedCallWithinMinUpdateInterval_returnsSameAdjustedSpeed
()
{
public
void
adjustPlaybackSpeed_repeatedCallWithinMinUpdateInterval_returnsSameAdjustedSpeed
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setMinUpdateIntervalMs
(
123
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setMinUpdateIntervalMs
(
123
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed1
=
float
adjustedSpeed1
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
ShadowSystemClock
.
advanceBy
(
Duration
.
ofMillis
(
122
));
ShadowSystemClock
.
advanceBy
(
Duration
.
ofMillis
(
122
));
float
adjustedSpeed2
=
float
adjustedSpeed2
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
ShadowSystemClock
.
advanceBy
(
Duration
.
ofMillis
(
2
));
ShadowSystemClock
.
advanceBy
(
Duration
.
ofMillis
(
2
));
float
adjustedSpeed3
=
float
adjustedSpeed3
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
assertThat
(
adjustedSpeed1
).
isEqualTo
(
adjustedSpeed2
);
assertThat
(
adjustedSpeed1
).
isEqualTo
(
adjustedSpeed2
);
assertThat
(
adjustedSpeed3
).
isNotEqualTo
(
adjustedSpeed2
);
assertThat
(
adjustedSpeed3
).
isNotEqualTo
(
adjustedSpeed2
);
...
@@ -263,21 +267,21 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -263,21 +267,21 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
adjustPlaybackSpeed_repeatedCallAfterUpdateLiveConfiguration_updatesSpeedAgain
()
{
public
void
adjustPlaybackSpeed_repeatedCallAfterUpdateLiveConfiguration_updatesSpeedAgain
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setMinUpdateIntervalMs
(
123
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setMinUpdateIntervalMs
(
123
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed1
=
float
adjustedSpeed1
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed2
=
float
adjustedSpeed2
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
assertThat
(
adjustedSpeed1
).
isNotEqualTo
(
adjustedSpeed2
);
assertThat
(
adjustedSpeed1
).
isNotEqualTo
(
adjustedSpeed2
);
}
}
...
@@ -286,17 +290,17 @@ public class DefaultLivePlaybackSpeedControlTest {
...
@@ -286,17 +290,17 @@ public class DefaultLivePlaybackSpeedControlTest {
public
void
adjustPlaybackSpeed_repeatedCallAfterNewTargetLiveOffset_updatesSpeedAgain
()
{
public
void
adjustPlaybackSpeed_repeatedCallAfterNewTargetLiveOffset_updatesSpeedAgain
()
{
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
DefaultLivePlaybackSpeedControl
defaultLivePlaybackSpeedControl
=
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setMinUpdateIntervalMs
(
123
).
build
();
new
DefaultLivePlaybackSpeedControl
.
Builder
().
setMinUpdateIntervalMs
(
123
).
build
();
defaultLivePlaybackSpeedControl
.
update
LiveConfiguration
(
defaultLivePlaybackSpeedControl
.
set
LiveConfiguration
(
new
LiveConfiguration
(
new
LiveConfiguration
(
/* targetLiveOffsetMs= */
2_000
,
/* targetLiveOffsetMs= */
2_000
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* minPlaybackSpeed= */
C
.
RATE_UNSET
,
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
/* maxPlaybackSpeed= */
C
.
RATE_UNSET
));
float
adjustedSpeed1
=
float
adjustedSpeed1
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
1_500_000
);
defaultLivePlaybackSpeedControl
.
overrideTargetLiveOffset
Us
(
2_000_001
);
defaultLivePlaybackSpeedControl
.
setTargetLiveOffsetOverride
Us
(
2_000_001
);
float
adjustedSpeed2
=
float
adjustedSpeed2
=
defaultLivePlaybackSpeedControl
.
adjust
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
defaultLivePlaybackSpeedControl
.
getAdjusted
PlaybackSpeed
(
/* liveOffsetUs= */
2_500_000
);
assertThat
(
adjustedSpeed1
).
isNotEqualTo
(
adjustedSpeed2
);
assertThat
(
adjustedSpeed1
).
isNotEqualTo
(
adjustedSpeed2
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment