From b4436c523c00a0662863f8312a6d276f3077f82d Mon Sep 17 00:00:00 2001 From: samrobinson Date: Mon, 23 Sep 2024 08:04:05 -0700 Subject: [PATCH] Migrate Media3 EditedMediaItemSequence usages to the Builder. Removed the unnecessary wrapping of items in an ImmutableList. PiperOrigin-RevId: 677796662 --- .../CompositionPreviewActivity.java | 4 +- .../demo/transformer/TransformerActivity.java | 3 +- .../transformer/CompositionPlaybackTest.java | 31 ++--- .../CompositionPlayerSeekTest.java | 7 +- ...CompositionPlayerSpeedAdjustmentsTest.java | 3 +- .../transformer/CompositionPlayerTest.java | 90 +++++++------- .../transformer/ForceEndOfStreamTest.java | 9 +- .../ParameterizedAndroidTestUtil.java | 3 +- .../transformer/SequenceEffectTestUtil.java | 5 +- .../TransformerAndroidTestRunner.java | 3 +- .../transformer/TransformerEndToEndTest.java | 113 ++++++++++-------- ...ansformerMultiSequenceCompositionTest.java | 8 +- .../TransformerPauseResumeTest.java | 3 +- .../transformer/TransformerProgressTest.java | 19 +-- .../transformer/TransformerUltraHdrTest.java | 9 +- .../mh/ForceInterpretHdrVideoAsSdrTest.java | 4 +- .../ToneMapHdrToSdrUsingMediaCodecTest.java | 8 +- .../mh/ToneMapHdrToSdrUsingOpenGlTest.java | 5 +- .../mh/TransformerMhUltraHdrTest.java | 5 +- .../mh/VideoTimestampConsistencyTest.java | 6 +- .../CompositionPlayerPixelTest.java | 19 +-- ...ideoCompositionPreviewPerformanceTest.java | 7 +- .../media3/transformer/CompositionPlayer.java | 5 +- .../media3/transformer/Transformer.java | 5 +- .../transformer/TransmuxTranscodeHelper.java | 15 +-- .../transformer/CompositionExportTest.java | 70 +++++------ .../CompositionPlayerAudioPlaybackTest.java | 79 ++++++------ .../transformer/CompositionPlayerTest.java | 30 +++-- .../EncodedSampleExporterTest.java | 5 +- .../transformer/FallbackListenerTest.java | 5 +- .../transformer/MediaItemExportTest.java | 36 +++--- .../ParameterizedAudioExportTest.java | 2 +- .../ParameterizedItemExportTest.java | 7 +- .../transformer/SequenceExportTest.java | 68 +++++++---- .../transformer/TransformerUtilTest.java | 6 +- .../transformer/VideoEncoderWrapperTest.java | 5 +- 36 files changed, 401 insertions(+), 301 deletions(-) diff --git a/demos/composition/src/main/java/androidx/media3/demo/composition/CompositionPreviewActivity.java b/demos/composition/src/main/java/androidx/media3/demo/composition/CompositionPreviewActivity.java index 8f15b89ceb..8a3c8287d0 100644 --- a/demos/composition/src/main/java/androidx/media3/demo/composition/CompositionPreviewActivity.java +++ b/demos/composition/src/main/java/androidx/media3/demo/composition/CompositionPreviewActivity.java @@ -179,7 +179,7 @@ public final class CompositionPreviewActivity extends AppCompatActivity { mediaItems.add(itemBuilder.build()); } } - EditedMediaItemSequence videoSequence = new EditedMediaItemSequence(mediaItems); + EditedMediaItemSequence videoSequence = new EditedMediaItemSequence.Builder(mediaItems).build(); List compositionSequences = new ArrayList<>(); compositionSequences.add(videoSequence); if (includeBackgroundAudioTrack) { @@ -207,7 +207,7 @@ public final class CompositionPreviewActivity extends AppCompatActivity { .build(); EditedMediaItem audioItem = new EditedMediaItem.Builder(audioMediaItem).setDurationUs(59_000_000).build(); - return new EditedMediaItemSequence(audioItem); + return new EditedMediaItemSequence.Builder(audioItem).build(); } private void previewComposition() { diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index e3ead4c4e1..91658b8bcb 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -371,7 +371,8 @@ public final class TransformerActivity extends AppCompatActivity { .setEffects(new Effects(audioProcessors, videoEffects)); } Composition.Builder compositionBuilder = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItemBuilder.build())); + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItemBuilder.build()).build()); if (bundle != null) { compositionBuilder .setHdrMode(bundle.getInt(ConfigurationActivity.HDR_MODE)) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlaybackTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlaybackTest.java index 3e8fd9947c..a0d5ce2c3d 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlaybackTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlaybackTest.java @@ -79,7 +79,7 @@ public class CompositionPlaybackTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(ImmutableList.of(editedMediaItem, editedMediaItem))) + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .build(); ImmutableList expectedTimestampsUs = new ImmutableList.Builder() @@ -119,7 +119,7 @@ public class CompositionPlaybackTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(ImmutableList.of(editedMediaItem, editedMediaItem))) + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .build(); ImmutableList expectedTimestampsUs = new ImmutableList.Builder() @@ -167,8 +167,8 @@ public class CompositionPlaybackTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - ImmutableList.of(videoEditedMediaItem, imageEditedMediaItem))) + new EditedMediaItemSequence.Builder(videoEditedMediaItem, imageEditedMediaItem) + .build()) .build(); ImmutableList expectedTimestampsUs = new ImmutableList.Builder() @@ -216,8 +216,8 @@ public class CompositionPlaybackTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - ImmutableList.of(imageEditedMediaItem, videoEditedMediaItem))) + new EditedMediaItemSequence.Builder(imageEditedMediaItem, videoEditedMediaItem) + .build()) .build(); ImmutableList expectedTimestampsUs = new ImmutableList.Builder() @@ -260,10 +260,11 @@ public class CompositionPlaybackTest { videoEditedMediaItem.buildUpon().setRemoveAudio(true).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - videoEditedMediaItemRemoveAudio, - videoEditedMediaItem, - videoEditedMediaItemRemoveAudio)) + new EditedMediaItemSequence.Builder( + videoEditedMediaItemRemoveAudio, + videoEditedMediaItem, + videoEditedMediaItemRemoveAudio) + .build()) .build(); ImmutableList expectedTimestampsUs = new ImmutableList.Builder() @@ -308,8 +309,9 @@ public class CompositionPlaybackTest { videoEditedMediaItem.buildUpon().setRemoveAudio(true).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - videoEditedMediaItem, videoEditedMediaItemRemoveAudio, videoEditedMediaItem)) + new EditedMediaItemSequence.Builder( + videoEditedMediaItem, videoEditedMediaItemRemoveAudio, videoEditedMediaItem) + .build()) .build(); ImmutableList expectedTimestampsUs = new ImmutableList.Builder() @@ -356,8 +358,9 @@ public class CompositionPlaybackTest { videoEditedMediaItem.buildUpon().setRemoveVideo(true).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - videoEditedMediaItem, videoEditedMediaItemRemoveVideo, videoEditedMediaItem)) + new EditedMediaItemSequence.Builder( + videoEditedMediaItem, videoEditedMediaItemRemoveVideo, videoEditedMediaItem) + .build()) .build(); getInstrumentation() diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSeekTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSeekTest.java index 9473f54059..df40c6c382 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSeekTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSeekTest.java @@ -129,7 +129,8 @@ public class CompositionPlayerSeekTest { compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.addListener(playerTestListener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(video, video)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(video, video).build()) + .build()); compositionPlayer.prepare(); compositionPlayer.play(); }); @@ -449,7 +450,9 @@ public class CompositionPlayerSeekTest { compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.addListener(playerTestListener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(editedMediaItems)).build()); + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItems).build()) + .build()); compositionPlayer.prepare(); compositionPlayer.play(); }); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSpeedAdjustmentsTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSpeedAdjustmentsTest.java index 6b63f93a62..ea2d051889 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSpeedAdjustmentsTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerSpeedAdjustmentsTest.java @@ -107,7 +107,8 @@ public class CompositionPlayerSpeedAdjustmentsTest { compositionPlayer.addListener(compositionPlayerListener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence(timestampRecordingEditedMediaItems)) + new EditedMediaItemSequence.Builder(timestampRecordingEditedMediaItems) + .build()) .experimentalSetForceAudioTrack(true) .build()); compositionPlayer.prepare(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerTest.java index bfafc40863..71cb2f9553 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CompositionPlayerTest.java @@ -125,10 +125,11 @@ public class CompositionPlayerTest { compositionPlayer.addListener(listener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) - .setDurationUs(1_000_000) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) + .setDurationUs(1_000_000) + .build()) + .build()) .build()); compositionPlayer.prepare(); }); @@ -145,10 +146,11 @@ public class CompositionPlayerTest { compositionPlayer.addListener(listener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) - .setDurationUs(1_000_000) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) + .setDurationUs(1_000_000) + .build()) + .build()) .build()); compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.prepare(); @@ -169,10 +171,11 @@ public class CompositionPlayerTest { compositionPlayer.addListener(listener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) - .setDurationUs(1_000_000) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) + .setDurationUs(1_000_000) + .build()) + .build()) .build()); compositionPlayer.prepare(); }); @@ -191,10 +194,11 @@ public class CompositionPlayerTest { compositionPlayer.addListener(listener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) - .setDurationUs(1_000_000) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) + .setDurationUs(1_000_000) + .build()) + .build()) .build()); compositionPlayer.setVideoSurfaceHolder(surfaceHolder); compositionPlayer.prepare(); @@ -233,14 +237,15 @@ public class CompositionPlayerTest { compositionPlayer.addListener(listener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder( - new MediaItem.Builder() - .setUri(JPG_SINGLE_PIXEL_ASSET.uri) - .setImageDurationMs(1_000) - .build()) - .setDurationUs(1_000_000) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder( + new MediaItem.Builder() + .setUri(JPG_SINGLE_PIXEL_ASSET.uri) + .setImageDurationMs(1_000) + .build()) + .setDurationUs(1_000_000) + .build()) + .build()) .build()); compositionPlayer.prepare(); }); @@ -274,15 +279,17 @@ public class CompositionPlayerTest { compositionPlayer.addListener(listener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder( - new MediaItem.Builder() - .setUri(JPG_SINGLE_PIXEL_ASSET.uri) - .setMimeType(MimeTypes.APPLICATION_EXTERNALLY_LOADED_IMAGE) - .setImageDurationMs(1_000) - .build()) - .setDurationUs(1_000_000) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder( + new MediaItem.Builder() + .setUri(JPG_SINGLE_PIXEL_ASSET.uri) + .setMimeType( + MimeTypes.APPLICATION_EXTERNALLY_LOADED_IMAGE) + .setImageDurationMs(1_000) + .build()) + .setDurationUs(1_000_000) + .build()) + .build()) .build()); compositionPlayer.prepare(); }); @@ -310,7 +317,8 @@ public class CompositionPlayerTest { compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.addListener(listener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(image, image)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(image, image).build()) + .build()); compositionPlayer.prepare(); compositionPlayer.play(); }); @@ -343,7 +351,8 @@ public class CompositionPlayerTest { compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.addListener(listener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(image, video)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(image, video).build()) + .build()); compositionPlayer.prepare(); compositionPlayer.play(); }); @@ -375,7 +384,8 @@ public class CompositionPlayerTest { compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.addListener(listener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(video, image)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(video, image).build()) + .build()); compositionPlayer.prepare(); compositionPlayer.play(); }); @@ -404,7 +414,7 @@ public class CompositionPlayerTest { compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.addListener(listener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(video)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build()); compositionPlayer.prepare(); compositionPlayer.play(); }); @@ -433,7 +443,7 @@ public class CompositionPlayerTest { compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.addListener(listener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(video)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build()); compositionPlayer.prepare(); compositionPlayer.play(); }); @@ -467,7 +477,7 @@ public class CompositionPlayerTest { .build(); compositionPlayer.addListener(listener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(video)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build()); compositionPlayer.prepare(); compositionPlayer.play(); }); @@ -493,7 +503,7 @@ public class CompositionPlayerTest { .build(); compositionPlayer.addListener(playerTestListener); compositionPlayer.setComposition( - new Composition.Builder(new EditedMediaItemSequence(video)).build()); + new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build()); compositionPlayer.prepare(); compositionPlayer.play(); }); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java index fffebe4f78..a5938853ba 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ForceEndOfStreamTest.java @@ -130,10 +130,11 @@ public class ForceEndOfStreamTest { private static Composition createComposition(MediaItem mediaItem) { return new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(mediaItem) - .setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(mediaItem) + .setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS) + .build()) + .build()) .build(); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ParameterizedAndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ParameterizedAndroidTestUtil.java index 7ce7d5852f..589db4019a 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ParameterizedAndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ParameterizedAndroidTestUtil.java @@ -78,7 +78,8 @@ import java.util.Objects; editedMediaItems.add(itemConfig.build()); } - return new Composition.Builder(new EditedMediaItemSequence(editedMediaItems.build())) + return new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItems.build()).build()) .setEffects(compositionEffects) .build(); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SequenceEffectTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SequenceEffectTestUtil.java index 38e8d04fb0..27bdbd0215 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SequenceEffectTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SequenceEffectTestUtil.java @@ -65,7 +65,10 @@ public final class SequenceEffectTestUtil { EditedMediaItem editedMediaItem, EditedMediaItem... editedMediaItems) { Composition.Builder builder = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItems)); + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem) + .addItems(editedMediaItems) + .build()); if (presentation != null) { builder.setEffects( new Effects(/* audioProcessors= */ ImmutableList.of(), ImmutableList.of(presentation))); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java index 7b5970402c..ab39426b93 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java @@ -273,7 +273,8 @@ public class TransformerAndroidTestRunner { */ public ExportTestResult run(String testId, EditedMediaItem editedMediaItem) throws Exception { Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) + .build(); return run(testId, composition); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index 80d27fa263..6f93d8b5b6 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -151,36 +151,37 @@ public class TransformerEndToEndTest { .build(); EditedMediaItemSequence audioVideoSequence = - new EditedMediaItemSequence(audioVideoItem, imageItem, audioVideoItem); + new EditedMediaItemSequence.Builder(audioVideoItem, imageItem, audioVideoItem).build(); EditedMediaItem.Builder audioBuilder = new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveVideo(true); EditedMediaItemSequence audioSequence = - new EditedMediaItemSequence( - audioBuilder - .setEffects( - new Effects( - ImmutableList.of(createSonic(/* pitch= */ 1.3f)), - /* videoEffects= */ ImmutableList.of())) - .build(), - audioBuilder - .setEffects( - new Effects( - ImmutableList.of(createSonic(/* pitch= */ 0.85f)), - /* videoEffects= */ ImmutableList.of())) - .build()); + new EditedMediaItemSequence.Builder( + audioBuilder + .setEffects( + new Effects( + ImmutableList.of(createSonic(/* pitch= */ 1.3f)), + /* videoEffects= */ ImmutableList.of())) + .build(), + audioBuilder + .setEffects( + new Effects( + ImmutableList.of(createSonic(/* pitch= */ 0.85f)), + /* videoEffects= */ ImmutableList.of())) + .build()) + .build(); EditedMediaItemSequence loopingAudioSequence = - new EditedMediaItemSequence( - ImmutableList.of( + new EditedMediaItemSequence.Builder( audioBuilder .setEffects( new Effects( ImmutableList.of(createSonic(/* pitch= */ 0.4f)), /* videoEffects= */ ImmutableList.of())) - .build()), - /* isLooping= */ true); + .build()) + .setIsLooping(true) + .build(); Composition composition = new Composition.Builder(audioVideoSequence, audioSequence, loopingAudioSequence).build(); @@ -213,21 +214,21 @@ public class TransformerEndToEndTest { .setFrameRate(30) .build(); - EditedMediaItemSequence imageSequence = new EditedMediaItemSequence(imageItem); + EditedMediaItemSequence imageSequence = new EditedMediaItemSequence.Builder(imageItem).build(); EditedMediaItem.Builder audioBuilder = new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveVideo(true); EditedMediaItemSequence loopingAudioSequence = - new EditedMediaItemSequence( - ImmutableList.of( + new EditedMediaItemSequence.Builder( audioBuilder .setEffects( new Effects( ImmutableList.of(createSonic(/* pitch= */ 0.4f)), /* videoEffects= */ ImmutableList.of())) - .build()), - /* isLooping= */ true); + .build()) + .setIsLooping(true) + .build(); Composition composition = new Composition.Builder(imageSequence, loopingAudioSequence).build(); @@ -534,7 +535,7 @@ public class TransformerEndToEndTest { } Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItems)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItems).build()) .setEffects( new Effects( /* audioProcessors= */ ImmutableList.of(), @@ -617,7 +618,7 @@ public class TransformerEndToEndTest { ImmutableList videoEffects = ImmutableList.of((GlEffect) (context, useHdr) -> timestampRecordingShaderProgram); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects)) .build(); @@ -646,8 +647,8 @@ public class TransformerEndToEndTest { ImmutableList.of((GlEffect) (context, useHdr) -> timestampRecordingShaderProgram); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(editedMediaItem), - new EditedMediaItemSequence(editedMediaItem)) + new EditedMediaItemSequence.Builder(editedMediaItem).build(), + new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects)) .build(); @@ -1209,7 +1210,7 @@ public class TransformerEndToEndTest { .setRemoveAudio(true) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .experimentalSetForceAudioTrack(true) .build(); ExportTestResult result = @@ -1271,7 +1272,8 @@ public class TransformerEndToEndTest { .setRemoveAudio(true) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .build(); ExportTestResult result = new TransformerAndroidTestRunner.Builder(context, transformer) @@ -1300,7 +1302,8 @@ public class TransformerEndToEndTest { .setRemoveAudio(true) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .experimentalSetForceAudioTrack(true) .build(); ExportTestResult result = @@ -1344,8 +1347,8 @@ public class TransformerEndToEndTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(audioEditedMediaItem), - new EditedMediaItemSequence(videoEditedMediaItem)) + new EditedMediaItemSequence.Builder(audioEditedMediaItem).build(), + new EditedMediaItemSequence.Builder(videoEditedMediaItem).build()) .build(); ExportTestResult result = @@ -1372,15 +1375,17 @@ public class TransformerEndToEndTest { EditedMediaItem audioEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); EditedMediaItemSequence loopingAudioSequence = - new EditedMediaItemSequence( - ImmutableList.of(audioEditedMediaItem, audioEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(audioEditedMediaItem, audioEditedMediaItem) + .setIsLooping(true) + .build(); EditedMediaItem videoEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET_WITH_INCREASING_TIMESTAMPS.uri)) .setRemoveAudio(true) .build(); EditedMediaItemSequence videoSequence = - new EditedMediaItemSequence( - videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem); + new EditedMediaItemSequence.Builder( + videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem) + .build(); Composition composition = new Composition.Builder(loopingAudioSequence, videoSequence).setTransmuxVideo(true).build(); @@ -1414,13 +1419,15 @@ public class TransformerEndToEndTest { EditedMediaItem audioEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); EditedMediaItemSequence audioSequence = - new EditedMediaItemSequence( - audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem); + new EditedMediaItemSequence.Builder( + audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem) + .build(); EditedMediaItem videoEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveAudio(true).build(); EditedMediaItemSequence loopingVideoSequence = - new EditedMediaItemSequence( - ImmutableList.of(videoEditedMediaItem, videoEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(videoEditedMediaItem, videoEditedMediaItem) + .setIsLooping(true) + .build(); Composition composition = new Composition.Builder(audioSequence, loopingVideoSequence).build(); ExportTestResult result = @@ -1448,16 +1455,18 @@ public class TransformerEndToEndTest { EditedMediaItem audioEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); EditedMediaItemSequence audioSequence = - new EditedMediaItemSequence( - audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem); + new EditedMediaItemSequence.Builder( + audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem) + .build(); EditedMediaItem imageEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(PNG_ASSET.uri)) .setDurationUs(1_000_000) .setFrameRate(30) .build(); EditedMediaItemSequence loopingImageSequence = - new EditedMediaItemSequence( - ImmutableList.of(imageEditedMediaItem, imageEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(imageEditedMediaItem, imageEditedMediaItem) + .setIsLooping(true) + .build(); Composition composition = new Composition.Builder(audioSequence, loopingImageSequence).build(); ExportTestResult result = @@ -1484,15 +1493,17 @@ public class TransformerEndToEndTest { Transformer transformer = new Transformer.Builder(context).build(); EditedMediaItem audioEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); - EditedMediaItemSequence audioSequence = new EditedMediaItemSequence(audioEditedMediaItem); + EditedMediaItemSequence audioSequence = + new EditedMediaItemSequence.Builder(audioEditedMediaItem).build(); EditedMediaItem imageEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(PNG_ASSET.uri)) .setDurationUs(1_050_000) .setFrameRate(20) .build(); EditedMediaItemSequence loopingImageSequence = - new EditedMediaItemSequence( - ImmutableList.of(imageEditedMediaItem, imageEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(imageEditedMediaItem, imageEditedMediaItem) + .setIsLooping(true) + .build(); Composition composition = new Composition.Builder(audioSequence, loopingImageSequence).build(); ExportTestResult result = @@ -1566,7 +1577,8 @@ public class TransformerEndToEndTest { .setRemoveVideo(true) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) + .build(); ExportTestResult result = new TransformerAndroidTestRunner.Builder(context, new Transformer.Builder(context).build()) @@ -1584,7 +1596,7 @@ public class TransformerEndToEndTest { .setRemoveVideo(true) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setEffects( new Effects(ImmutableList.of(createSonic(/* pitch= */ 2f)), ImmutableList.of())) .build(); @@ -1982,7 +1994,8 @@ public class TransformerEndToEndTest { EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .build(); ExportTestResult exportTestResult = new TransformerAndroidTestRunner.Builder(context, transformer) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerMultiSequenceCompositionTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerMultiSequenceCompositionTest.java index 4a873dcbca..8da5bd7e63 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerMultiSequenceCompositionTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerMultiSequenceCompositionTest.java @@ -244,8 +244,8 @@ public final class TransformerMultiSequenceCompositionTest { new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(editedMediaItem), - new EditedMediaItemSequence(editedMediaItem)) + new EditedMediaItemSequence.Builder(editedMediaItem).build(), + new EditedMediaItemSequence.Builder(editedMediaItem).build()) .build(); ExportTestResult result = @@ -303,8 +303,8 @@ public final class TransformerMultiSequenceCompositionTest { return new Composition.Builder( ImmutableList.of( - new EditedMediaItemSequence(firstSequenceMediaItems), - new EditedMediaItemSequence(secondSequenceMediaItems))) + new EditedMediaItemSequence.Builder(firstSequenceMediaItems).build(), + new EditedMediaItemSequence.Builder(secondSequenceMediaItems).build())) .setEffects( new Effects( /* audioProcessors= */ ImmutableList.of(), /* videoEffects= */ compositionEffects)) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java index a23d192b70..ced76636fb 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java @@ -399,7 +399,8 @@ public class TransformerPauseResumeTest { editedMediaItemList.add(editedMediaItem); } - return new Composition.Builder(new EditedMediaItemSequence(editedMediaItemList)).build(); + return new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItemList).build()) + .build(); } private static Transformer buildBlockingTransformer(FrameBlockingMuxer.Listener listener) { diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerProgressTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerProgressTest.java index 3134dac9c5..7ae0022736 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerProgressTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerProgressTest.java @@ -113,15 +113,16 @@ public class TransformerProgressTest { // sleep on every received frame. Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder( - MediaItem.fromUri(AndroidTestUtil.MP4_ASSET.uri)) - .setEffects( - new Effects( - /* audioProcessors= */ ImmutableList.of(), - /* videoEffects= */ ImmutableList.of( - new DelayEffect(/* delayMs= */ DELAY_MS)))) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder( + MediaItem.fromUri(AndroidTestUtil.MP4_ASSET.uri)) + .setEffects( + new Effects( + /* audioProcessors= */ ImmutableList.of(), + /* videoEffects= */ ImmutableList.of( + new DelayEffect(/* delayMs= */ DELAY_MS)))) + .build()) + .build()) .build(); File outputVideoFile = AndroidTestUtil.createExternalCacheFile( diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerUltraHdrTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerUltraHdrTest.java index 4855c51418..cb97dc05ce 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerUltraHdrTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerUltraHdrTest.java @@ -125,7 +125,9 @@ public final class TransformerUltraHdrTest { /* outputFormat= */ DOWNSCALED_ULTRA_HDR_FORMAT); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(oneFrameFromImage(JPG_ULTRA_HDR_ASSET.uri, NO_EFFECT))) + new EditedMediaItemSequence.Builder( + oneFrameFromImage(JPG_ULTRA_HDR_ASSET.uri, NO_EFFECT)) + .build()) .build(); // Downscale source bitmap to avoid "video encoding format not supported" errors on emulators. @@ -170,7 +172,10 @@ public final class TransformerUltraHdrTest { private static Composition createUltraHdrComposition( boolean tonemap, EditedMediaItem editedMediaItem, EditedMediaItem... editedMediaItems) { Composition.Builder builder = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItems)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem) + .addItems(editedMediaItems) + .build()) .experimentalSetRetainHdrFromUltraHdrImage(true); if (tonemap) { builder.setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ForceInterpretHdrVideoAsSdrTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ForceInterpretHdrVideoAsSdrTest.java index 7790eacc35..4a76042756 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ForceInterpretHdrVideoAsSdrTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ForceInterpretHdrVideoAsSdrTest.java @@ -84,7 +84,7 @@ public class ForceInterpretHdrVideoAsSdrTest { new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10.uri))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setHdrMode(Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR) .build(); ExportTestResult exportTestResult = @@ -126,7 +126,7 @@ public class ForceInterpretHdrVideoAsSdrTest { MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10.uri))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setHdrMode(Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR) .build(); ExportTestResult exportTestResult = diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java index a885d2e073..d83934d8de 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingMediaCodecTest.java @@ -88,7 +88,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10.uri))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC) .build(); @@ -149,7 +149,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10.uri))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC) .build(); @@ -210,7 +210,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { .setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC) .build(); @@ -272,7 +272,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest { .setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC) .build(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlTest.java index 9a74af8aa9..c8881e29d2 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/ToneMapHdrToSdrUsingOpenGlTest.java @@ -83,8 +83,9 @@ public class ToneMapHdrToSdrUsingOpenGlTest { Transformer transformer = new Transformer.Builder(context).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(fileUri)).build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(fileUri)).build()) + .build()) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL) .build(); ExportTestResult exportTestResult = diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformerMhUltraHdrTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformerMhUltraHdrTest.java index c892c42a5e..7f1fe5d953 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformerMhUltraHdrTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformerMhUltraHdrTest.java @@ -148,7 +148,10 @@ public final class TransformerMhUltraHdrTest { private static Composition createUltraHdrComposition( boolean tonemap, EditedMediaItem editedMediaItem, EditedMediaItem... editedMediaItems) { Composition.Builder builder = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItems)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem) + .addItems(editedMediaItems) + .build()) .experimentalSetRetainHdrFromUltraHdrImage(true); if (tonemap) { builder.setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/VideoTimestampConsistencyTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/VideoTimestampConsistencyTest.java index 348620d8dc..3f37b55e84 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/VideoTimestampConsistencyTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/VideoTimestampConsistencyTest.java @@ -404,7 +404,8 @@ public class VideoTimestampConsistencyTest { .run( /* testId= */ testName.getMethodName(), new Composition.Builder( - new EditedMediaItemSequence(timestampRecordingEditedMediaItems)) + new EditedMediaItemSequence.Builder(timestampRecordingEditedMediaItems) + .build()) .experimentalSetForceAudioTrack(true) .build()); @@ -431,7 +432,8 @@ public class VideoTimestampConsistencyTest { compositionPlayer.addListener(compositionPlayerListener); compositionPlayer.setComposition( new Composition.Builder( - new EditedMediaItemSequence(timestampRecordingEditedMediaItems)) + new EditedMediaItemSequence.Builder(timestampRecordingEditedMediaItems) + .build()) .experimentalSetForceAudioTrack(true) .build()); compositionPlayer.prepare(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/CompositionPlayerPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/CompositionPlayerPixelTest.java index 746be0cb2a..4b4ec99be8 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/CompositionPlayerPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/CompositionPlayerPixelTest.java @@ -119,15 +119,16 @@ public class CompositionPlayerPixelTest { new Size(MP4_ASSET.videoFormat.width, MP4_ASSET.videoFormat.height)); player.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) - .setEffects( - new Effects( - /* audioProcessors= */ ImmutableList.of(), - /* videoEffects= */ ImmutableList.of( - createTimestampOverlay()))) - .setDurationUs(1_024_000L) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) + .setEffects( + new Effects( + /* audioProcessors= */ ImmutableList.of(), + /* videoEffects= */ ImmutableList.of( + createTimestampOverlay()))) + .setDurationUs(1_024_000L) + .build()) + .build()) .build()); player.prepare(); }); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/VideoCompositionPreviewPerformanceTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/VideoCompositionPreviewPerformanceTest.java index 4eaf13e5b6..645880cd23 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/VideoCompositionPreviewPerformanceTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/performance/VideoCompositionPreviewPerformanceTest.java @@ -96,9 +96,10 @@ public class VideoCompositionPreviewPerformanceTest { player.addListener(listener); player.setComposition( new Composition.Builder( - new EditedMediaItemSequence( - getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(.2f)), - getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(-.2f)))) + new EditedMediaItemSequence.Builder( + getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(.2f)), + getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(-.2f))) + .build()) .build()); player.prepare(); }); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/CompositionPlayer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/CompositionPlayer.java index 599266f0d9..53a20ca247 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/CompositionPlayer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/CompositionPlayer.java @@ -606,7 +606,10 @@ public final class CompositionPlayer extends SimpleBasePlayer .setEffects(new Effects(editedMediaItem.effects.audioProcessors, newVideoEffects)) .build()); } - newSequences.add(new EditedMediaItemSequence(newEditedMediaItems, sequence.isLooping)); + newSequences.add( + new EditedMediaItemSequence.Builder(newEditedMediaItems) + .setIsLooping(sequence.isLooping) + .build()); } return composition.buildUpon().setSequences(newSequences).build(); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 4c60fb9d96..a5883c5e70 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -1105,7 +1105,10 @@ public final class Transformer { * @throws IllegalStateException If an export is already in progress. */ public void start(EditedMediaItem editedMediaItem, String path) { - start(new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(), path); + start( + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) + .build(), + path); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransmuxTranscodeHelper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransmuxTranscodeHelper.java index 77c485ebd1..9a2667269c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransmuxTranscodeHelper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransmuxTranscodeHelper.java @@ -119,7 +119,8 @@ import java.util.List; return oldComposition .buildUpon() - .setSequences(ImmutableList.of(new EditedMediaItemSequence(editedMediaItem))) + .setSequences( + ImmutableList.of(new EditedMediaItemSequence.Builder(editedMediaItem).build())) .build(); } @@ -143,9 +144,8 @@ import java.util.List; .build()) .setRemoveAudio(true) .build(); - EditedMediaItemSequence sequence = - new EditedMediaItemSequence(ImmutableList.of(editedMediaItem)); - return new Composition.Builder(ImmutableList.of(sequence)).build(); + EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build(); + return new Composition.Builder(sequence).build(); } /** @@ -171,7 +171,7 @@ import java.util.List; EditedMediaItem videoOnlyEditedMediaItem = new EditedMediaItem.Builder(new MediaItem.Builder().setUri(videoFilePath).build()).build(); EditedMediaItemSequence videoOnlySequence = - new EditedMediaItemSequence(ImmutableList.of(videoOnlyEditedMediaItem)); + new EditedMediaItemSequence.Builder(videoOnlyEditedMediaItem).build(); sequences.add(videoOnlySequence); compositionBuilder.setSequences(sequences); @@ -249,8 +249,9 @@ import java.util.List; } newEditedMediaItemSequenceList.add( - new EditedMediaItemSequence( - newEditedMediaItemList, currentEditedMediaItemSequence.isLooping)); + new EditedMediaItemSequence.Builder(newEditedMediaItemList) + .setIsLooping(currentEditedMediaItemSequence.isLooping) + .build()); } compositionBuilder.setSequences(newEditedMediaItemSequenceList); return compositionBuilder.build(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionExportTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionExportTest.java index ba117e5eaa..fa3b4b9c44 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionExportTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionExportTest.java @@ -40,7 +40,6 @@ import androidx.media3.common.audio.SonicAudioProcessor; import androidx.media3.test.utils.DumpFileAsserts; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.common.collect.ImmutableList; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -83,8 +82,8 @@ public class CompositionExportTest { new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(audioEditedMediaItem), - new EditedMediaItemSequence(videoEditedMediaItem)) + new EditedMediaItemSequence.Builder(audioEditedMediaItem).build(), + new EditedMediaItemSequence.Builder(videoEditedMediaItem).build()) .setTransmuxAudio(true) .setTransmuxVideo(true) .build(); @@ -104,12 +103,13 @@ public class CompositionExportTest { EditedMediaItem audioEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_ONLY)).build(); EditedMediaItemSequence loopingAudioSequence = - new EditedMediaItemSequence(ImmutableList.of(audioEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(audioEditedMediaItem).setIsLooping(true).build(); EditedMediaItem videoEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY)).build(); EditedMediaItemSequence videoSequence = - new EditedMediaItemSequence( - videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem); + new EditedMediaItemSequence.Builder( + videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem) + .build(); Composition composition = new Composition.Builder(loopingAudioSequence, videoSequence) .setTransmuxAudio(true) @@ -138,12 +138,13 @@ public class CompositionExportTest { EditedMediaItem audioEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_ONLY)).build(); EditedMediaItemSequence audioSequence = - new EditedMediaItemSequence( - audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem); + new EditedMediaItemSequence.Builder( + audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem) + .build(); EditedMediaItem videoEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY)).build(); EditedMediaItemSequence loopingVideoSequence = - new EditedMediaItemSequence(ImmutableList.of(videoEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(videoEditedMediaItem).setIsLooping(true).build(); Composition composition = new Composition.Builder(audioSequence, loopingVideoSequence) .setTransmuxAudio(true) @@ -170,18 +171,18 @@ public class CompositionExportTest { Transformer transformer = createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build(); EditedMediaItemSequence loopingAudioSequence = - new EditedMediaItemSequence( - ImmutableList.of( + new EditedMediaItemSequence.Builder( new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) - .build()), - /* isLooping= */ true); + .build()) + .setIsLooping(true) + .build(); EditedMediaItem videoEditedMediaItem = new EditedMediaItem.Builder( MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO_INCREASING_TIMESTAMPS_15S)) .setRemoveAudio(true) .build(); EditedMediaItemSequence videoSequence = - new EditedMediaItemSequence(videoEditedMediaItem, videoEditedMediaItem); + new EditedMediaItemSequence.Builder(videoEditedMediaItem, videoEditedMediaItem).build(); Composition composition = new Composition.Builder(loopingAudioSequence, videoSequence).setTransmuxVideo(true).build(); @@ -204,8 +205,8 @@ public class CompositionExportTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(rawAudioEditedMediaItem), - new EditedMediaItemSequence(rawAudioEditedMediaItem)) + new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build(), + new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -234,8 +235,8 @@ public class CompositionExportTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(audioVideoEditedMediaItem), - new EditedMediaItemSequence(audioEditedMediaItem)) + new EditedMediaItemSequence.Builder(audioVideoEditedMediaItem).build(), + new EditedMediaItemSequence.Builder(audioEditedMediaItem).build()) .setTransmuxVideo(true) .build(); @@ -266,15 +267,15 @@ public class CompositionExportTest { .setRemoveVideo(true) .build(); EditedMediaItemSequence loopingMutedAudioSequence = - new EditedMediaItemSequence( - ImmutableList.of(mutedAudioEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(mutedAudioEditedMediaItem).setIsLooping(true).build(); transformer.start( new Composition.Builder( - new EditedMediaItemSequence( - audioVideoEditedMediaItem, - audioVideoEditedMediaItem, - audioVideoEditedMediaItem), + new EditedMediaItemSequence.Builder( + audioVideoEditedMediaItem, + audioVideoEditedMediaItem, + audioVideoEditedMediaItem) + .build(), loopingMutedAudioSequence) .setTransmuxVideo(true) .build(), @@ -297,14 +298,15 @@ public class CompositionExportTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_VIDEO)) .build(); EditedMediaItemSequence audioVideoSequence = - new EditedMediaItemSequence( - audioVideoEditedMediaItem, audioVideoEditedMediaItem, audioVideoEditedMediaItem); + new EditedMediaItemSequence.Builder( + audioVideoEditedMediaItem, audioVideoEditedMediaItem, audioVideoEditedMediaItem) + .build(); EditedMediaItem audioEditedMediaItem = new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_VIDEO)) .setRemoveVideo(true) .build(); EditedMediaItemSequence loopingAudioSequence = - new EditedMediaItemSequence(ImmutableList.of(audioEditedMediaItem), /* isLooping= */ true); + new EditedMediaItemSequence.Builder(audioEditedMediaItem).setIsLooping(true).build(); Composition composition = new Composition.Builder(audioVideoSequence, loopingAudioSequence) .setTransmuxVideo(true) @@ -335,7 +337,7 @@ public class CompositionExportTest { MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setEffects(createAudioEffects(sonicAudioProcessor)) .build(); @@ -359,8 +361,8 @@ public class CompositionExportTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(rawAudioEditedMediaItem), - new EditedMediaItemSequence(rawAudioEditedMediaItem)) + new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build(), + new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build()) .setEffects(createAudioEffects(sonicAudioProcessor)) .build(); @@ -399,8 +401,8 @@ public class CompositionExportTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(audioItem300ms), - new EditedMediaItemSequence(audioItem1000ms)) + new EditedMediaItemSequence.Builder(audioItem300ms).build(), + new EditedMediaItemSequence.Builder(audioItem1000ms).build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -432,8 +434,8 @@ public class CompositionExportTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(audioItem1000ms), - new EditedMediaItemSequence(audioItem300ms)) + new EditedMediaItemSequence.Builder(audioItem1000ms).build(), + new EditedMediaItemSequence.Builder(audioItem300ms).build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerAudioPlaybackTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerAudioPlaybackTest.java index 59b8d43685..601e3e4463 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerAudioPlaybackTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerAudioPlaybackTest.java @@ -34,7 +34,6 @@ import androidx.media3.test.utils.FakeClock; import androidx.media3.test.utils.robolectric.TestPlayerRunHelper; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.common.collect.ImmutableList; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -69,7 +68,7 @@ public final class CompositionPlayerAudioPlaybackTest { .setDurationUs(348_000L) .build(); EditedMediaItemSequence sequence = - new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -97,7 +96,7 @@ public final class CompositionPlayerAudioPlaybackTest { .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f))) .build(); EditedMediaItemSequence sequence = - new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -122,7 +121,8 @@ public final class CompositionPlayerAudioPlaybackTest { .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(audioEditedMediaItem)).build(); + new Composition.Builder(new EditedMediaItemSequence.Builder(audioEditedMediaItem).build()) + .build(); player.setComposition(composition); player.prepare(); @@ -144,7 +144,7 @@ public final class CompositionPlayerAudioPlaybackTest { .setDurationUs(1_000_000L) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(audioEditedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(audioEditedMediaItem).build()) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f))) .build(); @@ -184,7 +184,8 @@ public final class CompositionPlayerAudioPlaybackTest { EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).setDurationUs(348_000L).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build()) .build(); player.setComposition(composition); @@ -225,8 +226,8 @@ public final class CompositionPlayerAudioPlaybackTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(editedMediaItem1), - new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) + new EditedMediaItemSequence.Builder(editedMediaItem1).build(), + new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build()) .build(); player.setComposition(composition); player.prepare(); @@ -249,7 +250,7 @@ public final class CompositionPlayerAudioPlaybackTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) .setDurationUs(1_000_000L) .build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem); + EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); player.prepare(); @@ -270,18 +271,19 @@ public final class CompositionPlayerAudioPlaybackTest { throws Exception { CompositionPlayer player = createCompositionPlayer(context, capturingAudioSink); EditedMediaItemSequence primarySequence = - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) - .setDurationUs(1_000_000L) - .build()); + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) + .setDurationUs(1_000_000L) + .build()) + .build(); EditedMediaItemSequence loopingSequence = - new EditedMediaItemSequence( - ImmutableList.of( + new EditedMediaItemSequence.Builder( new EditedMediaItem.Builder( MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ)) .setDurationUs(348_000L) - .build()), - /* isLooping= */ true); + .build()) + .setIsLooping(true) + .build(); Composition composition = new Composition.Builder(primarySequence, loopingSequence).build(); player.setComposition(composition); player.prepare(); @@ -299,18 +301,19 @@ public final class CompositionPlayerAudioPlaybackTest { public void compositionPlayback_withLongLoopingSequence_outputsCorrectSamples() throws Exception { CompositionPlayer player = createCompositionPlayer(context, capturingAudioSink); EditedMediaItemSequence primarySequence = - new EditedMediaItemSequence( - new EditedMediaItem.Builder( - MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ)) - .setDurationUs(348_000L) - .build()); + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder( + MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ)) + .setDurationUs(348_000L) + .build()) + .build(); EditedMediaItemSequence loopingSequence = - new EditedMediaItemSequence( - ImmutableList.of( + new EditedMediaItemSequence.Builder( new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) .setDurationUs(1_000_000L) - .build()), - /* isLooping= */ true); + .build()) + .setIsLooping(true) + .build(); Composition composition = new Composition.Builder(primarySequence, loopingSequence).build(); player.setComposition(composition); player.prepare(); @@ -338,7 +341,7 @@ public final class CompositionPlayerAudioPlaybackTest { .setDurationUs(348_000L) .build(); EditedMediaItemSequence sequence = - new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); player.prepare(); @@ -369,8 +372,9 @@ public final class CompositionPlayerAudioPlaybackTest { editedMediaItem.buildUpon().setRemoveAudio(true).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - editedMediaItem, audioRemovedMediaItem, editedMediaItem)) + new EditedMediaItemSequence.Builder( + editedMediaItem, audioRemovedMediaItem, editedMediaItem) + .build()) .build(); player.setComposition(composition); player.prepare(); @@ -398,8 +402,9 @@ public final class CompositionPlayerAudioPlaybackTest { editedMediaItem.buildUpon().setRemoveAudio(true).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - audioRemovedMediaItem, editedMediaItem, audioRemovedMediaItem)) + new EditedMediaItemSequence.Builder( + audioRemovedMediaItem, editedMediaItem, audioRemovedMediaItem) + .build()) .build(); player.setComposition(composition); player.prepare(); @@ -441,8 +446,8 @@ public final class CompositionPlayerAudioPlaybackTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(editedMediaItem1), - new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) + new EditedMediaItemSequence.Builder(editedMediaItem1).build(), + new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build()) .build(); player.setComposition(composition); player.prepare(); @@ -468,7 +473,7 @@ public final class CompositionPlayerAudioPlaybackTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) .setDurationUs(1_000_000L) .build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem); + EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -495,7 +500,7 @@ public final class CompositionPlayerAudioPlaybackTest { .setDurationUs(348_000L) .build(); EditedMediaItemSequence sequence = - new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -524,7 +529,7 @@ public final class CompositionPlayerAudioPlaybackTest { .setDurationUs(348_000L) .build(); EditedMediaItemSequence sequence = - new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -567,7 +572,7 @@ public final class CompositionPlayerAudioPlaybackTest { EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).setDurationUs(348_000L).build(); EditedMediaItemSequence sequence = - new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerTest.java index f6051aa173..08c4c68f37 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/CompositionPlayerTest.java @@ -405,7 +405,8 @@ public class CompositionPlayerTest { .build(); EditedMediaItem editedMediaItem1 = new EditedMediaItem.Builder(mediaItem).setDurationUs(1_000_000L).build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); + EditedMediaItemSequence sequence = + new EditedMediaItemSequence.Builder(editedMediaItem1).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -428,7 +429,8 @@ public class CompositionPlayerTest { .build(); EditedMediaItem editedMediaItem1 = new EditedMediaItem.Builder(mediaItem).setDurationUs(1_000_000L).build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); + EditedMediaItemSequence sequence = + new EditedMediaItemSequence.Builder(editedMediaItem1).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -454,7 +456,8 @@ public class CompositionPlayerTest { .build(); EditedMediaItem editedMediaItem1 = new EditedMediaItem.Builder(mediaItem).setDurationUs(1_000_000L).build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); + EditedMediaItemSequence sequence = + new EditedMediaItemSequence.Builder(editedMediaItem1).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -487,7 +490,8 @@ public class CompositionPlayerTest { .setDurationUs(1_000_000L) .setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of())) .build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); + EditedMediaItemSequence sequence = + new EditedMediaItemSequence.Builder(editedMediaItem1).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -520,7 +524,8 @@ public class CompositionPlayerTest { .setDurationUs(1_000_000L) .setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of())) .build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); + EditedMediaItemSequence sequence = + new EditedMediaItemSequence.Builder(editedMediaItem1).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -554,7 +559,8 @@ public class CompositionPlayerTest { .setDurationUs(1_000_000L) .setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of())) .build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); + EditedMediaItemSequence sequence = + new EditedMediaItemSequence.Builder(editedMediaItem1).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); @@ -752,8 +758,8 @@ public class CompositionPlayerTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(editedMediaItem1), - new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) + new EditedMediaItemSequence.Builder(editedMediaItem1).build(), + new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build()) .build(); player.setComposition(composition); @@ -794,8 +800,8 @@ public class CompositionPlayerTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(editedMediaItem1), - new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) + new EditedMediaItemSequence.Builder(editedMediaItem1).build(), + new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build()) .build(); player.setComposition(composition); player.prepare(); @@ -823,7 +829,7 @@ public class CompositionPlayerTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) .setDurationUs(1_000_000L) .build(); - EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem); + EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build(); Composition composition = new Composition.Builder(sequence).build(); player.setComposition(composition); player.prepare(); @@ -855,7 +861,7 @@ public class CompositionPlayerTest { .setDurationUs(348_000L) .build(); EditedMediaItemSequence sequence = - new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build(); return new Composition.Builder(sequence).build(); } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/EncodedSampleExporterTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/EncodedSampleExporterTest.java index a11129ac06..cbf9dda85f 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/EncodedSampleExporterTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/EncodedSampleExporterTest.java @@ -52,8 +52,9 @@ public final class EncodedSampleExporterTest { FallbackListener fallbackListener = new FallbackListener( new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.EMPTY).build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.EMPTY).build()) + .build()) .build(), new ListenerSet<>(looper, Clock.DEFAULT, mockIterationFinishedEvent), mockHandlerWrapper, diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java index f3d9ed89f3..00ba9fac58 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java @@ -39,8 +39,9 @@ public class FallbackListenerTest { private static final Composition PLACEHOLDER_COMPOSITION = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build()) + .build()) .build(); @Test diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java index f56fb25ac5..c00b3f3924 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/MediaItemExportTest.java @@ -423,7 +423,7 @@ public final class MediaItemExportTest { MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_AMR_NB); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .experimentalSetForceAudioTrack(true) .build(); @@ -442,7 +442,7 @@ public final class MediaItemExportTest { MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .experimentalSetForceAudioTrack(true) .build(); @@ -467,7 +467,7 @@ public final class MediaItemExportTest { .setEffects(createAudioEffects(sonicAudioProcessor)) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .experimentalSetForceAudioTrack(true) .build(); @@ -493,7 +493,7 @@ public final class MediaItemExportTest { .setRemoveVideo(true) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .experimentalSetForceAudioTrack(true) .build(); @@ -514,7 +514,7 @@ public final class MediaItemExportTest { MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .experimentalSetForceAudioTrack(true) .build(); @@ -612,7 +612,7 @@ public final class MediaItemExportTest { .setEffects(createAudioEffects(sonicAudioProcessor)) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) .setTransmuxAudio(true) .build(); @@ -1307,10 +1307,11 @@ public final class MediaItemExportTest { AtomicInteger bytesSeen = new AtomicInteger(0); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder( - MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder( + MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) + .build()) + .build()) .setEffects(createAudioEffects(createByteCountingAudioProcessor(bytesSeen))) .build(); @@ -1337,13 +1338,14 @@ public final class MediaItemExportTest { AtomicInteger compositionEffectBytesSeen = new AtomicInteger(0); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder( - MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) - .setEffects( - createAudioEffects( - createByteCountingAudioProcessor(itemEffectBytesSeen))) - .build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder( + MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) + .setEffects( + createAudioEffects( + createByteCountingAudioProcessor(itemEffectBytesSeen))) + .build()) + .build()) .setEffects( createAudioEffects(createByteCountingAudioProcessor(compositionEffectBytesSeen))) .build(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedAudioExportTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedAudioExportTest.java index b3f59b0c3c..6fe5192bbb 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedAudioExportTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedAudioExportTest.java @@ -169,7 +169,7 @@ public final class ParameterizedAudioExportTest { items.add(itemConfig.asItem()); } - return new Composition.Builder(new EditedMediaItemSequence(items.build())) + return new Composition.Builder(new EditedMediaItemSequence.Builder(items.build()).build()) .setTransmuxVideo(true) .experimentalSetForceAudioTrack(true) .build(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedItemExportTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedItemExportTest.java index 0c474dda03..4ef58a7114 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedItemExportTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ParameterizedItemExportTest.java @@ -132,7 +132,7 @@ public final class ParameterizedItemExportTest { .setRemoveAudio(true) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(item)) + new Composition.Builder(new EditedMediaItemSequence.Builder(item).build()) .experimentalSetForceAudioTrack(true) .build(); @@ -159,7 +159,8 @@ public final class ParameterizedItemExportTest { new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile)) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f))) .build(); - Composition composition = new Composition.Builder(new EditedMediaItemSequence(item)).build(); + Composition composition = + new Composition.Builder(new EditedMediaItemSequence.Builder(item).build()).build(); transformer.start(composition, outputDir.newFile().getPath()); TransformerTestRunner.runLooper(transformer); @@ -183,7 +184,7 @@ public final class ParameterizedItemExportTest { EditedMediaItem item = new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile)).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(item)) + new Composition.Builder(new EditedMediaItemSequence.Builder(item).build()) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f))) .build(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/SequenceExportTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/SequenceExportTest.java index e868cdc29f..a45d0d8dc5 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/SequenceExportTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/SequenceExportTest.java @@ -84,7 +84,8 @@ public final class SequenceExportTest { MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .setTransmuxAudio(true) .setTransmuxVideo(true) .build(); @@ -117,7 +118,8 @@ public final class SequenceExportTest { ImmutableList.of(RgbFilter.createGrayscaleFilter()))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .setTransmuxAudio(true) .setTransmuxVideo(true) .build(); @@ -164,7 +166,8 @@ public final class SequenceExportTest { .build(); EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build()) .setTransmuxAudio(true) .setTransmuxVideo(true) .build(); @@ -214,7 +217,8 @@ public final class SequenceExportTest { .build(); EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build()) .setTransmuxAudio(true) .setTransmuxVideo(true) .build(); @@ -245,7 +249,8 @@ public final class SequenceExportTest { new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(audioVideoMediaItem, videoOnlyMediaItem)) + new EditedMediaItemSequence.Builder(audioVideoMediaItem, videoOnlyMediaItem) + .build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -274,7 +279,8 @@ public final class SequenceExportTest { EditedMediaItem audioVideoMediaItem = new EditedMediaItem.Builder(mediaItem).build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(videoOnlyMediaItem, audioVideoMediaItem)) + new EditedMediaItemSequence.Builder(videoOnlyMediaItem, audioVideoMediaItem) + .build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -309,7 +315,8 @@ public final class SequenceExportTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(audioEditedMediaItem, noAudioEditedMediaItem)) + new EditedMediaItemSequence.Builder(audioEditedMediaItem, noAudioEditedMediaItem) + .build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -344,7 +351,8 @@ public final class SequenceExportTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(silenceEditedMediaItem, audioEditedMediaItem)) + new EditedMediaItemSequence.Builder(silenceEditedMediaItem, audioEditedMediaItem) + .build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -371,7 +379,8 @@ public final class SequenceExportTest { EditedMediaItem videoOnlyMediaItem = new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(videoOnlyMediaItem, videoOnlyMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(videoOnlyMediaItem, videoOnlyMediaItem).build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -403,7 +412,8 @@ public final class SequenceExportTest { EditedMediaItem silenceItem = new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(silenceWithEffectsItem, silenceItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(silenceWithEffectsItem, silenceItem).build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -435,7 +445,8 @@ public final class SequenceExportTest { .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(silenceItem, silenceWithEffectsItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(silenceItem, silenceWithEffectsItem).build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -470,7 +481,7 @@ public final class SequenceExportTest { .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(firstItem, secondItem)) + new Composition.Builder(new EditedMediaItemSequence.Builder(firstItem, secondItem).build()) .experimentalSetForceAudioTrack(true) .setTransmuxVideo(true) .build(); @@ -495,7 +506,8 @@ public final class SequenceExportTest { MediaItem audioOnlyMediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(audioOnlyMediaItem).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -522,7 +534,8 @@ public final class SequenceExportTest { .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -555,7 +568,8 @@ public final class SequenceExportTest { .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 0.5f))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(highPitchMediaItem, lowPitchMediaItem)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(highPitchMediaItem, lowPitchMediaItem).build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -580,9 +594,10 @@ public final class SequenceExportTest { MediaItem mono44100Audio = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(stereo48000Audio).build(), - new EditedMediaItem.Builder(mono44100Audio).build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(stereo48000Audio).build(), + new EditedMediaItem.Builder(mono44100Audio).build()) + .build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -614,7 +629,8 @@ public final class SequenceExportTest { .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(stereo48000Audio, mono44100Audio)) + new Composition.Builder( + new EditedMediaItemSequence.Builder(stereo48000Audio, mono44100Audio).build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -647,7 +663,9 @@ public final class SequenceExportTest { .build(); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(stereo48000AudioHighPitch, mono44100AudioLowPitch)) + new EditedMediaItemSequence.Builder( + stereo48000AudioHighPitch, mono44100AudioLowPitch) + .build()) .build(); transformer.start(composition, outputDir.newFile().getPath()); @@ -673,9 +691,10 @@ public final class SequenceExportTest { MediaItem mono44100Audio = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); Composition composition = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(stereo48000Audio).build(), - new EditedMediaItem.Builder(mono44100Audio).build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(stereo48000Audio).build(), + new EditedMediaItem.Builder(mono44100Audio).build()) + .build()) .setEffects(createAudioEffects(createPitchChangingAudioProcessor(2f))) .build(); @@ -719,7 +738,8 @@ public final class SequenceExportTest { sonicAudioProcessor.setOutputSampleRateHz(48_000); Composition composition = new Composition.Builder( - new EditedMediaItemSequence(twoChannelMediaItem, oneChannelMediaItem)) + new EditedMediaItemSequence.Builder(twoChannelMediaItem, oneChannelMediaItem) + .build()) .setEffects(createAudioEffects(sonicAudioProcessor)) .build(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerUtilTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerUtilTest.java index 824cf98aab..3b2814c5c3 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerUtilTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerUtilTest.java @@ -63,7 +63,8 @@ public final class TransformerUtilTest { EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) + .build(); MuxerWrapper muxerWrapper = new MuxerWrapper( temporaryFolder.newFile().getPath(), @@ -97,7 +98,8 @@ public final class TransformerUtilTest { EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); Composition composition = - new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); + new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build()) + .build(); MuxerWrapper muxerWrapper = new MuxerWrapper( temporaryFolder.newFile().getPath(), diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java index d079a3ab40..16ccafceb9 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java @@ -46,8 +46,9 @@ import org.robolectric.shadows.ShadowMediaCodecList; public final class VideoEncoderWrapperTest { private static final Composition FAKE_COMPOSITION = new Composition.Builder( - new EditedMediaItemSequence( - new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build())) + new EditedMediaItemSequence.Builder( + new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build()) + .build()) .build(); private final TransformationRequest emptyTransformationRequest =