rename videoFrameProcessorTestRunner.queueInputBitmap

This methods currently registers and queues the bitmaps Will need to have a method that just queues bitmaps in future CLs.

#minor-release

PiperOrigin-RevId: 539605628
This commit is contained in:
tofunmi 2023-06-12 10:57:02 +00:00 committed by Tofunmi Adigun-Hameed
parent 5f43180a68
commit 219212d54f
5 changed files with 24 additions and 23 deletions

View File

@ -65,17 +65,17 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
String testId = "imageInput_queueThreeBitmaps_outputsCorrectNumberOfFrames"; String testId = "imageInput_queueThreeBitmaps_outputsCorrectNumberOfFrames";
videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build(); videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build();
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
C.MICROS_PER_SECOND, C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,
/* frameRate= */ 2); /* frameRate= */ 2);
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(SCALE_WIDE_PNG_ASSET_PATH), readBitmap(SCALE_WIDE_PNG_ASSET_PATH),
2 * C.MICROS_PER_SECOND, 2 * C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,
/* frameRate= */ 3); /* frameRate= */ 3);
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH), readBitmap(BITMAP_OVERLAY_PNG_ASSET_PATH),
3 * C.MICROS_PER_SECOND, 3 * C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,
@ -93,7 +93,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build(); videoFrameProcessorTestRunner = getDefaultFrameProcessorTestRunnerBuilder(testId).build();
for (int i = 0; i < 20; i++) { for (int i = 0; i < 20; i++) {
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,
@ -118,7 +118,7 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
.build(); .build();
long offsetUs = 1_000_000L; long offsetUs = 1_000_000L;
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ offsetUs, /* offsetToAddUs= */ offsetUs,
@ -141,13 +141,13 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
.build(); .build();
long offsetUs1 = 1_000_000L; long offsetUs1 = 1_000_000L;
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ offsetUs1, /* offsetToAddUs= */ offsetUs1,
/* frameRate= */ 2); /* frameRate= */ 2);
long offsetUs2 = 2_000_000L; long offsetUs2 = 2_000_000L;
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(SCALE_WIDE_PNG_ASSET_PATH), readBitmap(SCALE_WIDE_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ offsetUs2, /* offsetToAddUs= */ offsetUs2,
@ -175,13 +175,13 @@ public class DefaultVideoFrameProcessorImageFrameOutputTest {
.setOnOutputFrameAvailableForRenderingListener(actualPresentationTimesUs::add) .setOnOutputFrameAvailableForRenderingListener(actualPresentationTimesUs::add)
.build(); .build();
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,
/* frameRate= */ 2); /* frameRate= */ 2);
videoFrameProcessorTestRunner.endFrameProcessing(); videoFrameProcessorTestRunner.endFrameProcessing();
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ 2 * C.MICROS_PER_SECOND, /* durationUs= */ 2 * C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,

View File

@ -164,7 +164,7 @@ public final class DefaultVideoFrameProcessorPixelTest {
Bitmap originalBitmap = readBitmap(IMAGE_PNG_ASSET_PATH); Bitmap originalBitmap = readBitmap(IMAGE_PNG_ASSET_PATH);
Bitmap expectedBitmap = readBitmap(IMAGE_TO_VIDEO_PNG_ASSET_PATH); Bitmap expectedBitmap = readBitmap(IMAGE_TO_VIDEO_PNG_ASSET_PATH);
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1); originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1);
videoFrameProcessorTestRunner.endFrameProcessing(); videoFrameProcessorTestRunner.endFrameProcessing();
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
@ -193,7 +193,7 @@ public final class DefaultVideoFrameProcessorPixelTest {
Bitmap originalBitmap = readBitmap(IMAGE_PNG_ASSET_PATH); Bitmap originalBitmap = readBitmap(IMAGE_PNG_ASSET_PATH);
Bitmap expectedBitmap = readBitmap(IMAGE_TO_CROPPED_VIDEO_PNG_ASSET_PATH); Bitmap expectedBitmap = readBitmap(IMAGE_TO_CROPPED_VIDEO_PNG_ASSET_PATH);
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1); originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1);
videoFrameProcessorTestRunner.endFrameProcessing(); videoFrameProcessorTestRunner.endFrameProcessing();
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();
@ -220,7 +220,7 @@ public final class DefaultVideoFrameProcessorPixelTest {
.build(); .build();
Bitmap originalBitmap = readBitmap(IMAGE_PNG_ASSET_PATH); Bitmap originalBitmap = readBitmap(IMAGE_PNG_ASSET_PATH);
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1); originalBitmap, C.MICROS_PER_SECOND, /* offsetToAddUs= */ 0L, /* frameRate= */ 1);
videoFrameProcessorTestRunner.endFrameProcessing(); videoFrameProcessorTestRunner.endFrameProcessing();
Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap(); Bitmap actualBitmap = videoFrameProcessorTestRunner.getOutputBitmap();

View File

@ -74,7 +74,7 @@ public class FrameDropTest {
ImmutableList<Integer> timestampsMs = ImmutableList.of(0, 16, 32, 48, 58, 71, 86); ImmutableList<Integer> timestampsMs = ImmutableList.of(0, 16, 32, 48, 58, 71, 86);
for (int timestampMs : timestampsMs) { for (int timestampMs : timestampsMs) {
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ timestampMs * 1000L, /* offsetToAddUs= */ timestampMs * 1000L,
@ -97,12 +97,12 @@ public class FrameDropTest {
/* expectedFrameRate= */ 6, /* targetFrameRate= */ 2)) /* expectedFrameRate= */ 6, /* targetFrameRate= */ 2))
.build(); .build();
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,
/* frameRate= */ 4); /* frameRate= */ 4);
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(SCALE_WIDE_PNG_ASSET_PATH), readBitmap(SCALE_WIDE_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ C.MICROS_PER_SECOND, /* offsetToAddUs= */ C.MICROS_PER_SECOND,
@ -123,7 +123,7 @@ public class FrameDropTest {
/* expectedFrameRate= */ 3, /* targetFrameRate= */ 3)) /* expectedFrameRate= */ 3, /* targetFrameRate= */ 3))
.build(); .build();
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ 0L, /* offsetToAddUs= */ 0L,

View File

@ -42,6 +42,7 @@ import androidx.media3.common.GlTextureInfo;
import androidx.media3.common.SurfaceInfo; import androidx.media3.common.SurfaceInfo;
import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.VideoFrameProcessingException;
import androidx.media3.common.VideoFrameProcessor; import androidx.media3.common.VideoFrameProcessor;
import androidx.media3.common.VideoFrameProcessor.InputType;
import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.GlUtil;
import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.UnstableApi;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
@ -70,7 +71,7 @@ public final class VideoFrameProcessorTestRunner {
private float pixelWidthHeightRatio; private float pixelWidthHeightRatio;
private @MonotonicNonNull ColorInfo inputColorInfo; private @MonotonicNonNull ColorInfo inputColorInfo;
private @MonotonicNonNull ColorInfo outputColorInfo; private @MonotonicNonNull ColorInfo outputColorInfo;
private @VideoFrameProcessor.InputType int inputType; private @InputType int inputType;
private OnOutputFrameAvailableForRenderingListener onOutputFrameAvailableListener; private OnOutputFrameAvailableForRenderingListener onOutputFrameAvailableListener;
/** Creates a new instance with default values. */ /** Creates a new instance with default values. */
@ -199,7 +200,7 @@ public final class VideoFrameProcessorTestRunner {
* <p>The default value is {@link VideoFrameProcessor#INPUT_TYPE_SURFACE}. * <p>The default value is {@link VideoFrameProcessor#INPUT_TYPE_SURFACE}.
*/ */
@CanIgnoreReturnValue @CanIgnoreReturnValue
public Builder setInputType(@VideoFrameProcessor.InputType int inputType) { public Builder setInputType(@InputType int inputType) {
this.inputType = inputType; this.inputType = inputType;
return this; return this;
} }
@ -263,7 +264,7 @@ public final class VideoFrameProcessorTestRunner {
float pixelWidthHeightRatio, float pixelWidthHeightRatio,
ColorInfo inputColorInfo, ColorInfo inputColorInfo,
ColorInfo outputColorInfo, ColorInfo outputColorInfo,
@VideoFrameProcessor.InputType int inputType, @InputType int inputType,
OnOutputFrameAvailableForRenderingListener onOutputFrameAvailableForRenderingListener) OnOutputFrameAvailableForRenderingListener onOutputFrameAvailableForRenderingListener)
throws VideoFrameProcessingException { throws VideoFrameProcessingException {
this.testId = testId; this.testId = testId;
@ -341,7 +342,7 @@ public final class VideoFrameProcessorTestRunner {
endFrameProcessing(); endFrameProcessing();
} }
public void queueInputBitmap( public void registerAndQueueInputBitmap(
Bitmap inputBitmap, long durationUs, long offsetToAddUs, float frameRate) { Bitmap inputBitmap, long durationUs, long offsetToAddUs, float frameRate) {
videoFrameProcessor.setInputFrameInfo( videoFrameProcessor.setInputFrameInfo(
new FrameInfo.Builder(inputBitmap.getWidth(), inputBitmap.getHeight()) new FrameInfo.Builder(inputBitmap.getWidth(), inputBitmap.getHeight())

View File

@ -68,7 +68,7 @@ public class DefaultVideoFrameProcessorMultipleTextureOutputPixelTest {
videoFrameProcessorTestRunner = getFrameProcessorTestRunnerBuilder(testId).build(); videoFrameProcessorTestRunner = getFrameProcessorTestRunnerBuilder(testId).build();
long offsetUs = 1_000_000L; long offsetUs = 1_000_000L;
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ 3 * C.MICROS_PER_SECOND, /* durationUs= */ 3 * C.MICROS_PER_SECOND,
/* offsetToAddUs= */ offsetUs, /* offsetToAddUs= */ offsetUs,
@ -95,13 +95,13 @@ public class DefaultVideoFrameProcessorMultipleTextureOutputPixelTest {
videoFrameProcessorTestRunner = getFrameProcessorTestRunnerBuilder(testId).build(); videoFrameProcessorTestRunner = getFrameProcessorTestRunnerBuilder(testId).build();
long offsetUs1 = 1_000_000L; long offsetUs1 = 1_000_000L;
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(ORIGINAL_PNG_ASSET_PATH), readBitmap(ORIGINAL_PNG_ASSET_PATH),
/* durationUs= */ C.MICROS_PER_SECOND, /* durationUs= */ C.MICROS_PER_SECOND,
/* offsetToAddUs= */ offsetUs1, /* offsetToAddUs= */ offsetUs1,
/* frameRate= */ 2); /* frameRate= */ 2);
long offsetUs2 = 2_000_000L; long offsetUs2 = 2_000_000L;
videoFrameProcessorTestRunner.queueInputBitmap( videoFrameProcessorTestRunner.registerAndQueueInputBitmap(
readBitmap(MEDIA3_TEST_PNG_ASSET_PATH), readBitmap(MEDIA3_TEST_PNG_ASSET_PATH),
/* durationUs= */ 3 * C.MICROS_PER_SECOND, /* durationUs= */ 3 * C.MICROS_PER_SECOND,
/* offsetToAddUs= */ offsetUs2, /* offsetToAddUs= */ offsetUs2,