From e7926145c6798f14cda0939cfc4bb3aaa8306be0 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Tue, 15 Sep 2015 13:42:16 +0100 Subject: [PATCH] Fix overflow for DASH live streams using large timescales. Issue: #789 --- .../android/exoplayer/extractor/mp4/FragmentedMp4Extractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor.java b/library/src/main/java/com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor.java index 3dfd8cd409..291b167971 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor.java @@ -495,7 +495,7 @@ public final class FragmentedMp4Extractor implements Extractor { } else { sampleCompositionTimeOffsetTable[i] = 0; } - sampleDecodingTimeTable[i] = (cumulativeTime * 1000) / timescale; + sampleDecodingTimeTable[i] = Util.scaleLargeTimestamp(cumulativeTime, 1000, timescale); sampleSizeTable[i] = sampleSize; sampleIsSyncFrameTable[i] = ((sampleFlags >> 16) & 0x1) == 0 && (!workaroundEveryVideoFrameIsSyncFrame || i == 0);