From 0902fad55ddac3dbf63104a0cde88d21c53c23f0 Mon Sep 17 00:00:00 2001 From: tofunmi Date: Thu, 27 Apr 2023 13:58:37 +0100 Subject: [PATCH] Effect: split ending frame Processing and getting the output bitmap in tests PiperOrigin-RevId: 527554408 --- ...deoFrameProcessorImageFrameOutputTest.java | 10 +-- .../DefaultVideoFrameProcessorPixelTest.java | 65 ++++++++++++------- .../utils/VideoFrameProcessorTestRunner.java | 21 ++++-- ...oFrameProcessorTextureOutputPixelTest.java | 19 ++++-- .../ToneMapHdrToSdrUsingOpenGlPixelTest.java | 6 +- 5 files changed, 79 insertions(+), 42 deletions(-) diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorImageFrameOutputTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorImageFrameOutputTest.java index 2964ecdcf0..146341aaf2 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorImageFrameOutputTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorImageFrameOutputTest.java @@ -80,7 +80,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest { 3 * C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 4); - videoFrameProcessorTestRunner.endFrameProcessingAndGetImage(); + videoFrameProcessorTestRunner.endFrameProcessing(); int actualFrameCount = framesProduced.get(); assertThat(actualFrameCount).isEqualTo(/* expected= */ 20); @@ -99,7 +99,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest { /* offsetToAddUs= */ 0L, /* frameRate= */ 1); } - videoFrameProcessorTestRunner.endFrameProcessingAndGetImage(); + videoFrameProcessorTestRunner.endFrameProcessing(); int actualFrameCount = framesProduced.get(); assertThat(actualFrameCount).isEqualTo(/* expected= */ 20); @@ -123,7 +123,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest { /* durationUs= */ C.MICROS_PER_SECOND, /* offsetToAddUs= */ offsetUs, /* frameRate= */ 2); - videoFrameProcessorTestRunner.endFrameProcessingAndGetImage(); + videoFrameProcessorTestRunner.endFrameProcessing(); assertThat(actualPresentationTimesUs) .containsExactly(offsetUs, offsetUs + C.MICROS_PER_SECOND / 2) .inOrder(); @@ -152,7 +152,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest { /* durationUs= */ C.MICROS_PER_SECOND, /* offsetToAddUs= */ offsetUs2, /* frameRate= */ 2); - videoFrameProcessorTestRunner.endFrameProcessingAndGetImage(); + videoFrameProcessorTestRunner.endFrameProcessing(); assertThat(actualPresentationTimesUs) .containsExactly( offsetUs1, @@ -180,7 +180,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest { /* durationUs= */ C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 2); - videoFrameProcessorTestRunner.endFrameProcessingAndGetImage(); + videoFrameProcessorTestRunner.endFrameProcessing(); videoFrameProcessorTestRunner.queueInputBitmap( readBitmap(ORIGINAL_PNG_ASSET_PATH), /* durationUs= */ 2 * C.MICROS_PER_SECOND, diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorPixelTest.java index 8c5cca597e..b5999ba3cf 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/DefaultVideoFrameProcessorPixelTest.java @@ -100,7 +100,8 @@ public final class DefaultVideoFrameProcessorPixelTest { videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build(); Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -121,7 +122,8 @@ public final class DefaultVideoFrameProcessorPixelTest { videoFrameProcessorTestRunner.queueInputBitmap( originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1); - Bitmap actualBitmap = videoFrameProcessorTestRunner.endFrameProcessingAndGetImage(); + videoFrameProcessorTestRunner.endFrameProcessing(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -149,7 +151,8 @@ public final class DefaultVideoFrameProcessorPixelTest { videoFrameProcessorTestRunner.queueInputBitmap( originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1); - Bitmap actualBitmap = videoFrameProcessorTestRunner.endFrameProcessingAndGetImage(); + videoFrameProcessorTestRunner.endFrameProcessing(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -166,7 +169,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -181,7 +185,8 @@ public final class DefaultVideoFrameProcessorPixelTest { getDefaultFrameProcessorTestRunnerBuilder(testId).setPixelWidthHeightRatio(2f).build(); Bitmap expectedBitmap = readBitmap(SCALE_WIDE_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -200,7 +205,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -221,7 +227,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(TRANSLATE_THEN_ROTATE_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -240,7 +247,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -261,7 +269,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ROTATE_THEN_TRANSLATE_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -278,7 +287,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(REQUEST_OUTPUT_HEIGHT_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -299,7 +309,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -316,7 +327,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ROTATE45_SCALE_TO_FIT_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -339,7 +351,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ROTATE_THEN_SCALE_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -363,15 +376,16 @@ public final class DefaultVideoFrameProcessorPixelTest { .setOutputFileLabel("centerCrop") .setEffects(centerCrop) .build(); - Bitmap centerCropResultBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap centerCropResultBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); videoFrameProcessorTestRunner.release(); videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId) .setOutputFileLabel("full10StepRotationAndCenterCrop") .setEffects(full10StepRotationAndCenterCrop.build()) .build(); - Bitmap fullRotationAndCenterCropResultBitmap = - videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap fullRotationAndCenterCropResultBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -387,7 +401,8 @@ public final class DefaultVideoFrameProcessorPixelTest { getDefaultFrameProcessorTestRunnerBuilder(testId).setEffects(new Brightness(0.5f)).build(); Bitmap expectedBitmap = readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -418,8 +433,9 @@ public final class DefaultVideoFrameProcessorPixelTest { new RgbAdjustment.Builder().setRedScale(5).setBlueScale(5).setGreenScale(5).build(), centerCrop) .build(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); Bitmap centerCropAndBrightnessIncreaseResultBitmap = - videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.getOutputBitmap(); videoFrameProcessorTestRunner.release(); videoFrameProcessorTestRunner = @@ -427,8 +443,9 @@ public final class DefaultVideoFrameProcessorPixelTest { .setOutputFileLabel("full4StepRotationBrightnessIncreaseAndCenterCrop") .setEffects(increaseBrightnessFullRotationCenterCrop) .build(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); Bitmap fullRotationBrightnessIncreaseAndCenterCropResultBitmap = - videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -465,17 +482,18 @@ public final class DefaultVideoFrameProcessorPixelTest { new RgbAdjustment.Builder().setRedScale(5).setBlueScale(5).setGreenScale(5).build(), centerCrop) .build(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); Bitmap centerCropAndBrightnessIncreaseResultBitmap = - videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.getOutputBitmap(); videoFrameProcessorTestRunner.release(); videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId) .setOutputFileLabel("full4StepRotationBrightnessIncreaseAndCenterCrop") .setEffects(increaseBrightnessFullRotationCenterCrop) .build(); - + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); Bitmap fullRotationBrightnessIncreaseAndCenterCropResultBitmap = - videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -497,7 +515,8 @@ public final class DefaultVideoFrameProcessorPixelTest { .build(); Bitmap expectedBitmap = readBitmap(GRAYSCALE_THEN_INCREASE_RED_CHANNEL_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java index 73227b2c36..a7b6c7d796 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/VideoFrameProcessorTestRunner.java @@ -236,7 +236,7 @@ public final class VideoFrameProcessorTestRunner { * Time to wait for the decoded frame to populate the {@link VideoFrameProcessor} instance's input * surface and the {@link VideoFrameProcessor} to finish processing the frame, in milliseconds. */ - private static final int VIDEO_FRAME_PROCESSING_WAIT_MS = 5000; + public static final int VIDEO_FRAME_PROCESSING_WAIT_MS = 5000; private final String testId; private final @MonotonicNonNull String videoAssetPath; @@ -313,7 +313,7 @@ public final class VideoFrameProcessorTestRunner { }); } - public Bitmap processFirstFrameAndEnd() throws Exception { + public void processFirstFrameAndEnd() throws Exception { DecodeOneFrameUtil.decodeOneAssetFileFrame( checkNotNull(videoAssetPath), new DecodeOneFrameUtil.Listener() { @@ -335,7 +335,7 @@ public final class VideoFrameProcessorTestRunner { } }, videoFrameProcessor.getInputSurface()); - return endFrameProcessingAndGetImage(); + endFrameProcessing(); } public void queueInputBitmap( @@ -349,13 +349,24 @@ public final class VideoFrameProcessorTestRunner { videoFrameProcessor.queueInputBitmap(inputBitmap, durationUs, frameRate); } - public Bitmap endFrameProcessingAndGetImage() throws Exception { + public void endFrameProcessing() throws InterruptedException { + endFrameProcessing(VIDEO_FRAME_PROCESSING_WAIT_MS); + } + + public void endFrameProcessing(long videoFrameProcessingWaitTime) throws InterruptedException { videoFrameProcessor.signalEndOfInput(); - Thread.sleep(VIDEO_FRAME_PROCESSING_WAIT_MS); + Thread.sleep(videoFrameProcessingWaitTime); assertThat(videoFrameProcessingException.get()).isNull(); assertThat(videoFrameProcessingEnded).isTrue(); + } + /** + * Returns the {@link Bitmap} from the provided {@link BitmapReader}. + * + *

Also saves the bitmap to the cache directory. + */ + public Bitmap getOutputBitmap() { Bitmap outputBitmap = checkNotNull(bitmapReader).getBitmap(); maybeSaveTestBitmap(testId, /* bitmapLabel= */ outputFileLabel, outputBitmap, /* path= */ null); return outputBitmap; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java index 9860c87de6..c37ccb5aa1 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/DefaultVideoFrameProcessorTextureOutputPixelTest.java @@ -109,7 +109,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest { videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build(); Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -135,8 +136,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest { .setEffects(new OverlayEffect(ImmutableList.of(bitmapOverlay))) .build(); Bitmap expectedBitmap = readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH); - - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -167,7 +168,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ORIGINAL_HLG10_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -202,7 +204,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ORIGINAL_HLG10_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -234,7 +237,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ORIGINAL_HDR10_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = @@ -269,7 +273,8 @@ public final class DefaultVideoFrameProcessorTextureOutputPixelTest { .build(); Bitmap expectedBitmap = readBitmap(ORIGINAL_HDR10_PNG_ASSET_PATH); - Bitmap actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); // TODO(b/207848601): Switch to using proper tooling for testing against golden data. float averagePixelAbsoluteDifference = diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlPixelTest.java index 6644d4956c..1615e45135 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlPixelTest.java @@ -124,7 +124,8 @@ public final class ToneMapHdrToSdrUsingOpenGlPixelTest { Bitmap actualBitmap; try { - actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); } catch (UnsupportedOperationException e) { if (e.getMessage() != null && e.getMessage().equals(DecodeOneFrameUtil.NO_DECODER_SUPPORT_ERROR_STRING)) { @@ -187,7 +188,8 @@ public final class ToneMapHdrToSdrUsingOpenGlPixelTest { Bitmap actualBitmap; try { - actualBitmap = videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + videoFrameProcessorTestRunner.processFirstFrameAndEnd(); + actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); } catch (UnsupportedOperationException e) { if (e.getMessage() != null && e.getMessage().equals(DecodeOneFrameUtil.NO_DECODER_SUPPORT_ERROR_STRING)) {