summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Rosenberger <corosenberger@google.com>2023-01-13 02:57:59 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-01-13 02:57:59 +0000
commit515ba290d83bf76a2fdf05ca105beb94f362186d (patch)
treebcc07968253fd2e6fd4116b0ce264c35c10ff15f
parent85072942303eadecb3e763f56efeb67b20f0e84e (diff)
parent1e6cdb7d4d0ca7d451518866b4fa40ca294ea99a (diff)
downloadcts-515ba290d83bf76a2fdf05ca105beb94f362186d.tar.gz
Merge "Updating MediaPerformanceClassCommon with audio tap-to-tone code" into android13-tests-dev
-rw-r--r--tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java53
-rw-r--r--tests/mediapc/common/src/android/mediapc/cts/common/RequirementConstants.java5
2 files changed, 57 insertions, 1 deletions
diff --git a/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java b/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java
index 77326bd9a52..5f8ef128fd1 100644
--- a/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java
+++ b/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java
@@ -23,6 +23,7 @@ import static org.junit.Assume.assumeTrue;
import android.hardware.camera2.CameraMetadata;
import android.media.MediaFormat;
import android.os.Build;
+import android.util.Log;
import com.google.common.base.Preconditions;
@@ -1466,6 +1467,46 @@ public class PerformanceClassEvaluator {
}
}
+ public static class AudioTap2ToneLatencyRequirement extends Requirement {
+ private static final String TAG = AudioTap2ToneLatencyRequirement.class.getSimpleName();
+
+ private AudioTap2ToneLatencyRequirement(String id, RequiredMeasurement<?> ... reqs) {
+ super(id, reqs);
+ }
+
+ public void setNativeLatency(double latency) {
+ this.setMeasuredValue(RequirementConstants.API_NATIVE_LATENCY, latency);
+ }
+
+ public void setJavaLatency(double latency) {
+ this.setMeasuredValue(RequirementConstants.API_JAVA_LATENCY, latency);
+ }
+
+ public static AudioTap2ToneLatencyRequirement createR5_6__H_1_1() {
+ RequiredMeasurement<Double> apiNativeLatency = RequiredMeasurement
+ .<Double>builder()
+ .setId(RequirementConstants.API_NATIVE_LATENCY)
+ .setPredicate(RequirementConstants.DOUBLE_LTE)
+ .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 80.0)
+ .addRequiredValue(Build.VERSION_CODES.S, 100.0)
+ .addRequiredValue(Build.VERSION_CODES.R, 100.0)
+ .build();
+ RequiredMeasurement<Double> apiJavaLatency = RequiredMeasurement
+ .<Double>builder()
+ .setId(RequirementConstants.API_JAVA_LATENCY)
+ .setPredicate(RequirementConstants.DOUBLE_LTE)
+ .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 80.0)
+ .addRequiredValue(Build.VERSION_CODES.S, 100.0)
+ .addRequiredValue(Build.VERSION_CODES.R, 100.0)
+ .build();
+
+ return new AudioTap2ToneLatencyRequirement(
+ RequirementConstants.R5_6__H_1_1,
+ apiNativeLatency,
+ apiJavaLatency);
+ }
+ }
+
public <R extends Requirement> R addRequirement(R req) {
if (!this.mRequirements.add(req)) {
throw new IllegalStateException("Requirement " + req.id() + " already added");
@@ -1697,6 +1738,10 @@ public class PerformanceClassEvaluator {
return this.addRequirement(StreamUseCaseRequirement.createStreamUseCaseReq());
}
+ public AudioTap2ToneLatencyRequirement addR5_6__H_1_1() {
+ return this.addRequirement(AudioTap2ToneLatencyRequirement.createR5_6__H_1_1());
+ }
+
public void submitAndCheck() {
boolean perfClassMet = submit();
@@ -1705,6 +1750,14 @@ public class PerformanceClassEvaluator {
assertThat(perfClassMet).isTrue();
}
+ public void submitAndVerify() {
+ boolean perfClassMet = submit();
+
+ if (!perfClassMet && Utils.isPerfClass()) {
+ Log.w(TAG, "Device did not meet specified performance class: " + Utils.getPerfClass());
+ }
+ }
+
public boolean submit() {
boolean perfClassMet = true;
for (Requirement req: this.mRequirements) {
diff --git a/tests/mediapc/common/src/android/mediapc/cts/common/RequirementConstants.java b/tests/mediapc/common/src/android/mediapc/cts/common/RequirementConstants.java
index 8a8da7dfbff..6f055954297 100644
--- a/tests/mediapc/common/src/android/mediapc/cts/common/RequirementConstants.java
+++ b/tests/mediapc/common/src/android/mediapc/cts/common/RequirementConstants.java
@@ -130,6 +130,8 @@ public class RequirementConstants {
"rear_camera_stream_usecase_supported";
public static final String FRONT_CAMERA_STREAM_USECASE_SUPPORTED =
"front_camera_stream_usecase_supported";
+ public static final String API_NATIVE_LATENCY = "native_latency_ms";
+ public static final String API_JAVA_LATENCY = "java_latency_ms";
public enum Result {
NA, MET, UNMET
@@ -141,9 +143,10 @@ public class RequirementConstants {
public static final BiPredicate<Integer, Integer> INTEGER_GTE = RequirementConstants.gte();
public static final BiPredicate<Integer, Integer> INTEGER_LTE = RequirementConstants.lte();
public static final BiPredicate<Integer, Integer> INTEGER_EQ = RequirementConstants.eq();
+ public static final BiPredicate<Double, Double> DOUBLE_GTE = RequirementConstants.gte();
+ public static final BiPredicate<Double, Double> DOUBLE_LTE = RequirementConstants.lte();
public static final BiPredicate<Double, Double> DOUBLE_EQ = RequirementConstants.eq();
public static final BiPredicate<Boolean, Boolean> BOOLEAN_EQ = RequirementConstants.eq();
- public static final BiPredicate<Double, Double> DOUBLE_GTE = RequirementConstants.gte();
/**
* Creates a >= predicate.