diff --git a/libraries/test_data/src/test/assets/media/bitmap/transformer_sequence_effect_test/export_withBt601VideoAndBt709ImageMediaItems_0.png b/libraries/test_data/src/test/assets/media/bitmap/transformer_sequence_effect_test/export_withBt601VideoAndBt709ImageMediaItems_0.png new file mode 100644 index 0000000000..6320b16c8e Binary files /dev/null and b/libraries/test_data/src/test/assets/media/bitmap/transformer_sequence_effect_test/export_withBt601VideoAndBt709ImageMediaItems_0.png differ diff --git a/libraries/test_data/src/test/assets/media/bitmap/transformer_sequence_effect_test/export_withBt601VideoAndBt709ImageMediaItems_1.png b/libraries/test_data/src/test/assets/media/bitmap/transformer_sequence_effect_test/export_withBt601VideoAndBt709ImageMediaItems_1.png new file mode 100644 index 0000000000..49ef92637e Binary files /dev/null and b/libraries/test_data/src/test/assets/media/bitmap/transformer_sequence_effect_test/export_withBt601VideoAndBt709ImageMediaItems_1.png differ diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerSequenceEffectTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerSequenceEffectTest.java index 67306a2af3..bbc852c3ca 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerSequenceEffectTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerSequenceEffectTest.java @@ -256,6 +256,39 @@ public final class TransformerSequenceEffectTest { extractBitmapsFromVideo(context, checkNotNull(result.filePath)), testId); } + @Test + public void export_withBt601VideoAndBt709ImageMediaItems() throws Exception { + String testId = "export_withBt601VideoAndBt709ImageMediaItems"; + if (AndroidTestUtil.skipAndLogIfFormatsUnsupported( + context, + testId, + /* inputFormat= */ MP4_ASSET_FORMAT, + /* outputFormat= */ MP4_ASSET_FORMAT)) { + return; + } + if (AndroidTestUtil.skipAndLogIfFormatsUnsupported( + context, testId, /* inputFormat= */ BT601_ASSET_FORMAT, /* outputFormat= */ null)) { + return; + } + Composition composition = + createComposition( + Presentation.createForHeight(EXPORT_HEIGHT), + clippedVideo( + BT601_ASSET_URI_STRING, + ImmutableList.of(RgbFilter.createInvertedFilter()), + SINGLE_30_FPS_VIDEO_FRAME_THRESHOLD_MS), + oneFrameFromImage(JPG_ASSET_URI_STRING, NO_EFFECT)); + + ExportTestResult result = + new TransformerAndroidTestRunner.Builder(context, new Transformer.Builder(context).build()) + .build() + .run(testId, composition); + + assertThat(result.filePath).isNotNull(); + assertBitmapsMatchExpectedAndSave( + extractBitmapsFromVideo(context, checkNotNull(result.filePath)), testId); + } + private static OverlayEffect createOverlayEffect() throws IOException { return new OverlayEffect( ImmutableList.of(