From 15650c6bf3a29104fc9d5a9033f61d9dd022bbf7 Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Fri, 18 Aug 2023 14:18:58 +0100 Subject: [PATCH] Add buildUpon method in Composition We will need to build upon original composition for pause and resume feature and will have to set modified sequences. In the next CL, will add method to set sequences on builder and will probably remove it from the constructor parameter (to avoid providing two APIs for same thing). PiperOrigin-RevId: 558127334 --- .../androidx/media3/transformer/Composition.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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,