Migrate Media3 EditedMediaItemSequence usages to the Builder.

Removed the unnecessary wrapping of items in an ImmutableList.

PiperOrigin-RevId: 677796662
This commit is contained in:
samrobinson 2024-09-23 08:04:05 -07:00 committed by Copybara-Service
parent ba1cdba403
commit b4436c523c
36 changed files with 401 additions and 301 deletions

View File

@ -179,7 +179,7 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
mediaItems.add(itemBuilder.build()); mediaItems.add(itemBuilder.build());
} }
} }
EditedMediaItemSequence videoSequence = new EditedMediaItemSequence(mediaItems); EditedMediaItemSequence videoSequence = new EditedMediaItemSequence.Builder(mediaItems).build();
List<EditedMediaItemSequence> compositionSequences = new ArrayList<>(); List<EditedMediaItemSequence> compositionSequences = new ArrayList<>();
compositionSequences.add(videoSequence); compositionSequences.add(videoSequence);
if (includeBackgroundAudioTrack) { if (includeBackgroundAudioTrack) {
@ -207,7 +207,7 @@ public final class CompositionPreviewActivity extends AppCompatActivity {
.build(); .build();
EditedMediaItem audioItem = EditedMediaItem audioItem =
new EditedMediaItem.Builder(audioMediaItem).setDurationUs(59_000_000).build(); new EditedMediaItem.Builder(audioMediaItem).setDurationUs(59_000_000).build();
return new EditedMediaItemSequence(audioItem); return new EditedMediaItemSequence.Builder(audioItem).build();
} }
private void previewComposition() { private void previewComposition() {

View File

@ -371,7 +371,8 @@ public final class TransformerActivity extends AppCompatActivity {
.setEffects(new Effects(audioProcessors, videoEffects)); .setEffects(new Effects(audioProcessors, videoEffects));
} }
Composition.Builder compositionBuilder = Composition.Builder compositionBuilder =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItemBuilder.build())); new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItemBuilder.build()).build());
if (bundle != null) { if (bundle != null) {
compositionBuilder compositionBuilder
.setHdrMode(bundle.getInt(ConfigurationActivity.HDR_MODE)) .setHdrMode(bundle.getInt(ConfigurationActivity.HDR_MODE))

View File

@ -79,7 +79,7 @@ public class CompositionPlaybackTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem, editedMediaItem))) new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.build(); .build();
ImmutableList<Long> expectedTimestampsUs = ImmutableList<Long> expectedTimestampsUs =
new ImmutableList.Builder<Long>() new ImmutableList.Builder<Long>()
@ -119,7 +119,7 @@ public class CompositionPlaybackTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem, editedMediaItem))) new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.build(); .build();
ImmutableList<Long> expectedTimestampsUs = ImmutableList<Long> expectedTimestampsUs =
new ImmutableList.Builder<Long>() new ImmutableList.Builder<Long>()
@ -167,8 +167,8 @@ public class CompositionPlaybackTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(videoEditedMediaItem, imageEditedMediaItem)
ImmutableList.of(videoEditedMediaItem, imageEditedMediaItem))) .build())
.build(); .build();
ImmutableList<Long> expectedTimestampsUs = ImmutableList<Long> expectedTimestampsUs =
new ImmutableList.Builder<Long>() new ImmutableList.Builder<Long>()
@ -216,8 +216,8 @@ public class CompositionPlaybackTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(imageEditedMediaItem, videoEditedMediaItem)
ImmutableList.of(imageEditedMediaItem, videoEditedMediaItem))) .build())
.build(); .build();
ImmutableList<Long> expectedTimestampsUs = ImmutableList<Long> expectedTimestampsUs =
new ImmutableList.Builder<Long>() new ImmutableList.Builder<Long>()
@ -260,10 +260,11 @@ public class CompositionPlaybackTest {
videoEditedMediaItem.buildUpon().setRemoveAudio(true).build(); videoEditedMediaItem.buildUpon().setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
videoEditedMediaItemRemoveAudio, videoEditedMediaItemRemoveAudio,
videoEditedMediaItem, videoEditedMediaItem,
videoEditedMediaItemRemoveAudio)) videoEditedMediaItemRemoveAudio)
.build())
.build(); .build();
ImmutableList<Long> expectedTimestampsUs = ImmutableList<Long> expectedTimestampsUs =
new ImmutableList.Builder<Long>() new ImmutableList.Builder<Long>()
@ -308,8 +309,9 @@ public class CompositionPlaybackTest {
videoEditedMediaItem.buildUpon().setRemoveAudio(true).build(); videoEditedMediaItem.buildUpon().setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
videoEditedMediaItem, videoEditedMediaItemRemoveAudio, videoEditedMediaItem)) videoEditedMediaItem, videoEditedMediaItemRemoveAudio, videoEditedMediaItem)
.build())
.build(); .build();
ImmutableList<Long> expectedTimestampsUs = ImmutableList<Long> expectedTimestampsUs =
new ImmutableList.Builder<Long>() new ImmutableList.Builder<Long>()
@ -356,8 +358,9 @@ public class CompositionPlaybackTest {
videoEditedMediaItem.buildUpon().setRemoveVideo(true).build(); videoEditedMediaItem.buildUpon().setRemoveVideo(true).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
videoEditedMediaItem, videoEditedMediaItemRemoveVideo, videoEditedMediaItem)) videoEditedMediaItem, videoEditedMediaItemRemoveVideo, videoEditedMediaItem)
.build())
.build(); .build();
getInstrumentation() getInstrumentation()

View File

@ -129,7 +129,8 @@ public class CompositionPlayerSeekTest {
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.addListener(playerTestListener); compositionPlayer.addListener(playerTestListener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(video, video)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(video, video).build())
.build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });
@ -449,7 +450,9 @@ public class CompositionPlayerSeekTest {
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.addListener(playerTestListener); compositionPlayer.addListener(playerTestListener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(editedMediaItems)).build()); new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItems).build())
.build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });

View File

@ -107,7 +107,8 @@ public class CompositionPlayerSpeedAdjustmentsTest {
compositionPlayer.addListener(compositionPlayerListener); compositionPlayer.addListener(compositionPlayerListener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(timestampRecordingEditedMediaItems)) new EditedMediaItemSequence.Builder(timestampRecordingEditedMediaItems)
.build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build()); .build());
compositionPlayer.prepare(); compositionPlayer.prepare();

View File

@ -125,10 +125,11 @@ public class CompositionPlayerTest {
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri))
.setDurationUs(1_000_000) .setDurationUs(1_000_000)
.build())) .build())
.build())
.build()); .build());
compositionPlayer.prepare(); compositionPlayer.prepare();
}); });
@ -145,10 +146,11 @@ public class CompositionPlayerTest {
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri))
.setDurationUs(1_000_000) .setDurationUs(1_000_000)
.build())) .build())
.build())
.build()); .build());
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.prepare(); compositionPlayer.prepare();
@ -169,10 +171,11 @@ public class CompositionPlayerTest {
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri))
.setDurationUs(1_000_000) .setDurationUs(1_000_000)
.build())) .build())
.build())
.build()); .build());
compositionPlayer.prepare(); compositionPlayer.prepare();
}); });
@ -191,10 +194,11 @@ public class CompositionPlayerTest {
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri))
.setDurationUs(1_000_000) .setDurationUs(1_000_000)
.build())) .build())
.build())
.build()); .build());
compositionPlayer.setVideoSurfaceHolder(surfaceHolder); compositionPlayer.setVideoSurfaceHolder(surfaceHolder);
compositionPlayer.prepare(); compositionPlayer.prepare();
@ -233,14 +237,15 @@ public class CompositionPlayerTest {
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
new MediaItem.Builder() new MediaItem.Builder()
.setUri(JPG_SINGLE_PIXEL_ASSET.uri) .setUri(JPG_SINGLE_PIXEL_ASSET.uri)
.setImageDurationMs(1_000) .setImageDurationMs(1_000)
.build()) .build())
.setDurationUs(1_000_000) .setDurationUs(1_000_000)
.build())) .build())
.build())
.build()); .build());
compositionPlayer.prepare(); compositionPlayer.prepare();
}); });
@ -274,15 +279,17 @@ public class CompositionPlayerTest {
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
new MediaItem.Builder() new MediaItem.Builder()
.setUri(JPG_SINGLE_PIXEL_ASSET.uri) .setUri(JPG_SINGLE_PIXEL_ASSET.uri)
.setMimeType(MimeTypes.APPLICATION_EXTERNALLY_LOADED_IMAGE) .setMimeType(
.setImageDurationMs(1_000) MimeTypes.APPLICATION_EXTERNALLY_LOADED_IMAGE)
.build()) .setImageDurationMs(1_000)
.setDurationUs(1_000_000) .build())
.build())) .setDurationUs(1_000_000)
.build())
.build())
.build()); .build());
compositionPlayer.prepare(); compositionPlayer.prepare();
}); });
@ -310,7 +317,8 @@ public class CompositionPlayerTest {
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(image, image)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(image, image).build())
.build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });
@ -343,7 +351,8 @@ public class CompositionPlayerTest {
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(image, video)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(image, video).build())
.build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });
@ -375,7 +384,8 @@ public class CompositionPlayerTest {
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(video, image)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(video, image).build())
.build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });
@ -404,7 +414,7 @@ public class CompositionPlayerTest {
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(video)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });
@ -433,7 +443,7 @@ public class CompositionPlayerTest {
compositionPlayer.setVideoSurfaceView(surfaceView); compositionPlayer.setVideoSurfaceView(surfaceView);
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(video)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });
@ -467,7 +477,7 @@ public class CompositionPlayerTest {
.build(); .build();
compositionPlayer.addListener(listener); compositionPlayer.addListener(listener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(video)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });
@ -493,7 +503,7 @@ public class CompositionPlayerTest {
.build(); .build();
compositionPlayer.addListener(playerTestListener); compositionPlayer.addListener(playerTestListener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder(new EditedMediaItemSequence(video)).build()); new Composition.Builder(new EditedMediaItemSequence.Builder(video).build()).build());
compositionPlayer.prepare(); compositionPlayer.prepare();
compositionPlayer.play(); compositionPlayer.play();
}); });

View File

@ -130,10 +130,11 @@ public class ForceEndOfStreamTest {
private static Composition createComposition(MediaItem mediaItem) { private static Composition createComposition(MediaItem mediaItem) {
return new Composition.Builder( return new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(mediaItem) new EditedMediaItem.Builder(mediaItem)
.setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS) .setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS)
.build())) .build())
.build())
.build(); .build();
} }

View File

@ -78,7 +78,8 @@ import java.util.Objects;
editedMediaItems.add(itemConfig.build()); editedMediaItems.add(itemConfig.build());
} }
return new Composition.Builder(new EditedMediaItemSequence(editedMediaItems.build())) return new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItems.build()).build())
.setEffects(compositionEffects) .setEffects(compositionEffects)
.build(); .build();
} }

View File

@ -65,7 +65,10 @@ public final class SequenceEffectTestUtil {
EditedMediaItem editedMediaItem, EditedMediaItem editedMediaItem,
EditedMediaItem... editedMediaItems) { EditedMediaItem... editedMediaItems) {
Composition.Builder builder = Composition.Builder builder =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItems)); new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem)
.addItems(editedMediaItems)
.build());
if (presentation != null) { if (presentation != null) {
builder.setEffects( builder.setEffects(
new Effects(/* audioProcessors= */ ImmutableList.of(), ImmutableList.of(presentation))); new Effects(/* audioProcessors= */ ImmutableList.of(), ImmutableList.of(presentation)));

View File

@ -273,7 +273,8 @@ public class TransformerAndroidTestRunner {
*/ */
public ExportTestResult run(String testId, EditedMediaItem editedMediaItem) throws Exception { public ExportTestResult run(String testId, EditedMediaItem editedMediaItem) throws Exception {
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.build();
return run(testId, composition); return run(testId, composition);
} }

View File

@ -151,36 +151,37 @@ public class TransformerEndToEndTest {
.build(); .build();
EditedMediaItemSequence audioVideoSequence = EditedMediaItemSequence audioVideoSequence =
new EditedMediaItemSequence(audioVideoItem, imageItem, audioVideoItem); new EditedMediaItemSequence.Builder(audioVideoItem, imageItem, audioVideoItem).build();
EditedMediaItem.Builder audioBuilder = EditedMediaItem.Builder audioBuilder =
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveVideo(true); new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveVideo(true);
EditedMediaItemSequence audioSequence = EditedMediaItemSequence audioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
audioBuilder audioBuilder
.setEffects( .setEffects(
new Effects( new Effects(
ImmutableList.of(createSonic(/* pitch= */ 1.3f)), ImmutableList.of(createSonic(/* pitch= */ 1.3f)),
/* videoEffects= */ ImmutableList.of())) /* videoEffects= */ ImmutableList.of()))
.build(), .build(),
audioBuilder audioBuilder
.setEffects( .setEffects(
new Effects( new Effects(
ImmutableList.of(createSonic(/* pitch= */ 0.85f)), ImmutableList.of(createSonic(/* pitch= */ 0.85f)),
/* videoEffects= */ ImmutableList.of())) /* videoEffects= */ ImmutableList.of()))
.build()); .build())
.build();
EditedMediaItemSequence loopingAudioSequence = EditedMediaItemSequence loopingAudioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
ImmutableList.of(
audioBuilder audioBuilder
.setEffects( .setEffects(
new Effects( new Effects(
ImmutableList.of(createSonic(/* pitch= */ 0.4f)), ImmutableList.of(createSonic(/* pitch= */ 0.4f)),
/* videoEffects= */ ImmutableList.of())) /* videoEffects= */ ImmutableList.of()))
.build()), .build())
/* isLooping= */ true); .setIsLooping(true)
.build();
Composition composition = Composition composition =
new Composition.Builder(audioVideoSequence, audioSequence, loopingAudioSequence).build(); new Composition.Builder(audioVideoSequence, audioSequence, loopingAudioSequence).build();
@ -213,21 +214,21 @@ public class TransformerEndToEndTest {
.setFrameRate(30) .setFrameRate(30)
.build(); .build();
EditedMediaItemSequence imageSequence = new EditedMediaItemSequence(imageItem); EditedMediaItemSequence imageSequence = new EditedMediaItemSequence.Builder(imageItem).build();
EditedMediaItem.Builder audioBuilder = EditedMediaItem.Builder audioBuilder =
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveVideo(true); new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveVideo(true);
EditedMediaItemSequence loopingAudioSequence = EditedMediaItemSequence loopingAudioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
ImmutableList.of(
audioBuilder audioBuilder
.setEffects( .setEffects(
new Effects( new Effects(
ImmutableList.of(createSonic(/* pitch= */ 0.4f)), ImmutableList.of(createSonic(/* pitch= */ 0.4f)),
/* videoEffects= */ ImmutableList.of())) /* videoEffects= */ ImmutableList.of()))
.build()), .build())
/* isLooping= */ true); .setIsLooping(true)
.build();
Composition composition = new Composition.Builder(imageSequence, loopingAudioSequence).build(); Composition composition = new Composition.Builder(imageSequence, loopingAudioSequence).build();
@ -534,7 +535,7 @@ public class TransformerEndToEndTest {
} }
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItems)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItems).build())
.setEffects( .setEffects(
new Effects( new Effects(
/* audioProcessors= */ ImmutableList.of(), /* audioProcessors= */ ImmutableList.of(),
@ -617,7 +618,7 @@ public class TransformerEndToEndTest {
ImmutableList<Effect> videoEffects = ImmutableList<Effect> videoEffects =
ImmutableList.of((GlEffect) (context, useHdr) -> timestampRecordingShaderProgram); ImmutableList.of((GlEffect) (context, useHdr) -> timestampRecordingShaderProgram);
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects)) .setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects))
.build(); .build();
@ -646,8 +647,8 @@ public class TransformerEndToEndTest {
ImmutableList.of((GlEffect) (context, useHdr) -> timestampRecordingShaderProgram); ImmutableList.of((GlEffect) (context, useHdr) -> timestampRecordingShaderProgram);
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(editedMediaItem), new EditedMediaItemSequence.Builder(editedMediaItem).build(),
new EditedMediaItemSequence(editedMediaItem)) new EditedMediaItemSequence.Builder(editedMediaItem).build())
.setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects)) .setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects))
.build(); .build();
@ -1209,7 +1210,7 @@ public class TransformerEndToEndTest {
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
ExportTestResult result = ExportTestResult result =
@ -1271,7 +1272,8 @@ public class TransformerEndToEndTest {
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.build(); .build();
ExportTestResult result = ExportTestResult result =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)
@ -1300,7 +1302,8 @@ public class TransformerEndToEndTest {
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
ExportTestResult result = ExportTestResult result =
@ -1344,8 +1347,8 @@ public class TransformerEndToEndTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(audioEditedMediaItem), new EditedMediaItemSequence.Builder(audioEditedMediaItem).build(),
new EditedMediaItemSequence(videoEditedMediaItem)) new EditedMediaItemSequence.Builder(videoEditedMediaItem).build())
.build(); .build();
ExportTestResult result = ExportTestResult result =
@ -1372,15 +1375,17 @@ public class TransformerEndToEndTest {
EditedMediaItem audioEditedMediaItem = EditedMediaItem audioEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build();
EditedMediaItemSequence loopingAudioSequence = EditedMediaItemSequence loopingAudioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(audioEditedMediaItem, audioEditedMediaItem)
ImmutableList.of(audioEditedMediaItem, audioEditedMediaItem), /* isLooping= */ true); .setIsLooping(true)
.build();
EditedMediaItem videoEditedMediaItem = EditedMediaItem videoEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET_WITH_INCREASING_TIMESTAMPS.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET_WITH_INCREASING_TIMESTAMPS.uri))
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
EditedMediaItemSequence videoSequence = EditedMediaItemSequence videoSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem); videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem)
.build();
Composition composition = Composition composition =
new Composition.Builder(loopingAudioSequence, videoSequence).setTransmuxVideo(true).build(); new Composition.Builder(loopingAudioSequence, videoSequence).setTransmuxVideo(true).build();
@ -1414,13 +1419,15 @@ public class TransformerEndToEndTest {
EditedMediaItem audioEditedMediaItem = EditedMediaItem audioEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build();
EditedMediaItemSequence audioSequence = EditedMediaItemSequence audioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem); audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem)
.build();
EditedMediaItem videoEditedMediaItem = EditedMediaItem videoEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveAudio(true).build(); new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).setRemoveAudio(true).build();
EditedMediaItemSequence loopingVideoSequence = EditedMediaItemSequence loopingVideoSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(videoEditedMediaItem, videoEditedMediaItem)
ImmutableList.of(videoEditedMediaItem, videoEditedMediaItem), /* isLooping= */ true); .setIsLooping(true)
.build();
Composition composition = new Composition.Builder(audioSequence, loopingVideoSequence).build(); Composition composition = new Composition.Builder(audioSequence, loopingVideoSequence).build();
ExportTestResult result = ExportTestResult result =
@ -1448,16 +1455,18 @@ public class TransformerEndToEndTest {
EditedMediaItem audioEditedMediaItem = EditedMediaItem audioEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build();
EditedMediaItemSequence audioSequence = EditedMediaItemSequence audioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem); audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem)
.build();
EditedMediaItem imageEditedMediaItem = EditedMediaItem imageEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(PNG_ASSET.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(PNG_ASSET.uri))
.setDurationUs(1_000_000) .setDurationUs(1_000_000)
.setFrameRate(30) .setFrameRate(30)
.build(); .build();
EditedMediaItemSequence loopingImageSequence = EditedMediaItemSequence loopingImageSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(imageEditedMediaItem, imageEditedMediaItem)
ImmutableList.of(imageEditedMediaItem, imageEditedMediaItem), /* isLooping= */ true); .setIsLooping(true)
.build();
Composition composition = new Composition.Builder(audioSequence, loopingImageSequence).build(); Composition composition = new Composition.Builder(audioSequence, loopingImageSequence).build();
ExportTestResult result = ExportTestResult result =
@ -1484,15 +1493,17 @@ public class TransformerEndToEndTest {
Transformer transformer = new Transformer.Builder(context).build(); Transformer transformer = new Transformer.Builder(context).build();
EditedMediaItem audioEditedMediaItem = EditedMediaItem audioEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(MP3_ASSET.uri)).build();
EditedMediaItemSequence audioSequence = new EditedMediaItemSequence(audioEditedMediaItem); EditedMediaItemSequence audioSequence =
new EditedMediaItemSequence.Builder(audioEditedMediaItem).build();
EditedMediaItem imageEditedMediaItem = EditedMediaItem imageEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(PNG_ASSET.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(PNG_ASSET.uri))
.setDurationUs(1_050_000) .setDurationUs(1_050_000)
.setFrameRate(20) .setFrameRate(20)
.build(); .build();
EditedMediaItemSequence loopingImageSequence = EditedMediaItemSequence loopingImageSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(imageEditedMediaItem, imageEditedMediaItem)
ImmutableList.of(imageEditedMediaItem, imageEditedMediaItem), /* isLooping= */ true); .setIsLooping(true)
.build();
Composition composition = new Composition.Builder(audioSequence, loopingImageSequence).build(); Composition composition = new Composition.Builder(audioSequence, loopingImageSequence).build();
ExportTestResult result = ExportTestResult result =
@ -1566,7 +1577,8 @@ public class TransformerEndToEndTest {
.setRemoveVideo(true) .setRemoveVideo(true)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.build();
ExportTestResult result = ExportTestResult result =
new TransformerAndroidTestRunner.Builder(context, new Transformer.Builder(context).build()) new TransformerAndroidTestRunner.Builder(context, new Transformer.Builder(context).build())
@ -1584,7 +1596,7 @@ public class TransformerEndToEndTest {
.setRemoveVideo(true) .setRemoveVideo(true)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.setEffects( .setEffects(
new Effects(ImmutableList.of(createSonic(/* pitch= */ 2f)), ImmutableList.of())) new Effects(ImmutableList.of(createSonic(/* pitch= */ 2f)), ImmutableList.of()))
.build(); .build();
@ -1982,7 +1994,8 @@ public class TransformerEndToEndTest {
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.build(); .build();
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
new TransformerAndroidTestRunner.Builder(context, transformer) new TransformerAndroidTestRunner.Builder(context, transformer)

View File

@ -244,8 +244,8 @@ public final class TransformerMultiSequenceCompositionTest {
new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); new EditedMediaItem.Builder(mediaItem).setEffects(effects).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(editedMediaItem), new EditedMediaItemSequence.Builder(editedMediaItem).build(),
new EditedMediaItemSequence(editedMediaItem)) new EditedMediaItemSequence.Builder(editedMediaItem).build())
.build(); .build();
ExportTestResult result = ExportTestResult result =
@ -303,8 +303,8 @@ public final class TransformerMultiSequenceCompositionTest {
return new Composition.Builder( return new Composition.Builder(
ImmutableList.of( ImmutableList.of(
new EditedMediaItemSequence(firstSequenceMediaItems), new EditedMediaItemSequence.Builder(firstSequenceMediaItems).build(),
new EditedMediaItemSequence(secondSequenceMediaItems))) new EditedMediaItemSequence.Builder(secondSequenceMediaItems).build()))
.setEffects( .setEffects(
new Effects( new Effects(
/* audioProcessors= */ ImmutableList.of(), /* videoEffects= */ compositionEffects)) /* audioProcessors= */ ImmutableList.of(), /* videoEffects= */ compositionEffects))

View File

@ -399,7 +399,8 @@ public class TransformerPauseResumeTest {
editedMediaItemList.add(editedMediaItem); 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) { private static Transformer buildBlockingTransformer(FrameBlockingMuxer.Listener listener) {

View File

@ -113,15 +113,16 @@ public class TransformerProgressTest {
// sleep on every received frame. // sleep on every received frame.
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
MediaItem.fromUri(AndroidTestUtil.MP4_ASSET.uri)) MediaItem.fromUri(AndroidTestUtil.MP4_ASSET.uri))
.setEffects( .setEffects(
new Effects( new Effects(
/* audioProcessors= */ ImmutableList.of(), /* audioProcessors= */ ImmutableList.of(),
/* videoEffects= */ ImmutableList.of( /* videoEffects= */ ImmutableList.of(
new DelayEffect(/* delayMs= */ DELAY_MS)))) new DelayEffect(/* delayMs= */ DELAY_MS))))
.build())) .build())
.build())
.build(); .build();
File outputVideoFile = File outputVideoFile =
AndroidTestUtil.createExternalCacheFile( AndroidTestUtil.createExternalCacheFile(

View File

@ -125,7 +125,9 @@ public final class TransformerUltraHdrTest {
/* outputFormat= */ DOWNSCALED_ULTRA_HDR_FORMAT); /* outputFormat= */ DOWNSCALED_ULTRA_HDR_FORMAT);
Composition composition = Composition composition =
new Composition.Builder( 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(); .build();
// Downscale source bitmap to avoid "video encoding format not supported" errors on emulators. // 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( private static Composition createUltraHdrComposition(
boolean tonemap, EditedMediaItem editedMediaItem, EditedMediaItem... editedMediaItems) { boolean tonemap, EditedMediaItem editedMediaItem, EditedMediaItem... editedMediaItems) {
Composition.Builder builder = Composition.Builder builder =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItems)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem)
.addItems(editedMediaItems)
.build())
.experimentalSetRetainHdrFromUltraHdrImage(true); .experimentalSetRetainHdrFromUltraHdrImage(true);
if (tonemap) { if (tonemap) {
builder.setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL); builder.setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL);

View File

@ -84,7 +84,7 @@ public class ForceInterpretHdrVideoAsSdrTest {
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10.uri))) new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10.uri)))
.build(); .build();
Composition composition = 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) .setHdrMode(Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.build(); .build();
ExportTestResult exportTestResult = ExportTestResult exportTestResult =
@ -126,7 +126,7 @@ public class ForceInterpretHdrVideoAsSdrTest {
MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10.uri))) MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10.uri)))
.build(); .build();
Composition composition = 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) .setHdrMode(Composition.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.build(); .build();
ExportTestResult exportTestResult = ExportTestResult exportTestResult =

View File

@ -88,7 +88,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10.uri))) new EditedMediaItem.Builder(MediaItem.fromUri(Uri.parse(MP4_ASSET_720P_4_SECOND_HDR10.uri)))
.build(); .build();
Composition composition = 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) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build(); .build();
@ -149,7 +149,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10.uri))) MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_5_SECOND_HLG10.uri)))
.build(); .build();
Composition composition = 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) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build(); .build();
@ -210,7 +210,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
.setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS) .setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS)
.build(); .build();
Composition composition = 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) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build(); .build();
@ -272,7 +272,7 @@ public class ToneMapHdrToSdrUsingMediaCodecTest {
.setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS) .setEffects(FORCE_TRANSCODE_VIDEO_EFFECTS)
.build(); .build();
Composition composition = 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) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.build(); .build();

View File

@ -83,8 +83,9 @@ public class ToneMapHdrToSdrUsingOpenGlTest {
Transformer transformer = new Transformer.Builder(context).build(); Transformer transformer = new Transformer.Builder(context).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(fileUri)).build())) new EditedMediaItem.Builder(MediaItem.fromUri(fileUri)).build())
.build())
.setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL) .setHdrMode(Composition.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL)
.build(); .build();
ExportTestResult exportTestResult = ExportTestResult exportTestResult =

View File

@ -148,7 +148,10 @@ public final class TransformerMhUltraHdrTest {
private static Composition createUltraHdrComposition( private static Composition createUltraHdrComposition(
boolean tonemap, EditedMediaItem editedMediaItem, EditedMediaItem... editedMediaItems) { boolean tonemap, EditedMediaItem editedMediaItem, EditedMediaItem... editedMediaItems) {
Composition.Builder builder = Composition.Builder builder =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItems)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem)
.addItems(editedMediaItems)
.build())
.experimentalSetRetainHdrFromUltraHdrImage(true); .experimentalSetRetainHdrFromUltraHdrImage(true);
if (tonemap) { if (tonemap) {
builder.setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL); builder.setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL);

View File

@ -404,7 +404,8 @@ public class VideoTimestampConsistencyTest {
.run( .run(
/* testId= */ testName.getMethodName(), /* testId= */ testName.getMethodName(),
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(timestampRecordingEditedMediaItems)) new EditedMediaItemSequence.Builder(timestampRecordingEditedMediaItems)
.build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build()); .build());
@ -431,7 +432,8 @@ public class VideoTimestampConsistencyTest {
compositionPlayer.addListener(compositionPlayerListener); compositionPlayer.addListener(compositionPlayerListener);
compositionPlayer.setComposition( compositionPlayer.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(timestampRecordingEditedMediaItems)) new EditedMediaItemSequence.Builder(timestampRecordingEditedMediaItems)
.build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build()); .build());
compositionPlayer.prepare(); compositionPlayer.prepare();

View File

@ -119,15 +119,16 @@ public class CompositionPlayerPixelTest {
new Size(MP4_ASSET.videoFormat.width, MP4_ASSET.videoFormat.height)); new Size(MP4_ASSET.videoFormat.width, MP4_ASSET.videoFormat.height));
player.setComposition( player.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)) new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri))
.setEffects( .setEffects(
new Effects( new Effects(
/* audioProcessors= */ ImmutableList.of(), /* audioProcessors= */ ImmutableList.of(),
/* videoEffects= */ ImmutableList.of( /* videoEffects= */ ImmutableList.of(
createTimestampOverlay()))) createTimestampOverlay())))
.setDurationUs(1_024_000L) .setDurationUs(1_024_000L)
.build())) .build())
.build())
.build()); .build());
player.prepare(); player.prepare();
}); });

View File

@ -96,9 +96,10 @@ public class VideoCompositionPreviewPerformanceTest {
player.addListener(listener); player.addListener(listener);
player.setComposition( player.setComposition(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(.2f)), getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(.2f)),
getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(-.2f)))) getClippedEditedMediaItem(MP4_ASSET.uri, new Contrast(-.2f)))
.build())
.build()); .build());
player.prepare(); player.prepare();
}); });

View File

@ -606,7 +606,10 @@ public final class CompositionPlayer extends SimpleBasePlayer
.setEffects(new Effects(editedMediaItem.effects.audioProcessors, newVideoEffects)) .setEffects(new Effects(editedMediaItem.effects.audioProcessors, newVideoEffects))
.build()); .build());
} }
newSequences.add(new EditedMediaItemSequence(newEditedMediaItems, sequence.isLooping)); newSequences.add(
new EditedMediaItemSequence.Builder(newEditedMediaItems)
.setIsLooping(sequence.isLooping)
.build());
} }
return composition.buildUpon().setSequences(newSequences).build(); return composition.buildUpon().setSequences(newSequences).build();
} }

View File

@ -1105,7 +1105,10 @@ public final class Transformer {
* @throws IllegalStateException If an export is already in progress. * @throws IllegalStateException If an export is already in progress.
*/ */
public void start(EditedMediaItem editedMediaItem, String path) { 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);
} }
/** /**

View File

@ -119,7 +119,8 @@ import java.util.List;
return oldComposition return oldComposition
.buildUpon() .buildUpon()
.setSequences(ImmutableList.of(new EditedMediaItemSequence(editedMediaItem))) .setSequences(
ImmutableList.of(new EditedMediaItemSequence.Builder(editedMediaItem).build()))
.build(); .build();
} }
@ -143,9 +144,8 @@ import java.util.List;
.build()) .build())
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build();
new EditedMediaItemSequence(ImmutableList.of(editedMediaItem)); return new Composition.Builder(sequence).build();
return new Composition.Builder(ImmutableList.of(sequence)).build();
} }
/** /**
@ -171,7 +171,7 @@ import java.util.List;
EditedMediaItem videoOnlyEditedMediaItem = EditedMediaItem videoOnlyEditedMediaItem =
new EditedMediaItem.Builder(new MediaItem.Builder().setUri(videoFilePath).build()).build(); new EditedMediaItem.Builder(new MediaItem.Builder().setUri(videoFilePath).build()).build();
EditedMediaItemSequence videoOnlySequence = EditedMediaItemSequence videoOnlySequence =
new EditedMediaItemSequence(ImmutableList.of(videoOnlyEditedMediaItem)); new EditedMediaItemSequence.Builder(videoOnlyEditedMediaItem).build();
sequences.add(videoOnlySequence); sequences.add(videoOnlySequence);
compositionBuilder.setSequences(sequences); compositionBuilder.setSequences(sequences);
@ -249,8 +249,9 @@ import java.util.List;
} }
newEditedMediaItemSequenceList.add( newEditedMediaItemSequenceList.add(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(newEditedMediaItemList)
newEditedMediaItemList, currentEditedMediaItemSequence.isLooping)); .setIsLooping(currentEditedMediaItemSequence.isLooping)
.build());
} }
compositionBuilder.setSequences(newEditedMediaItemSequenceList); compositionBuilder.setSequences(newEditedMediaItemSequenceList);
return compositionBuilder.build(); return compositionBuilder.build();

View File

@ -40,7 +40,6 @@ import androidx.media3.common.audio.SonicAudioProcessor;
import androidx.media3.test.utils.DumpFileAsserts; import androidx.media3.test.utils.DumpFileAsserts;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.google.common.collect.ImmutableList;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
@ -83,8 +82,8 @@ public class CompositionExportTest {
new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(audioEditedMediaItem), new EditedMediaItemSequence.Builder(audioEditedMediaItem).build(),
new EditedMediaItemSequence(videoEditedMediaItem)) new EditedMediaItemSequence.Builder(videoEditedMediaItem).build())
.setTransmuxAudio(true) .setTransmuxAudio(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -104,12 +103,13 @@ public class CompositionExportTest {
EditedMediaItem audioEditedMediaItem = EditedMediaItem audioEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_ONLY)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_ONLY)).build();
EditedMediaItemSequence loopingAudioSequence = EditedMediaItemSequence loopingAudioSequence =
new EditedMediaItemSequence(ImmutableList.of(audioEditedMediaItem), /* isLooping= */ true); new EditedMediaItemSequence.Builder(audioEditedMediaItem).setIsLooping(true).build();
EditedMediaItem videoEditedMediaItem = EditedMediaItem videoEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY)).build();
EditedMediaItemSequence videoSequence = EditedMediaItemSequence videoSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem); videoEditedMediaItem, videoEditedMediaItem, videoEditedMediaItem)
.build();
Composition composition = Composition composition =
new Composition.Builder(loopingAudioSequence, videoSequence) new Composition.Builder(loopingAudioSequence, videoSequence)
.setTransmuxAudio(true) .setTransmuxAudio(true)
@ -138,12 +138,13 @@ public class CompositionExportTest {
EditedMediaItem audioEditedMediaItem = EditedMediaItem audioEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_ONLY)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_ONLY)).build();
EditedMediaItemSequence audioSequence = EditedMediaItemSequence audioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem); audioEditedMediaItem, audioEditedMediaItem, audioEditedMediaItem)
.build();
EditedMediaItem videoEditedMediaItem = EditedMediaItem videoEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY)).build();
EditedMediaItemSequence loopingVideoSequence = EditedMediaItemSequence loopingVideoSequence =
new EditedMediaItemSequence(ImmutableList.of(videoEditedMediaItem), /* isLooping= */ true); new EditedMediaItemSequence.Builder(videoEditedMediaItem).setIsLooping(true).build();
Composition composition = Composition composition =
new Composition.Builder(audioSequence, loopingVideoSequence) new Composition.Builder(audioSequence, loopingVideoSequence)
.setTransmuxAudio(true) .setTransmuxAudio(true)
@ -170,18 +171,18 @@ public class CompositionExportTest {
Transformer transformer = Transformer transformer =
createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build(); createTransformerBuilder(muxerFactory, /* enableFallback= */ false).build();
EditedMediaItemSequence loopingAudioSequence = EditedMediaItemSequence loopingAudioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
ImmutableList.of(
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.build()), .build())
/* isLooping= */ true); .setIsLooping(true)
.build();
EditedMediaItem videoEditedMediaItem = EditedMediaItem videoEditedMediaItem =
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO_INCREASING_TIMESTAMPS_15S)) MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO_INCREASING_TIMESTAMPS_15S))
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
EditedMediaItemSequence videoSequence = EditedMediaItemSequence videoSequence =
new EditedMediaItemSequence(videoEditedMediaItem, videoEditedMediaItem); new EditedMediaItemSequence.Builder(videoEditedMediaItem, videoEditedMediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(loopingAudioSequence, videoSequence).setTransmuxVideo(true).build(); 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(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(rawAudioEditedMediaItem), new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build(),
new EditedMediaItemSequence(rawAudioEditedMediaItem)) new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -234,8 +235,8 @@ public class CompositionExportTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(audioVideoEditedMediaItem), new EditedMediaItemSequence.Builder(audioVideoEditedMediaItem).build(),
new EditedMediaItemSequence(audioEditedMediaItem)) new EditedMediaItemSequence.Builder(audioEditedMediaItem).build())
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -266,15 +267,15 @@ public class CompositionExportTest {
.setRemoveVideo(true) .setRemoveVideo(true)
.build(); .build();
EditedMediaItemSequence loopingMutedAudioSequence = EditedMediaItemSequence loopingMutedAudioSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(mutedAudioEditedMediaItem).setIsLooping(true).build();
ImmutableList.of(mutedAudioEditedMediaItem), /* isLooping= */ true);
transformer.start( transformer.start(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
audioVideoEditedMediaItem, audioVideoEditedMediaItem,
audioVideoEditedMediaItem, audioVideoEditedMediaItem,
audioVideoEditedMediaItem), audioVideoEditedMediaItem)
.build(),
loopingMutedAudioSequence) loopingMutedAudioSequence)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(), .build(),
@ -297,14 +298,15 @@ public class CompositionExportTest {
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_VIDEO)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_VIDEO))
.build(); .build();
EditedMediaItemSequence audioVideoSequence = EditedMediaItemSequence audioVideoSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
audioVideoEditedMediaItem, audioVideoEditedMediaItem, audioVideoEditedMediaItem); audioVideoEditedMediaItem, audioVideoEditedMediaItem, audioVideoEditedMediaItem)
.build();
EditedMediaItem audioEditedMediaItem = EditedMediaItem audioEditedMediaItem =
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_VIDEO)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_VIDEO))
.setRemoveVideo(true) .setRemoveVideo(true)
.build(); .build();
EditedMediaItemSequence loopingAudioSequence = EditedMediaItemSequence loopingAudioSequence =
new EditedMediaItemSequence(ImmutableList.of(audioEditedMediaItem), /* isLooping= */ true); new EditedMediaItemSequence.Builder(audioEditedMediaItem).setIsLooping(true).build();
Composition composition = Composition composition =
new Composition.Builder(audioVideoSequence, loopingAudioSequence) new Composition.Builder(audioVideoSequence, loopingAudioSequence)
.setTransmuxVideo(true) .setTransmuxVideo(true)
@ -335,7 +337,7 @@ public class CompositionExportTest {
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.setEffects(createAudioEffects(sonicAudioProcessor)) .setEffects(createAudioEffects(sonicAudioProcessor))
.build(); .build();
@ -359,8 +361,8 @@ public class CompositionExportTest {
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(rawAudioEditedMediaItem), new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build(),
new EditedMediaItemSequence(rawAudioEditedMediaItem)) new EditedMediaItemSequence.Builder(rawAudioEditedMediaItem).build())
.setEffects(createAudioEffects(sonicAudioProcessor)) .setEffects(createAudioEffects(sonicAudioProcessor))
.build(); .build();
@ -399,8 +401,8 @@ public class CompositionExportTest {
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(audioItem300ms), new EditedMediaItemSequence.Builder(audioItem300ms).build(),
new EditedMediaItemSequence(audioItem1000ms)) new EditedMediaItemSequence.Builder(audioItem1000ms).build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -432,8 +434,8 @@ public class CompositionExportTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(audioItem1000ms), new EditedMediaItemSequence.Builder(audioItem1000ms).build(),
new EditedMediaItemSequence(audioItem300ms)) new EditedMediaItemSequence.Builder(audioItem300ms).build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());

View File

@ -34,7 +34,6 @@ import androidx.media3.test.utils.FakeClock;
import androidx.media3.test.utils.robolectric.TestPlayerRunHelper; import androidx.media3.test.utils.robolectric.TestPlayerRunHelper;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.google.common.collect.ImmutableList;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore; import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
@ -69,7 +68,7 @@ public final class CompositionPlayerAudioPlaybackTest {
.setDurationUs(348_000L) .setDurationUs(348_000L)
.build(); .build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence =
new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -97,7 +96,7 @@ public final class CompositionPlayerAudioPlaybackTest {
.setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f))) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f)))
.build(); .build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence =
new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -122,7 +121,8 @@ public final class CompositionPlayerAudioPlaybackTest {
.setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f))) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f)))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(audioEditedMediaItem)).build(); new Composition.Builder(new EditedMediaItemSequence.Builder(audioEditedMediaItem).build())
.build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -144,7 +144,7 @@ public final class CompositionPlayerAudioPlaybackTest {
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(audioEditedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(audioEditedMediaItem).build())
.setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f))) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(2f)))
.build(); .build();
@ -184,7 +184,8 @@ public final class CompositionPlayerAudioPlaybackTest {
EditedMediaItem editedMediaItem2 = EditedMediaItem editedMediaItem2 =
new EditedMediaItem.Builder(mediaItem2).setDurationUs(348_000L).build(); new EditedMediaItem.Builder(mediaItem2).setDurationUs(348_000L).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build())
.build(); .build();
player.setComposition(composition); player.setComposition(composition);
@ -225,8 +226,8 @@ public final class CompositionPlayerAudioPlaybackTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(editedMediaItem1), new EditedMediaItemSequence.Builder(editedMediaItem1).build(),
new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build())
.build(); .build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -249,7 +250,7 @@ public final class CompositionPlayerAudioPlaybackTest {
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.build(); .build();
EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem); EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -270,18 +271,19 @@ public final class CompositionPlayerAudioPlaybackTest {
throws Exception { throws Exception {
CompositionPlayer player = createCompositionPlayer(context, capturingAudioSink); CompositionPlayer player = createCompositionPlayer(context, capturingAudioSink);
EditedMediaItemSequence primarySequence = EditedMediaItemSequence primarySequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.build()); .build())
.build();
EditedMediaItemSequence loopingSequence = EditedMediaItemSequence loopingSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
ImmutableList.of(
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ)) MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ))
.setDurationUs(348_000L) .setDurationUs(348_000L)
.build()), .build())
/* isLooping= */ true); .setIsLooping(true)
.build();
Composition composition = new Composition.Builder(primarySequence, loopingSequence).build(); Composition composition = new Composition.Builder(primarySequence, loopingSequence).build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -299,18 +301,19 @@ public final class CompositionPlayerAudioPlaybackTest {
public void compositionPlayback_withLongLoopingSequence_outputsCorrectSamples() throws Exception { public void compositionPlayback_withLongLoopingSequence_outputsCorrectSamples() throws Exception {
CompositionPlayer player = createCompositionPlayer(context, capturingAudioSink); CompositionPlayer player = createCompositionPlayer(context, capturingAudioSink);
EditedMediaItemSequence primarySequence = EditedMediaItemSequence primarySequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ)) MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW_STEREO_48000KHZ))
.setDurationUs(348_000L) .setDurationUs(348_000L)
.build()); .build())
.build();
EditedMediaItemSequence loopingSequence = EditedMediaItemSequence loopingSequence =
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
ImmutableList.of(
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.build()), .build())
/* isLooping= */ true); .setIsLooping(true)
.build();
Composition composition = new Composition.Builder(primarySequence, loopingSequence).build(); Composition composition = new Composition.Builder(primarySequence, loopingSequence).build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -338,7 +341,7 @@ public final class CompositionPlayerAudioPlaybackTest {
.setDurationUs(348_000L) .setDurationUs(348_000L)
.build(); .build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence =
new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -369,8 +372,9 @@ public final class CompositionPlayerAudioPlaybackTest {
editedMediaItem.buildUpon().setRemoveAudio(true).build(); editedMediaItem.buildUpon().setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
editedMediaItem, audioRemovedMediaItem, editedMediaItem)) editedMediaItem, audioRemovedMediaItem, editedMediaItem)
.build())
.build(); .build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -398,8 +402,9 @@ public final class CompositionPlayerAudioPlaybackTest {
editedMediaItem.buildUpon().setRemoveAudio(true).build(); editedMediaItem.buildUpon().setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
audioRemovedMediaItem, editedMediaItem, audioRemovedMediaItem)) audioRemovedMediaItem, editedMediaItem, audioRemovedMediaItem)
.build())
.build(); .build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -441,8 +446,8 @@ public final class CompositionPlayerAudioPlaybackTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(editedMediaItem1), new EditedMediaItemSequence.Builder(editedMediaItem1).build(),
new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build())
.build(); .build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -468,7 +473,7 @@ public final class CompositionPlayerAudioPlaybackTest {
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.build(); .build();
EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem); EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -495,7 +500,7 @@ public final class CompositionPlayerAudioPlaybackTest {
.setDurationUs(348_000L) .setDurationUs(348_000L)
.build(); .build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence =
new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -524,7 +529,7 @@ public final class CompositionPlayerAudioPlaybackTest {
.setDurationUs(348_000L) .setDurationUs(348_000L)
.build(); .build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence =
new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -567,7 +572,7 @@ public final class CompositionPlayerAudioPlaybackTest {
EditedMediaItem editedMediaItem2 = EditedMediaItem editedMediaItem2 =
new EditedMediaItem.Builder(mediaItem2).setDurationUs(348_000L).build(); new EditedMediaItem.Builder(mediaItem2).setDurationUs(348_000L).build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence =
new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);

View File

@ -405,7 +405,8 @@ public class CompositionPlayerTest {
.build(); .build();
EditedMediaItem editedMediaItem1 = EditedMediaItem editedMediaItem1 =
new EditedMediaItem.Builder(mediaItem).setDurationUs(1_000_000L).build(); 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(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -428,7 +429,8 @@ public class CompositionPlayerTest {
.build(); .build();
EditedMediaItem editedMediaItem1 = EditedMediaItem editedMediaItem1 =
new EditedMediaItem.Builder(mediaItem).setDurationUs(1_000_000L).build(); 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(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -454,7 +456,8 @@ public class CompositionPlayerTest {
.build(); .build();
EditedMediaItem editedMediaItem1 = EditedMediaItem editedMediaItem1 =
new EditedMediaItem.Builder(mediaItem).setDurationUs(1_000_000L).build(); 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(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -487,7 +490,8 @@ public class CompositionPlayerTest {
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of())) .setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of()))
.build(); .build();
EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); EditedMediaItemSequence sequence =
new EditedMediaItemSequence.Builder(editedMediaItem1).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -520,7 +524,8 @@ public class CompositionPlayerTest {
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of())) .setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of()))
.build(); .build();
EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); EditedMediaItemSequence sequence =
new EditedMediaItemSequence.Builder(editedMediaItem1).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -554,7 +559,8 @@ public class CompositionPlayerTest {
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of())) .setEffects(new Effects(audioProcessors, /* videoEffects= */ ImmutableList.of()))
.build(); .build();
EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem1); EditedMediaItemSequence sequence =
new EditedMediaItemSequence.Builder(editedMediaItem1).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
@ -752,8 +758,8 @@ public class CompositionPlayerTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(editedMediaItem1), new EditedMediaItemSequence.Builder(editedMediaItem1).build(),
new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build())
.build(); .build();
player.setComposition(composition); player.setComposition(composition);
@ -794,8 +800,8 @@ public class CompositionPlayerTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(editedMediaItem1), new EditedMediaItemSequence.Builder(editedMediaItem1).build(),
new EditedMediaItemSequence(editedMediaItem2, editedMediaItem2)) new EditedMediaItemSequence.Builder(editedMediaItem2, editedMediaItem2).build())
.build(); .build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -823,7 +829,7 @@ public class CompositionPlayerTest {
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.setDurationUs(1_000_000L) .setDurationUs(1_000_000L)
.build(); .build();
EditedMediaItemSequence sequence = new EditedMediaItemSequence(editedMediaItem); EditedMediaItemSequence sequence = new EditedMediaItemSequence.Builder(editedMediaItem).build();
Composition composition = new Composition.Builder(sequence).build(); Composition composition = new Composition.Builder(sequence).build();
player.setComposition(composition); player.setComposition(composition);
player.prepare(); player.prepare();
@ -855,7 +861,7 @@ public class CompositionPlayerTest {
.setDurationUs(348_000L) .setDurationUs(348_000L)
.build(); .build();
EditedMediaItemSequence sequence = EditedMediaItemSequence sequence =
new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2); new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build();
return new Composition.Builder(sequence).build(); return new Composition.Builder(sequence).build();
} }

View File

@ -52,8 +52,9 @@ public final class EncodedSampleExporterTest {
FallbackListener fallbackListener = FallbackListener fallbackListener =
new FallbackListener( new FallbackListener(
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.EMPTY).build())) new EditedMediaItem.Builder(MediaItem.EMPTY).build())
.build())
.build(), .build(),
new ListenerSet<>(looper, Clock.DEFAULT, mockIterationFinishedEvent), new ListenerSet<>(looper, Clock.DEFAULT, mockIterationFinishedEvent),
mockHandlerWrapper, mockHandlerWrapper,

View File

@ -39,8 +39,9 @@ public class FallbackListenerTest {
private static final Composition PLACEHOLDER_COMPOSITION = private static final Composition PLACEHOLDER_COMPOSITION =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build())) new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build())
.build())
.build(); .build();
@Test @Test

View File

@ -423,7 +423,7 @@ public final class MediaItemExportTest {
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_AMR_NB); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_AMR_NB);
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
@ -442,7 +442,7 @@ public final class MediaItemExportTest {
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO);
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
@ -467,7 +467,7 @@ public final class MediaItemExportTest {
.setEffects(createAudioEffects(sonicAudioProcessor)) .setEffects(createAudioEffects(sonicAudioProcessor))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
@ -493,7 +493,7 @@ public final class MediaItemExportTest {
.setRemoveVideo(true) .setRemoveVideo(true)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
@ -514,7 +514,7 @@ public final class MediaItemExportTest {
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_VIDEO_ONLY);
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
@ -612,7 +612,7 @@ public final class MediaItemExportTest {
.setEffects(createAudioEffects(sonicAudioProcessor)) .setEffects(createAudioEffects(sonicAudioProcessor))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.setTransmuxAudio(true) .setTransmuxAudio(true)
.build(); .build();
@ -1307,10 +1307,11 @@ public final class MediaItemExportTest {
AtomicInteger bytesSeen = new AtomicInteger(0); AtomicInteger bytesSeen = new AtomicInteger(0);
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.build())) .build())
.build())
.setEffects(createAudioEffects(createByteCountingAudioProcessor(bytesSeen))) .setEffects(createAudioEffects(createByteCountingAudioProcessor(bytesSeen)))
.build(); .build();
@ -1337,13 +1338,14 @@ public final class MediaItemExportTest {
AtomicInteger compositionEffectBytesSeen = new AtomicInteger(0); AtomicInteger compositionEffectBytesSeen = new AtomicInteger(0);
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder( new EditedMediaItem.Builder(
MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW)) MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW))
.setEffects( .setEffects(
createAudioEffects( createAudioEffects(
createByteCountingAudioProcessor(itemEffectBytesSeen))) createByteCountingAudioProcessor(itemEffectBytesSeen)))
.build())) .build())
.build())
.setEffects( .setEffects(
createAudioEffects(createByteCountingAudioProcessor(compositionEffectBytesSeen))) createAudioEffects(createByteCountingAudioProcessor(compositionEffectBytesSeen)))
.build(); .build();

View File

@ -169,7 +169,7 @@ public final class ParameterizedAudioExportTest {
items.add(itemConfig.asItem()); items.add(itemConfig.asItem());
} }
return new Composition.Builder(new EditedMediaItemSequence(items.build())) return new Composition.Builder(new EditedMediaItemSequence.Builder(items.build()).build())
.setTransmuxVideo(true) .setTransmuxVideo(true)
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();

View File

@ -132,7 +132,7 @@ public final class ParameterizedItemExportTest {
.setRemoveAudio(true) .setRemoveAudio(true)
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(item)) new Composition.Builder(new EditedMediaItemSequence.Builder(item).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.build(); .build();
@ -159,7 +159,8 @@ public final class ParameterizedItemExportTest {
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile)) new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile))
.setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f))) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f)))
.build(); .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()); transformer.start(composition, outputDir.newFile().getPath());
TransformerTestRunner.runLooper(transformer); TransformerTestRunner.runLooper(transformer);
@ -183,7 +184,7 @@ public final class ParameterizedItemExportTest {
EditedMediaItem item = EditedMediaItem item =
new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile)).build(); new EditedMediaItem.Builder(MediaItem.fromUri(ASSET_URI_PREFIX + assetFile)).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(item)) new Composition.Builder(new EditedMediaItemSequence.Builder(item).build())
.setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f))) .setEffects(createAudioEffects(createVolumeScalingAudioProcessor(0f)))
.build(); .build();

View File

@ -84,7 +84,8 @@ public final class SequenceExportTest {
MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO); MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO);
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build(); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.setTransmuxAudio(true) .setTransmuxAudio(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -117,7 +118,8 @@ public final class SequenceExportTest {
ImmutableList.of(RgbFilter.createGrayscaleFilter()))) ImmutableList.of(RgbFilter.createGrayscaleFilter())))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.setTransmuxAudio(true) .setTransmuxAudio(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -164,7 +166,8 @@ public final class SequenceExportTest {
.build(); .build();
EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).build(); EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build())
.setTransmuxAudio(true) .setTransmuxAudio(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -214,7 +217,8 @@ public final class SequenceExportTest {
.build(); .build();
EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).build(); EditedMediaItem editedMediaItem2 = new EditedMediaItem.Builder(mediaItem2).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem1, editedMediaItem2)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem1, editedMediaItem2).build())
.setTransmuxAudio(true) .setTransmuxAudio(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -245,7 +249,8 @@ public final class SequenceExportTest {
new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(audioVideoMediaItem, videoOnlyMediaItem)) new EditedMediaItemSequence.Builder(audioVideoMediaItem, videoOnlyMediaItem)
.build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -274,7 +279,8 @@ public final class SequenceExportTest {
EditedMediaItem audioVideoMediaItem = new EditedMediaItem.Builder(mediaItem).build(); EditedMediaItem audioVideoMediaItem = new EditedMediaItem.Builder(mediaItem).build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(videoOnlyMediaItem, audioVideoMediaItem)) new EditedMediaItemSequence.Builder(videoOnlyMediaItem, audioVideoMediaItem)
.build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -309,7 +315,8 @@ public final class SequenceExportTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(audioEditedMediaItem, noAudioEditedMediaItem)) new EditedMediaItemSequence.Builder(audioEditedMediaItem, noAudioEditedMediaItem)
.build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -344,7 +351,8 @@ public final class SequenceExportTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(silenceEditedMediaItem, audioEditedMediaItem)) new EditedMediaItemSequence.Builder(silenceEditedMediaItem, audioEditedMediaItem)
.build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -371,7 +379,8 @@ public final class SequenceExportTest {
EditedMediaItem videoOnlyMediaItem = EditedMediaItem videoOnlyMediaItem =
new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(videoOnlyMediaItem, videoOnlyMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(videoOnlyMediaItem, videoOnlyMediaItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -403,7 +412,8 @@ public final class SequenceExportTest {
EditedMediaItem silenceItem = EditedMediaItem silenceItem =
new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build(); new EditedMediaItem.Builder(mediaItem).setRemoveAudio(true).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(silenceWithEffectsItem, silenceItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(silenceWithEffectsItem, silenceItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -435,7 +445,8 @@ public final class SequenceExportTest {
.setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f)))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(silenceItem, silenceWithEffectsItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(silenceItem, silenceWithEffectsItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -470,7 +481,7 @@ public final class SequenceExportTest {
.setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f)))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(firstItem, secondItem)) new Composition.Builder(new EditedMediaItemSequence.Builder(firstItem, secondItem).build())
.experimentalSetForceAudioTrack(true) .experimentalSetForceAudioTrack(true)
.setTransmuxVideo(true) .setTransmuxVideo(true)
.build(); .build();
@ -495,7 +506,8 @@ public final class SequenceExportTest {
MediaItem audioOnlyMediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); MediaItem audioOnlyMediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(audioOnlyMediaItem).build(); EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(audioOnlyMediaItem).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -522,7 +534,8 @@ public final class SequenceExportTest {
.setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f)))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem, editedMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(editedMediaItem, editedMediaItem).build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -555,7 +568,8 @@ public final class SequenceExportTest {
.setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 0.5f))) .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 0.5f)))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(highPitchMediaItem, lowPitchMediaItem)) new Composition.Builder(
new EditedMediaItemSequence.Builder(highPitchMediaItem, lowPitchMediaItem).build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -580,9 +594,10 @@ public final class SequenceExportTest {
MediaItem mono44100Audio = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); MediaItem mono44100Audio = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(stereo48000Audio).build(), new EditedMediaItem.Builder(stereo48000Audio).build(),
new EditedMediaItem.Builder(mono44100Audio).build())) new EditedMediaItem.Builder(mono44100Audio).build())
.build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -614,7 +629,8 @@ public final class SequenceExportTest {
.setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f))) .setEffects(createAudioEffects(createPitchChangingAudioProcessor(/* pitch= */ 2f)))
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(stereo48000Audio, mono44100Audio)) new Composition.Builder(
new EditedMediaItemSequence.Builder(stereo48000Audio, mono44100Audio).build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -647,7 +663,9 @@ public final class SequenceExportTest {
.build(); .build();
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(stereo48000AudioHighPitch, mono44100AudioLowPitch)) new EditedMediaItemSequence.Builder(
stereo48000AudioHighPitch, mono44100AudioLowPitch)
.build())
.build(); .build();
transformer.start(composition, outputDir.newFile().getPath()); transformer.start(composition, outputDir.newFile().getPath());
@ -673,9 +691,10 @@ public final class SequenceExportTest {
MediaItem mono44100Audio = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW); MediaItem mono44100Audio = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_RAW);
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(stereo48000Audio).build(), new EditedMediaItem.Builder(stereo48000Audio).build(),
new EditedMediaItem.Builder(mono44100Audio).build())) new EditedMediaItem.Builder(mono44100Audio).build())
.build())
.setEffects(createAudioEffects(createPitchChangingAudioProcessor(2f))) .setEffects(createAudioEffects(createPitchChangingAudioProcessor(2f)))
.build(); .build();
@ -719,7 +738,8 @@ public final class SequenceExportTest {
sonicAudioProcessor.setOutputSampleRateHz(48_000); sonicAudioProcessor.setOutputSampleRateHz(48_000);
Composition composition = Composition composition =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence(twoChannelMediaItem, oneChannelMediaItem)) new EditedMediaItemSequence.Builder(twoChannelMediaItem, oneChannelMediaItem)
.build())
.setEffects(createAudioEffects(sonicAudioProcessor)) .setEffects(createAudioEffects(sonicAudioProcessor))
.build(); .build();

View File

@ -63,7 +63,8 @@ public final class TransformerUtilTest {
EditedMediaItem editedMediaItem = EditedMediaItem editedMediaItem =
new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); new EditedMediaItem.Builder(mediaItem).setEffects(effects).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.build();
MuxerWrapper muxerWrapper = MuxerWrapper muxerWrapper =
new MuxerWrapper( new MuxerWrapper(
temporaryFolder.newFile().getPath(), temporaryFolder.newFile().getPath(),
@ -97,7 +98,8 @@ public final class TransformerUtilTest {
EditedMediaItem editedMediaItem = EditedMediaItem editedMediaItem =
new EditedMediaItem.Builder(mediaItem).setEffects(effects).build(); new EditedMediaItem.Builder(mediaItem).setEffects(effects).build();
Composition composition = Composition composition =
new Composition.Builder(new EditedMediaItemSequence(editedMediaItem)).build(); new Composition.Builder(new EditedMediaItemSequence.Builder(editedMediaItem).build())
.build();
MuxerWrapper muxerWrapper = MuxerWrapper muxerWrapper =
new MuxerWrapper( new MuxerWrapper(
temporaryFolder.newFile().getPath(), temporaryFolder.newFile().getPath(),

View File

@ -46,8 +46,9 @@ import org.robolectric.shadows.ShadowMediaCodecList;
public final class VideoEncoderWrapperTest { public final class VideoEncoderWrapperTest {
private static final Composition FAKE_COMPOSITION = private static final Composition FAKE_COMPOSITION =
new Composition.Builder( new Composition.Builder(
new EditedMediaItemSequence( new EditedMediaItemSequence.Builder(
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build())) new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)).build())
.build())
.build(); .build();
private final TransformationRequest emptyTransformationRequest = private final TransformationRequest emptyTransformationRequest =