From 18e8ebe0f867aa82a07fcc0a7e050c853a7bf455 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Mon, 1 Nov 2021 16:49:44 +0000 Subject: [PATCH 1/2] Allow remove video transformer option. PiperOrigin-RevId: 406849436 --- .../android/exoplayer2/transformer/TranscodingTransformer.java | 1 - 1 file changed, 1 deletion(-) diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java index 348f3dac04..4b01c191a7 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java @@ -481,7 +481,6 @@ public final class TranscodingTransformer { checkState( !transformation.removeAudio || !transformation.removeVideo, "Audio and video cannot both be removed."); - checkState(!(transformation.removeVideo)); this.context = context; this.mediaSourceFactory = mediaSourceFactory; this.muxerFactory = muxerFactory; From c5f4843de29c0c6cefeb769f72619cb08716950c Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 1 Nov 2021 17:26:35 +0000 Subject: [PATCH 2/2] Transformer GL: Undo accidental setResolution changes(). Accidental changes were introduced in http://https://github.com/google/ExoPlayer/commit/c53924326dd100874d080c55812659a3cb9e843a PiperOrigin-RevId: 406858888 --- .../transformer/TranscodingTransformer.java | 28 ------------------- .../transformer/Transformation.java | 3 -- .../exoplayer2/transformer/Transformer.java | 2 -- 3 files changed, 33 deletions(-) diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java index 4b01c191a7..6f58812be4 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TranscodingTransformer.java @@ -55,7 +55,6 @@ import com.google.android.exoplayer2.source.MediaSourceFactory; import com.google.android.exoplayer2.text.TextOutput; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; import com.google.android.exoplayer2.util.Clock; -import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.video.VideoRendererEventListener; @@ -92,16 +91,12 @@ public final class TranscodingTransformer { /** A builder for {@link TranscodingTransformer} instances. */ public static final class Builder { - // Mandatory field. private @MonotonicNonNull Context context; - - // Optional fields. private @MonotonicNonNull MediaSourceFactory mediaSourceFactory; private Muxer.Factory muxerFactory; private boolean removeAudio; private boolean removeVideo; private boolean flattenForSlowMotion; - private int outputHeight; private String outputMimeType; @Nullable private String audioMimeType; @Nullable private String videoMimeType; @@ -126,7 +121,6 @@ public final class TranscodingTransformer { this.removeAudio = transcodingTransformer.transformation.removeAudio; this.removeVideo = transcodingTransformer.transformation.removeVideo; this.flattenForSlowMotion = transcodingTransformer.transformation.flattenForSlowMotion; - this.outputHeight = transcodingTransformer.transformation.outputHeight; this.outputMimeType = transcodingTransformer.transformation.outputMimeType; this.audioMimeType = transcodingTransformer.transformation.audioMimeType; this.videoMimeType = transcodingTransformer.transformation.videoMimeType; @@ -219,21 +213,6 @@ public final class TranscodingTransformer { return this; } - /** - * Sets the output resolution for the video, using the output height. The default value is to - * use the same height as the input. Output width will scale to preserve the input video's - * aspect ratio. - * - *

For example, a 1920x1440 video can be scaled to 640x480 by calling setResolution(480). - * - * @param outputHeight The output height for the video, in pixels. - * @return This builder. - */ - public Builder setResolution(int outputHeight) { - this.outputHeight = outputHeight; - return this; - } - /** * Sets the MIME type of the output. The default value is {@link MimeTypes#VIDEO_MP4}. Supported * values are: @@ -377,12 +356,6 @@ public final class TranscodingTransformer { checkState( muxerFactory.supportsOutputMimeType(outputMimeType), "Unsupported output MIME type: " + outputMimeType); - // TODO(ME): Test with values of 10, 100, 1000). - Log.e("TranscodingTransformer", "outputHeight = " + outputHeight); - if (outputHeight == 0) { - // TODO(ME): get output height from input video. - outputHeight = 480; - } if (audioMimeType != null) { checkSampleMimeType(audioMimeType); } @@ -394,7 +367,6 @@ public final class TranscodingTransformer { removeAudio, removeVideo, flattenForSlowMotion, - outputHeight, outputMimeType, audioMimeType, videoMimeType); diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformation.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformation.java index ed8bf64bf3..e273c1fde5 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformation.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformation.java @@ -24,7 +24,6 @@ import androidx.annotation.Nullable; public final boolean removeAudio; public final boolean removeVideo; public final boolean flattenForSlowMotion; - public final int outputHeight; public final String outputMimeType; @Nullable public final String audioMimeType; @Nullable public final String videoMimeType; @@ -33,14 +32,12 @@ import androidx.annotation.Nullable; boolean removeAudio, boolean removeVideo, boolean flattenForSlowMotion, - int outputHeight, String outputMimeType, @Nullable String audioMimeType, @Nullable String videoMimeType) { this.removeAudio = removeAudio; this.removeVideo = removeVideo; this.flattenForSlowMotion = flattenForSlowMotion; - this.outputHeight = outputHeight; this.outputMimeType = outputMimeType; this.audioMimeType = audioMimeType; this.videoMimeType = videoMimeType; diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java index 093f63caeb..0fd763ad26 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java @@ -297,13 +297,11 @@ public final class Transformer { checkState( muxerFactory.supportsOutputMimeType(outputMimeType), "Unsupported output MIME type: " + outputMimeType); - int outputHeight = 0; // TODO(ME): How do we get the input height here? Transformation transformation = new Transformation( removeAudio, removeVideo, flattenForSlowMotion, - outputHeight, outputMimeType, /* audioMimeType= */ null, /* videoMimeType= */ null);