From 8403101d0f005e439d4fea48ca56af3b7686770e Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 9 Oct 2014 19:05:57 -0700 Subject: [PATCH] Small performance optimization by only blocking on an input buffer if we've already got a DU --- .../limelight/binding/video/MediaCodecDecoderRenderer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java b/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java index 47c04e1a..06d77a69 100644 --- a/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java +++ b/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java @@ -327,9 +327,10 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer { // frames out of the other end. if (inputIndex == -1) { try { - // Wait for 3 milliseconds at maximum before continuing to - // grab a DU or render a frame - inputIndex = videoDecoder.dequeueInputBuffer(3000); + // If we've got a DU waiting to be given to the decoder, + // wait a full 3 ms for an input buffer. Otherwise + // just see if we can get one immediately. + inputIndex = videoDecoder.dequeueInputBuffer(du != null ? 3000 : 0); } catch (Exception e) { throw new RendererException(MediaCodecDecoderRenderer.this, e); }