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 4225324186..9588bb451d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Composition.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Composition.java @@ -50,6 +50,16 @@ public final class Composition { private boolean transmuxVideo; private @HdrMode int hdrMode; + /** Creates a new instance to build upon the provided {@link Composition}. */ + private Builder(Composition composition) { + sequences = composition.sequences; + effects = composition.effects; + forceAudioTrack = composition.forceAudioTrack; + transmuxAudio = composition.transmuxAudio; + transmuxVideo = composition.transmuxVideo; + hdrMode = composition.hdrMode; + } + /** * Creates an instance. * @@ -306,6 +316,11 @@ public final class Composition { */ public final @HdrMode int hdrMode; + /** Returns a {@link Composition.Builder} initialized with the values of this instance. */ + public Builder buildUpon() { + return new Builder(this); + } + private Composition( List sequences, Effects effects,