diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/ConstantBitrateSeeker.java b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/ConstantBitrateSeeker.java index 90fdfce85e..db134089b9 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/ConstantBitrateSeeker.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/ConstantBitrateSeeker.java @@ -22,7 +22,6 @@ import com.google.android.exoplayer.C; */ /* package */ final class ConstantBitrateSeeker implements Mp3Extractor.Seeker { - private static final int MICROSECONDS_PER_SECOND = 1000000; private static final int BITS_PER_BYTE = 8; private final long firstFramePosition; @@ -43,12 +42,12 @@ import com.google.android.exoplayer.C; @Override public long getPosition(long timeUs) { return durationUs == C.UNKNOWN_TIME_US ? 0 - : firstFramePosition + (timeUs * bitrate) / (MICROSECONDS_PER_SECOND * BITS_PER_BYTE); + : firstFramePosition + (timeUs * bitrate) / (C.MICROS_PER_SECOND * BITS_PER_BYTE); } @Override public long getTimeUs(long position) { - return ((position - firstFramePosition) * MICROSECONDS_PER_SECOND * BITS_PER_BYTE) / bitrate; + return ((position - firstFramePosition) * C.MICROS_PER_SECOND * BITS_PER_BYTE) / bitrate; } @Override diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/Mp3Extractor.java b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/Mp3Extractor.java index bbc717fd9e..ddeea484f5 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/Mp3Extractor.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/Mp3Extractor.java @@ -187,7 +187,7 @@ public final class Mp3Extractor implements Extractor { sampleBytesRemaining = synchronizedHeader.frameSize; } - long timeUs = basisTimeUs + (samplesRead * 1000000L / synchronizedHeader.sampleRate); + long timeUs = basisTimeUs + (samplesRead * C.MICROS_PER_SECOND / synchronizedHeader.sampleRate); // Start by draining any buffered bytes, then read directly from the extractor input. sampleBytesRemaining -= inputBuffer.drainToOutput(trackOutput, sampleBytesRemaining); diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/VbriSeeker.java b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/VbriSeeker.java index 49cb846cd7..170a944409 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/VbriSeeker.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/VbriSeeker.java @@ -15,6 +15,7 @@ */ package com.google.android.exoplayer.extractor.mp3; +import com.google.android.exoplayer.C; import com.google.android.exoplayer.util.MpegAudioHeader; import com.google.android.exoplayer.util.ParsableByteArray; import com.google.android.exoplayer.util.Util; @@ -44,8 +45,8 @@ import com.google.android.exoplayer.util.Util; return null; } int sampleRate = mpegAudioHeader.sampleRate; - long durationUs = Util.scaleLargeTimestamp( - numFrames, 1000000L * (sampleRate >= 32000 ? 1152 : 576), sampleRate); + long durationUs = Util.scaleLargeTimestamp(numFrames, + C.MICROS_PER_SECOND * (sampleRate >= 32000 ? 1152 : 576), sampleRate); int numEntries = frame.readUnsignedShort(); int scale = frame.readUnsignedShort(); int entrySize = frame.readUnsignedShort(); diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/XingSeeker.java b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/XingSeeker.java index 7de38898c5..bc548f676c 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/mp3/XingSeeker.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/mp3/XingSeeker.java @@ -50,7 +50,8 @@ import com.google.android.exoplayer.util.Util; // If the frame count is missing/invalid, the header can't be used to determine the duration. return null; } - long durationUs = Util.scaleLargeTimestamp(frameCount, samplesPerFrame * 1000000L, sampleRate); + long durationUs = Util.scaleLargeTimestamp(frameCount, samplesPerFrame * C.MICROS_PER_SECOND, + sampleRate); if ((flags & 0x06) != 0x06) { // If the size in bytes or table of contents is missing, the stream is not seekable. return new XingSeeker(inputLength, firstFramePosition, durationUs);