diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java index 863ea198bb..4a445c54e4 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java @@ -48,6 +48,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.math.BigDecimal; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; @@ -759,8 +760,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser segments = mediaPlaylist.segments; assertThat(segments).isNotNull(); - assertThat(segments).hasSize(5); + assertThat(segments).hasSize(6); Segment segment = segments.get(0); assertThat(mediaPlaylist.discontinuitySequence + segment.relativeDiscontinuitySequence) @@ -152,6 +156,9 @@ public class HlsMediaPlaylistParserTest { assertThat(segment.byteRangeLength).isEqualTo(C.LENGTH_UNSET); assertThat(segment.byteRangeOffset).isEqualTo(0); assertThat(segment.url).isEqualTo("https://priv.example.com/fileSequence2683.ts"); + + segment = segments.get(5); + assertThat(segment.durationUs).isEqualTo(2002000); } @Test @@ -389,7 +396,7 @@ public class HlsMediaPlaylistParserTest { .parse(playlistUri, inputStream); assertThat(playlist.segments).hasSize(3); - assertThat(playlist.segments.get(1).relativeStartTimeUs).isEqualTo(4000079); + assertThat(playlist.segments.get(1).relativeStartTimeUs).isEqualTo(4000080); assertThat(previousPlaylist.segments.get(0).relativeDiscontinuitySequence).isEqualTo(0); assertThat(previousPlaylist.segments.get(1).relativeDiscontinuitySequence).isEqualTo(1); assertThat(previousPlaylist.segments.get(2).relativeDiscontinuitySequence).isEqualTo(1); @@ -448,12 +455,12 @@ public class HlsMediaPlaylistParserTest { assertThat(playlist.segments.get(0).parts.get(0).relativeDiscontinuitySequence).isEqualTo(1); assertThat(playlist.segments.get(0).parts.get(1).relativeStartTimeUs).isEqualTo(2000000); assertThat(playlist.segments.get(0).parts.get(1).relativeDiscontinuitySequence).isEqualTo(1); - assertThat(playlist.segments.get(1).relativeStartTimeUs).isEqualTo(4000079); - assertThat(playlist.segments.get(1).parts.get(0).relativeStartTimeUs).isEqualTo(4000079); + assertThat(playlist.segments.get(1).relativeStartTimeUs).isEqualTo(4000080); + assertThat(playlist.segments.get(1).parts.get(0).relativeStartTimeUs).isEqualTo(4000080); assertThat(playlist.segments.get(1).parts.get(1).relativeDiscontinuitySequence).isEqualTo(1); - assertThat(playlist.segments.get(1).parts.get(1).relativeStartTimeUs).isEqualTo(6000079); + assertThat(playlist.segments.get(1).parts.get(1).relativeStartTimeUs).isEqualTo(6000080); assertThat(playlist.segments.get(1).parts.get(1).relativeDiscontinuitySequence).isEqualTo(1); - assertThat(playlist.trailingParts.get(0).relativeStartTimeUs).isEqualTo(8000158); + assertThat(playlist.trailingParts.get(0).relativeStartTimeUs).isEqualTo(8000160); assertThat(playlist.trailingParts.get(0).relativeDiscontinuitySequence).isEqualTo(1); }