mirror of
https://github.com/androidx/media.git
synced 2025-05-03 21:57:46 +08:00
Implement a segment based speed provider and interface.
PiperOrigin-RevId: 352401836
This commit is contained in:
parent
dedf60713d
commit
1be4960464
@ -23,7 +23,9 @@ import androidx.annotation.Nullable;
|
|||||||
import com.google.android.exoplayer2.metadata.Metadata;
|
import com.google.android.exoplayer2.metadata.Metadata;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
import com.google.common.base.Objects;
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.collect.ComparisonChain;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/** Holds information about the segments of slow motion playback within a track. */
|
/** Holds information about the segments of slow motion playback within a track. */
|
||||||
@ -32,6 +34,14 @@ public final class SlowMotionData implements Metadata.Entry {
|
|||||||
/** Holds information about a single segment of slow motion playback within a track. */
|
/** Holds information about a single segment of slow motion playback within a track. */
|
||||||
public static final class Segment implements Parcelable {
|
public static final class Segment implements Parcelable {
|
||||||
|
|
||||||
|
public static final Comparator<Segment> BY_START_THEN_END_THEN_DIVISOR =
|
||||||
|
(s1, s2) ->
|
||||||
|
ComparisonChain.start()
|
||||||
|
.compare(s1.startTimeMs, s2.startTimeMs)
|
||||||
|
.compare(s1.endTimeMs, s2.endTimeMs)
|
||||||
|
.compare(s1.speedDivisor, s2.speedDivisor)
|
||||||
|
.result();
|
||||||
|
|
||||||
/** The start time, in milliseconds, of the track segment that is intended to be slow motion. */
|
/** The start time, in milliseconds, of the track segment that is intended to be slow motion. */
|
||||||
public final long startTimeMs;
|
public final long startTimeMs;
|
||||||
/** The end time, in milliseconds, of the track segment that is intended to be slow motion. */
|
/** The end time, in milliseconds, of the track segment that is intended to be slow motion. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user