From f88149385a63c407f0589f496b87a864a1aa32cd Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 7 Aug 2017 03:45:10 -0700 Subject: [PATCH] Avoid rollover calculating sample offsets I considered using Util.scaleLargeTimestamp for this, but given sample offsets are relative and should always be small (<<1s), it really shouldn't be necessary. Issue: #3139 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=164443795 --- .../exoplayer2/extractor/mp4/FragmentedMp4Extractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java b/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java index 6dcae9c2d6..6b2077ef76 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java @@ -815,7 +815,7 @@ public final class FragmentedMp4Extractor implements Extractor { // here, because unsigned integers will still be parsed correctly (unless their top bit is // set, which is never true in practice because sample offsets are always small). int sampleOffset = trun.readInt(); - sampleCompositionTimeOffsetTable[i] = (int) ((sampleOffset * 1000) / timescale); + sampleCompositionTimeOffsetTable[i] = (int) ((sampleOffset * 1000L) / timescale); } else { sampleCompositionTimeOffsetTable[i] = 0; }