Handle R-based extractor behavior on Q devices
Extractor behavior around timestamps fixed in R breaks an assumption in
the Q codebase. Suppress several tests that trip difference. This had
been fixed in the R/CTS-MTS tests, but new Q devices ship based on Q/CTS tests.
Bug: 161854517
Bug: 150903948
Test: atest CtsMediaTestCases:android.media.cts.MediaMuxerTest#testDualAudioTrack
Test: atest CtsMediaTestCases:android.media.cts.MediaMuxerTest#testDualVideoAndAudioTrack
Merged-In: I0ef3700ef5196fe5512c11b0284e00fa72b500c2
Change-Id: I885fb19adf305954d15c2e697743c758e01c263a
diff --git a/tests/tests/media/src/android/media/cts/MediaMuxerTest.java b/tests/tests/media/src/android/media/cts/MediaMuxerTest.java
index c873691..6d919da 100644
--- a/tests/tests/media/src/android/media/cts/MediaMuxerTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaMuxerTest.java
@@ -24,11 +24,14 @@
import android.media.MediaFormat;
import android.media.MediaMetadataRetriever;
import android.media.MediaMuxer;
+import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.platform.test.annotations.AppModeFull;
import android.test.AndroidTestCase;
import android.util.Log;
+import com.android.compatibility.common.util.MediaUtils;
+
import android.media.cts.R;
import java.io.File;
@@ -52,6 +55,8 @@
private static final float TOLERANCE = 0.0002f;
private static final long OFFSET_TIME_US = 29 * 60 * 1000000L; // 29 minutes
private Resources mResources;
+ // running on 10, we can't reference the 11 symbols, so >10 vs >=11
+ private boolean mAndroid11 = Build.VERSION.SDK_INT > Build.VERSION_CODES.Q;
@Override
public void setContext(Context context) {
@@ -77,6 +82,8 @@
}
public void testDualAudioTrack() throws Exception {
+ if (!MediaUtils.check(mAndroid11, "test needs Android 11")) return;
+
int source = R.raw.audio_aac_mono_70kbs_44100hz_aac_mono_70kbs_44100hz;
String outputFile = File.createTempFile("MediaMuxerTest_testDualAudio", ".mp4")
.getAbsolutePath();
@@ -84,6 +91,8 @@
}
public void testDualVideoAndAudioTrack() throws Exception {
+ if (!MediaUtils.check(mAndroid11, "test needs Android 11")) return;
+
int source = R.raw.video_h264_30fps_video_h264_30fps_aac_44100hz_aac_44100hz;
String outputFile = File.createTempFile("MediaMuxerTest_testDualVideoAudio", ".mp4")
.getAbsolutePath();