Test: Fix failing HDR sequence test by swapping assumption.

Oops, missed this one in 1adb2b270d

PiperOrigin-RevId: 616871770
This commit is contained in:
huangdarwin 2024-03-18 10:25:47 -07:00 committed by Copybara-Service
parent e446f20a70
commit d2dc901b6a
3 changed files with 20 additions and 25 deletions

View File

@ -74,5 +74,21 @@ public final class HdrCapabilitiesUtil {
} }
} }
/**
* Assumes that the device does not support HDR editing for the given {@code colorInfo}.
*
* @throws AssumptionViolatedException if the device does support HDR editing.
*/
public static void assumeDeviceDoesNotSupportHdrEditing(String testId, Format format)
throws JSONException, IOException {
checkState(ColorInfo.isTransferHdr(format.colorInfo));
if (!EncoderUtil.getSupportedEncodersForHdrEditing(format.sampleMimeType, format.colorInfo)
.isEmpty()) {
String skipReason = "HDR editing support for " + format.colorInfo;
recordTestSkipped(getApplicationContext(), testId, skipReason);
throw new AssumptionViolatedException(skipReason);
}
}
private HdrCapabilitiesUtil() {} private HdrCapabilitiesUtil() {}
} }

View File

@ -15,7 +15,6 @@
*/ */
package androidx.media3.transformer.mh; package androidx.media3.transformer.mh;
import static androidx.media3.common.util.Assertions.checkState;
import static androidx.media3.test.utils.TestUtil.retrieveTrackFormat; import static androidx.media3.test.utils.TestUtil.retrieveTrackFormat;
import static androidx.media3.transformer.AndroidTestUtil.FORCE_TRANSCODE_VIDEO_EFFECTS; import static androidx.media3.transformer.AndroidTestUtil.FORCE_TRANSCODE_VIDEO_EFFECTS;
import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_1080P_5_SECOND_HLG10; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_1080P_5_SECOND_HLG10;
@ -27,21 +26,19 @@ import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_DOLBY_VISION
import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped; import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped;
import static androidx.media3.transformer.Composition.HDR_MODE_KEEP_HDR; import static androidx.media3.transformer.Composition.HDR_MODE_KEEP_HDR;
import static androidx.media3.transformer.Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL; import static androidx.media3.transformer.Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL;
import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceDoesNotSupportHdrEditing;
import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceSupportsHdrEditing; import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceSupportsHdrEditing;
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import android.content.Context; import android.content.Context;
import android.net.Uri; import android.net.Uri;
import androidx.media3.common.C; import androidx.media3.common.C;
import androidx.media3.common.ColorInfo;
import androidx.media3.common.Format; import androidx.media3.common.Format;
import androidx.media3.common.MediaItem; import androidx.media3.common.MediaItem;
import androidx.media3.common.util.Util; import androidx.media3.common.util.Util;
import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.AndroidTestUtil;
import androidx.media3.transformer.Composition; import androidx.media3.transformer.Composition;
import androidx.media3.transformer.EditedMediaItem; import androidx.media3.transformer.EditedMediaItem;
import androidx.media3.transformer.EncoderUtil;
import androidx.media3.transformer.ExportException; import androidx.media3.transformer.ExportException;
import androidx.media3.transformer.ExportTestResult; import androidx.media3.transformer.ExportTestResult;
import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.TransformationRequest;
@ -49,12 +46,9 @@ import androidx.media3.transformer.Transformer;
import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.TransformerAndroidTestRunner;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import java.io.IOException;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
import org.json.JSONException;
import org.junit.AssumptionViolatedException;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
@ -348,20 +342,4 @@ public final class HdrEditingTest {
throw exception; throw exception;
} }
} }
/**
* Assumes that the device does not support HDR editing for the given {@code colorInfo}.
*
* @throws AssumptionViolatedException if the device does support HDR editing.
*/
private static void assumeDeviceDoesNotSupportHdrEditing(String testId, Format format)
throws JSONException, IOException {
checkState(ColorInfo.isTransferHdr(format.colorInfo));
if (!EncoderUtil.getSupportedEncodersForHdrEditing(format.sampleMimeType, format.colorInfo)
.isEmpty()) {
String skipReason = "HDR editing support for " + format.colorInfo;
recordTestSkipped(getApplicationContext(), testId, skipReason);
throw new AssumptionViolatedException(skipReason);
}
}
} }

View File

@ -27,6 +27,7 @@ import static androidx.media3.transformer.SequenceEffectTestUtil.SINGLE_30_FPS_V
import static androidx.media3.transformer.SequenceEffectTestUtil.assertBitmapsMatchExpectedAndSave; import static androidx.media3.transformer.SequenceEffectTestUtil.assertBitmapsMatchExpectedAndSave;
import static androidx.media3.transformer.SequenceEffectTestUtil.clippedVideo; import static androidx.media3.transformer.SequenceEffectTestUtil.clippedVideo;
import static androidx.media3.transformer.SequenceEffectTestUtil.createComposition; import static androidx.media3.transformer.SequenceEffectTestUtil.createComposition;
import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceDoesNotSupportHdrEditing;
import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceSupportsHdrEditing; import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceSupportsHdrEditing;
import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceSupportsOpenGlToneMapping; import static androidx.media3.transformer.mh.HdrCapabilitiesUtil.assumeDeviceSupportsOpenGlToneMapping;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@ -108,7 +109,7 @@ public final class TransformerSequenceEffectTestWithHdr {
* after already being configured for HDR output. * after already being configured for HDR output.
*/ */
@Test @Test
public void export_withHdrThenSdr_throws_whenHdrEditingSupported() throws Exception { public void export_withHdrThenSdr_whenHdrEditingSupported_throws() throws Exception {
assumeDeviceSupportsHdrEditing(testId, MP4_ASSET_720P_4_SECOND_HDR10_FORMAT); assumeDeviceSupportsHdrEditing(testId, MP4_ASSET_720P_4_SECOND_HDR10_FORMAT);
assumeFalse( assumeFalse(
skipAndLogIfFormatsUnsupported( skipAndLogIfFormatsUnsupported(
@ -148,7 +149,7 @@ public final class TransformerSequenceEffectTestWithHdr {
*/ */
@Test @Test
public void export_withHdrThenSdr_whenHdrEditingUnsupported() throws Exception { public void export_withHdrThenSdr_whenHdrEditingUnsupported() throws Exception {
assumeDeviceSupportsHdrEditing(testId, MP4_ASSET_720P_4_SECOND_HDR10_FORMAT); assumeDeviceDoesNotSupportHdrEditing(testId, MP4_ASSET_720P_4_SECOND_HDR10_FORMAT);
assumeDeviceSupportsOpenGlToneMapping( assumeDeviceSupportsOpenGlToneMapping(
testId, /* inputFormat= */ MP4_ASSET_720P_4_SECOND_HDR10_FORMAT); testId, /* inputFormat= */ MP4_ASSET_720P_4_SECOND_HDR10_FORMAT);
assumeFalse( assumeFalse(