From a74de39879236edc7537a1c503ba2d092220e596 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 2 Jul 2014 08:16:54 -0700 Subject: [PATCH] Update latency tracking code --- .../binding/video/MediaCodecDecoderRenderer.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java b/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java index 16bb6ebb..258cf641 100644 --- a/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java +++ b/src/com/limelight/binding/video/MediaCodecDecoderRenderer.java @@ -184,7 +184,7 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer { int lastIndex = outIndex; // Add delta time to the totals (excluding probable outliers) - long delta = System.currentTimeMillis()-info.presentationTimeUs; + long delta = System.currentTimeMillis()-(info.presentationTimeUs/1000); if (delta > 5 && delta < 300) { decoderTimeMs += delta; totalTimeMs += delta; @@ -327,7 +327,7 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer { videoDecoder.queueInputBuffer(inputIndex, 0, spsLength, - currentTime, codecFlags); + currentTime * 1000, codecFlags); return true; } } @@ -340,7 +340,7 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer { videoDecoder.queueInputBuffer(inputIndex, 0, decodeUnit.getDataLength(), - currentTime, codecFlags); + currentTime * 1000, codecFlags); } return true; @@ -432,11 +432,17 @@ public class MediaCodecDecoderRenderer implements VideoDecoderRenderer { @Override public int getAverageDecoderLatency() { + if (totalFrames == 0) { + return 0; + } return (int)(decoderTimeMs / totalFrames); } @Override public int getAverageEndToEndLatency() { + if (totalFrames == 0) { + return 0; + } return (int)(totalTimeMs / totalFrames); } }