From fed2a1a6eaf8025bc6ff8ff92c78ce7dcabc17d1 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Tue, 19 Sep 2017 08:46:04 -0700 Subject: [PATCH] Fix PTS wraparound in HLS+Webvtt Issue:#2928 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=169246424 --- .../android/exoplayer2/source/hls/WebvttExtractor.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java index 12ea2c16c7..0b8f7f36a6 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java @@ -141,8 +141,7 @@ import java.util.regex.Pattern; throw new ParserException("X-TIMESTAMP-MAP doesn't contain media timestamp: " + line); } vttTimestampUs = WebvttParserUtil.parseTimestampUs(localTimestampMatcher.group(1)); - tsTimestampUs = TimestampAdjuster.ptsToUs( - Long.parseLong(mediaTimestampMatcher.group(1))); + tsTimestampUs = TimestampAdjuster.ptsToUs(Long.parseLong(mediaTimestampMatcher.group(1))); } } @@ -155,8 +154,8 @@ import java.util.regex.Pattern; } long firstCueTimeUs = WebvttParserUtil.parseTimestampUs(cueHeaderMatcher.group(1)); - long sampleTimeUs = timestampAdjuster.adjustSampleTimestamp( - firstCueTimeUs + tsTimestampUs - vttTimestampUs); + long sampleTimeUs = timestampAdjuster.adjustTsTimestamp( + TimestampAdjuster.usToPts(firstCueTimeUs + tsTimestampUs - vttTimestampUs)); long subsampleOffsetUs = sampleTimeUs - firstCueTimeUs; // Output the track. TrackOutput trackOutput = buildTrackOutput(subsampleOffsetUs);