From d840aa4dc1b6643ef528103408e9ba9522825f11 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 --- .../androidx/media3/transformer/AndroidTestUtil.java | 6 +++--- .../media3/transformer/mh/TransformationTest.java | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index 1ff90371c0..3c7ba3f5a2 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/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/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java index 42022a83a8..a2d3b654d9 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java @@ -19,6 +19,7 @@ import static androidx.media3.transformer.AndroidTestUtil.FORCE_ENCODE_ENCODER_F import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_SEF_URI_STRING; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_URI_STRING; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_4K60_PORTRAIT_FORMAT; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_4K60_PORTRAIT_URI_STRING; import static androidx.media3.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)