mediapc: use SystemClock in latency test
Bug: 230908680
Test: atest android.mediapc.cts.CodecInitializationLatencyTest
Change-Id: I05f2072e25608766648fad5c88888c9387f2d0c6
diff --git a/tests/mediapc/src/android/mediapc/cts/CodecInitializationLatencyTest.java b/tests/mediapc/src/android/mediapc/cts/CodecInitializationLatencyTest.java
index 0379090..ea978f2 100644
--- a/tests/mediapc/src/android/mediapc/cts/CodecInitializationLatencyTest.java
+++ b/tests/mediapc/src/android/mediapc/cts/CodecInitializationLatencyTest.java
@@ -37,6 +37,7 @@
import android.media.MediaRecorder;
import android.mediapc.cts.common.PerformanceClassEvaluator;
import android.mediapc.cts.common.Utils;
+import android.os.SystemClock;
import android.util.Log;
import android.util.Pair;
import android.view.Surface;
@@ -435,14 +436,14 @@
MediaCodec.BufferInfo outInfo = new MediaCodec.BufferInfo();
long enqueueTimeStamp = 0;
long dequeueTimeStamp = 0;
- long baseTimeStamp = System.nanoTime();
+ long baseTimeStamp = SystemClock.elapsedRealtimeNanos();
mCodec = MediaCodec.createByCodecName(mEncoderName);
resetContext(mIsAsync, false);
mAsyncHandle.setCallBack(mCodec, mIsAsync);
mCodec.configure(format, null, MediaCodec.CONFIGURE_FLAG_ENCODE, null);
- long configureTimeStamp = System.nanoTime();
+ long configureTimeStamp = SystemClock.elapsedRealtimeNanos();
mCodec.start();
- long startTimeStamp = System.nanoTime();
+ long startTimeStamp = SystemClock.elapsedRealtimeNanos();
if (mIsAsync) {
// We will keep on feeding the input to encoder until we see the first dequeued
// frame.
@@ -452,12 +453,12 @@
int bufferID = element.first;
MediaCodec.BufferInfo info = element.second;
if (info != null) {
- dequeueTimeStamp = System.nanoTime();
+ dequeueTimeStamp = SystemClock.elapsedRealtimeNanos();
dequeueOutput(bufferID, info);
break;
} else {
if (enqueueTimeStamp == 0) {
- enqueueTimeStamp = System.nanoTime();
+ enqueueTimeStamp = SystemClock.elapsedRealtimeNanos();
}
enqueueInput(bufferID);
}
@@ -469,14 +470,14 @@
int inputBufferId = mCodec.dequeueInputBuffer(Q_DEQ_TIMEOUT_US);
if (inputBufferId > 0) {
if (enqueueTimeStamp == 0) {
- enqueueTimeStamp = System.nanoTime();
+ enqueueTimeStamp = SystemClock.elapsedRealtimeNanos();
}
enqueueInput(inputBufferId);
}
}
int outputBufferId = mCodec.dequeueOutputBuffer(outInfo, Q_DEQ_TIMEOUT_US);
if (outputBufferId >= 0) {
- dequeueTimeStamp = System.nanoTime();
+ dequeueTimeStamp = SystemClock.elapsedRealtimeNanos();
dequeueOutput(outputBufferId, outInfo);
break;
}
@@ -531,14 +532,14 @@
MediaFormat format = setUpSource(mTestFile);
long enqueueTimeStamp = 0;
long dequeueTimeStamp = 0;
- long baseTimeStamp = System.nanoTime();
+ long baseTimeStamp = SystemClock.elapsedRealtimeNanos();
mCodec = MediaCodec.createByCodecName(mDecoderName);
resetContext(mIsAsync, false);
mAsyncHandle.setCallBack(mCodec, mIsAsync);
mCodec.configure(format, mSurface, 0, null);
- long configureTimeStamp = System.nanoTime();
+ long configureTimeStamp = SystemClock.elapsedRealtimeNanos();
mCodec.start();
- long startTimeStamp = System.nanoTime();
+ long startTimeStamp = SystemClock.elapsedRealtimeNanos();
if (mIsAsync) {
// We will keep on feeding the input to decoder until we see the first dequeued
// frame.
@@ -548,12 +549,12 @@
int bufferID = element.first;
MediaCodec.BufferInfo info = element.second;
if (info != null) {
- dequeueTimeStamp = System.nanoTime();
+ dequeueTimeStamp = SystemClock.elapsedRealtimeNanos();
dequeueOutput(bufferID, info);
break;
} else {
if (enqueueTimeStamp == 0) {
- enqueueTimeStamp = System.nanoTime();
+ enqueueTimeStamp = SystemClock.elapsedRealtimeNanos();
}
enqueueInput(bufferID);
}
@@ -565,14 +566,14 @@
int inputBufferId = mCodec.dequeueInputBuffer(Q_DEQ_TIMEOUT_US);
if (inputBufferId >= 0) {
if (enqueueTimeStamp == 0) {
- enqueueTimeStamp = System.nanoTime();
+ enqueueTimeStamp = SystemClock.elapsedRealtimeNanos();
}
enqueueInput(inputBufferId);
}
}
int outputBufferId = mCodec.dequeueOutputBuffer(outInfo, Q_DEQ_TIMEOUT_US);
if (outputBufferId >= 0) {
- dequeueTimeStamp = System.nanoTime();
+ dequeueTimeStamp = SystemClock.elapsedRealtimeNanos();
dequeueOutput(outputBufferId, outInfo);
break;
}