From 6ae2629c60d4416a7f5eef18e53ca77c5ba67281 Mon Sep 17 00:00:00 2001 From: claincly Date: Fri, 4 Mar 2022 17:15:16 +0000 Subject: [PATCH] Add method to disable passthrough. PiperOrigin-RevId: 432461547 --- .../src/main/java/androidx/media3/transformer/Codec.java | 5 +++++ .../media3/transformer/TransformerVideoRenderer.java | 3 +++ 2 files changed, 8 insertions(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java index 9f821c9f10..8bdc6e4dda 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java @@ -106,6 +106,11 @@ public interface Codec { */ Codec createForVideoEncoding(Format format, List allowedMimeTypes) throws TransformationException; + + /** Returns whether the video needs to be encoded because of encoder specific configuration. */ + default boolean videoNeedsEncoding() { + return false; + } } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 36b2bd41fa..bcb5541d73 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -99,6 +99,9 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; } private boolean shouldPassthrough(Format inputFormat) { + if (encoderFactory.videoNeedsEncoding()) { + return false; + } if (transformationRequest.enableHdrEditing) { return false; }