From 066327daf9880eb79a1dfaf17ffc8e8e1087fdb8 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 24 May 2022 15:01:32 +0000 Subject: [PATCH] Skip transform4K60 test if 4K decoding is not supported. 4K decoding is not supported (not required to be supported) on all devices, e.g., Nexus 5 does not support it. PiperOrigin-RevId: 450682519 --- .../exoplayer2/transformer/AndroidTestUtil.java | 6 +++--- .../exoplayer2/transformer/mh/TransformationTest.java | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java index 77614cf6b8..a2b68b4632 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/AndroidTestUtil.java @@ -232,11 +232,11 @@ public final class AndroidTestUtil { * @param context The {@link Context context}. * @param testId The test ID. * @param decodingFormat The {@link Format format} to decode. - * @param encodingFormat The {@link Format format} to encode. + * @param encodingFormat The {@link Format format} to encode, optional. * @return Whether the test should be skipped. */ public static boolean skipAndLogIfInsufficientCodecSupport( - Context context, String testId, Format decodingFormat, Format encodingFormat) + Context context, String testId, Format decodingFormat, @Nullable Format encodingFormat) throws IOException, JSONException { boolean canDecode = false; @Nullable MediaCodecUtil.DecoderQueryException queryException = null; @@ -246,7 +246,7 @@ public final class AndroidTestUtil { queryException = e; } - boolean canEncode = canEncode(encodingFormat); + boolean canEncode = encodingFormat == null || canEncode(encodingFormat); if (canDecode && canEncode) { return false; diff --git a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java index 3ce9bba4b6..74f90902b6 100644 --- a/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java +++ b/library/transformer/src/androidTest/java/com/google/android/exoplayer2/transformer/mh/TransformationTest.java @@ -19,6 +19,7 @@ import static com.google.android.exoplayer2.transformer.AndroidTestUtil.FORCE_EN import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_ASSET_SEF_URI_STRING; import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_ASSET_URI_STRING; import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING; +import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_REMOTE_4K60_PORTRAIT_FORMAT; import static com.google.android.exoplayer2.transformer.AndroidTestUtil.MP4_REMOTE_4K60_PORTRAIT_URI_STRING; import static com.google.android.exoplayer2.transformer.AndroidTestUtil.recordTestSkipped; @@ -90,6 +91,15 @@ public class TransformationTest { public void transform4K60() throws Exception { String testId = TAG + "_transform4K60"; Context context = ApplicationProvider.getApplicationContext(); + + if (AndroidTestUtil.skipAndLogIfInsufficientCodecSupport( + context, + testId, + /* decodingFormat= */ MP4_REMOTE_4K60_PORTRAIT_FORMAT, + /* encodingFormat= */ null)) { + return; + } + Transformer transformer = new Transformer.Builder(context).setEncoderFactory(FORCE_ENCODE_ENCODER_FACTORY).build(); new TransformerAndroidTestRunner.Builder(context, transformer)