diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Composition.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Composition.java index 4fc5a5d77c..0b0d784e65 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Composition.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Composition.java @@ -20,6 +20,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import androidx.media3.common.MediaItem; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; +import java.util.List; /** * A composition of {@link MediaItem} instances, with transformations to apply to them. @@ -46,9 +47,9 @@ public final class Composition { * @param sequences The {@link #sequences}. * @param effects The {@link #effects}. */ - public Composition(ImmutableList sequences, Effects effects) { + public Composition(List sequences, Effects effects) { checkArgument(!sequences.isEmpty()); - this.sequences = sequences; + this.sequences = ImmutableList.copyOf(sequences); this.effects = effects; } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EditedMediaItemSequence.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EditedMediaItemSequence.java index 28a1ce3313..63e415279c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EditedMediaItemSequence.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EditedMediaItemSequence.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; +import java.util.List; /** * A sequence of {@link EditedMediaItem} instances. @@ -40,8 +41,8 @@ public final class EditedMediaItemSequence { * * @param editedMediaItems The {@link #editedMediaItems}. */ - public EditedMediaItemSequence(ImmutableList editedMediaItems) { + public EditedMediaItemSequence(List editedMediaItems) { checkArgument(!editedMediaItems.isEmpty()); - this.editedMediaItems = editedMediaItems; + this.editedMediaItems = ImmutableList.copyOf(editedMediaItems); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Effects.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Effects.java index dd7afe8f02..e984703223 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Effects.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Effects.java @@ -22,6 +22,7 @@ import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.UnstableApi; import androidx.media3.effect.GlEffectsFrameProcessor; import com.google.common.collect.ImmutableList; +import java.util.List; /** Effects to apply to a {@link MediaItem}. */ @UnstableApi @@ -52,11 +53,10 @@ public final class Effects { /** * Creates an instance using a {@link GlEffectsFrameProcessor.Factory}. * - *

This is equivalent to calling {@link Effects#Effects(ImmutableList, ImmutableList, - * FrameProcessor.Factory)} with a {@link GlEffectsFrameProcessor.Factory}. + *

This is equivalent to calling {@link Effects#Effects(List, List, FrameProcessor.Factory)} + * with a {@link GlEffectsFrameProcessor.Factory}. */ - public Effects( - ImmutableList audioProcessors, ImmutableList videoEffects) { + public Effects(List audioProcessors, List videoEffects) { this(audioProcessors, videoEffects, new GlEffectsFrameProcessor.Factory()); } @@ -68,11 +68,11 @@ public final class Effects { * @param frameProcessorFactory The {@link #frameProcessorFactory}. */ public Effects( - ImmutableList audioProcessors, - ImmutableList videoEffects, + List audioProcessors, + List videoEffects, FrameProcessor.Factory frameProcessorFactory) { - this.audioProcessors = audioProcessors; - this.videoEffects = videoEffects; + this.audioProcessors = ImmutableList.copyOf(audioProcessors); + this.videoEffects = ImmutableList.copyOf(videoEffects); this.frameProcessorFactory = frameProcessorFactory; } }