From 963e604ffd1cab42112121901b4908ed30bdcc25 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Wed, 25 Nov 2015 17:03:57 +0000 Subject: [PATCH] Misc cleanup. - Remove some unnecessary condition checking. - Rename variable to a better name. --- .../exoplayer/MediaCodecTrackRenderer.java | 4 +--- .../android/exoplayer/audio/AudioTrack.java | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer/MediaCodecTrackRenderer.java b/library/src/main/java/com/google/android/exoplayer/MediaCodecTrackRenderer.java index f8a2518f88..77698d9f43 100644 --- a/library/src/main/java/com/google/android/exoplayer/MediaCodecTrackRenderer.java +++ b/library/src/main/java/com/google/android/exoplayer/MediaCodecTrackRenderer.java @@ -450,9 +450,7 @@ public abstract class MediaCodecTrackRenderer extends SampleSourceTrackRenderer if (format == null) { readFormat(positionUs); } - if (codec == null && shouldInitCodec()) { - maybeInitCodec(); - } + maybeInitCodec(); if (codec != null) { TraceUtil.beginSection("drainAndFeed"); while (drainOutputBuffer(positionUs, elapsedRealtimeUs)) {} diff --git a/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java b/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java index ea2501848c..6cdf6c6ede 100644 --- a/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java +++ b/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java @@ -221,7 +221,7 @@ public final class AudioTrack { private byte[] temporaryBuffer; private int temporaryBufferOffset; - private int temporaryBufferSize; + private int bufferBytesRemaining; /** * Creates an audio track with default audio capabilities (no encoded audio passthrough support). @@ -553,9 +553,10 @@ public final class AudioTrack { } int result = 0; - if (temporaryBufferSize == 0) { - // This is the first time we've seen this {@code buffer}. - temporaryBufferSize = size; + if (bufferBytesRemaining == 0) { + // The previous buffer (if there was one) was fully written to the audio track. We're now + // seeing a new buffer for the first time. + bufferBytesRemaining = size; buffer.position(offset); if (passthrough && framesPerEncodedSample == 0) { // If this is the first encoded sample, calculate the sample size in frames. @@ -602,25 +603,25 @@ public final class AudioTrack { (int) (submittedPcmBytes - (audioTrackUtil.getPlaybackHeadPosition() * pcmFrameSize)); int bytesToWrite = bufferSize - bytesPending; if (bytesToWrite > 0) { - bytesToWrite = Math.min(temporaryBufferSize, bytesToWrite); + bytesToWrite = Math.min(bufferBytesRemaining, bytesToWrite); bytesWritten = audioTrack.write(temporaryBuffer, temporaryBufferOffset, bytesToWrite); if (bytesWritten >= 0) { temporaryBufferOffset += bytesWritten; } } } else { - bytesWritten = writeNonBlockingV21(audioTrack, buffer, temporaryBufferSize); + bytesWritten = writeNonBlockingV21(audioTrack, buffer, bufferBytesRemaining); } if (bytesWritten < 0) { throw new WriteException(bytesWritten); } - temporaryBufferSize -= bytesWritten; + bufferBytesRemaining -= bytesWritten; if (!passthrough) { submittedPcmBytes += bytesWritten; } - if (temporaryBufferSize == 0) { + if (bufferBytesRemaining == 0) { if (passthrough) { submittedEncodedFrames += framesPerEncodedSample; } @@ -704,7 +705,7 @@ public final class AudioTrack { submittedPcmBytes = 0; submittedEncodedFrames = 0; framesPerEncodedSample = 0; - temporaryBufferSize = 0; + bufferBytesRemaining = 0; startMediaTimeState = START_NOT_SET; latencyUs = 0; resetSyncParams();