From 862791f8376a64db2d40ab37d6fd3fed74e4f87a Mon Sep 17 00:00:00 2001 From: shahddaghash Date: Thu, 5 Dec 2024 05:12:16 -0800 Subject: [PATCH] Fixes after removing deprecated methods from `Transformer.Builder` After removing `Transformer.Builder.setFlattenForSlowMotion()`, there is no need to keep `flattenForSlowMotion` in Transformer since it's now set in `EditedMediaItem`. The change also includes making `audioProcessors` and `videoEffects` attributes final. PiperOrigin-RevId: 703076023 --- RELEASENOTES.md | 2 ++ .../androidx/media3/transformer/Transformer.java | 15 ++------------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index c62fb5c5b1..ba2eb77777 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -143,6 +143,8 @@ `Transformer.start(MediaItem, String)` instead. * Remove deprecated `SingleFrameGlShaderProgram`. Use `BaseGlShaderProgram` instead. + * Remove `Transformer.flattenForSlowMotion`. Use + `EditedMediaItem.flattenForSlowMotion` instead. ## 1.5 diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index ee029a1103..88b52046e8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -103,11 +103,10 @@ public final class Transformer { private @MonotonicNonNull String audioMimeType; private @MonotonicNonNull String videoMimeType; private @MonotonicNonNull TransformationRequest transformationRequest; - private ImmutableList audioProcessors; - private ImmutableList videoEffects; + private final ImmutableList audioProcessors; + private final ImmutableList videoEffects; private boolean removeAudio; private boolean removeVideo; - private boolean flattenForSlowMotion; private boolean trimOptimizationEnabled; private boolean portraitEncodingEnabled; private boolean fileStartsOnVideoFrameEnabled; @@ -547,7 +546,6 @@ public final class Transformer { videoEffects, removeAudio, removeVideo, - flattenForSlowMotion, trimOptimizationEnabled, portraitEncodingEnabled, fileStartsOnVideoFrameEnabled, @@ -730,7 +728,6 @@ public final class Transformer { private final ImmutableList videoEffects; private final boolean removeAudio; private final boolean removeVideo; - private final boolean flattenForSlowMotion; private final boolean trimOptimizationEnabled; private final boolean portraitEncodingEnabled; private final boolean fileStartsOnVideoFrameEnabled; @@ -770,7 +767,6 @@ public final class Transformer { ImmutableList videoEffects, boolean removeAudio, boolean removeVideo, - boolean flattenForSlowMotion, boolean trimOptimizationEnabled, boolean portraitEncodingEnabled, boolean fileStartsOnVideoFrameEnabled, @@ -792,7 +788,6 @@ public final class Transformer { this.videoEffects = videoEffects; this.removeAudio = removeAudio; this.removeVideo = removeVideo; - this.flattenForSlowMotion = flattenForSlowMotion; this.trimOptimizationEnabled = trimOptimizationEnabled; this.portraitEncodingEnabled = portraitEncodingEnabled; this.fileStartsOnVideoFrameEnabled = fileStartsOnVideoFrameEnabled; @@ -994,16 +989,10 @@ public final class Transformer { * @throws IllegalStateException If an export is already in progress. */ public void start(MediaItem mediaItem, String path) { - if (!mediaItem.clippingConfiguration.equals(MediaItem.ClippingConfiguration.UNSET) - && flattenForSlowMotion) { - throw new IllegalArgumentException( - "Clipping is not supported when slow motion flattening is requested"); - } EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(mediaItem) .setRemoveAudio(removeAudio) .setRemoveVideo(removeVideo) - .setFlattenForSlowMotion(flattenForSlowMotion) .setEffects(new Effects(audioProcessors, videoEffects)) .build(); start(editedMediaItem, path);