From 72672b7f87571872ea78a1e981abeeed2bc59a0f Mon Sep 17 00:00:00 2001 From: dancho Date: Fri, 13 Dec 2024 04:20:45 -0800 Subject: [PATCH] Implement audioNeedsEncoding based on requested settings Do not use ForceEncodeFactory in tests PiperOrigin-RevId: 705835243 --- .../transformer/TransformerEndToEndTest.java | 18 ++++++++---------- .../transformer/DefaultEncoderFactory.java | 5 +++++ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index a03e78550d..d7be5c8d52 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -2356,11 +2356,10 @@ public class TransformerEndToEndTest { Transformer transformer = new Transformer.Builder(context) .setEncoderFactory( - new AndroidTestUtil.ForceEncodeEncoderFactory( - new DefaultEncoderFactory.Builder(context) - .setRequestedAudioEncoderSettings( - new AudioEncoderSettings.Builder().setProfile(AACObjectHE).build()) - .build())) + new DefaultEncoderFactory.Builder(context) + .setRequestedAudioEncoderSettings( + new AudioEncoderSettings.Builder().setProfile(AACObjectHE).build()) + .build()) .build(); MediaItem mediaItem = new MediaItem.Builder().setUri(MP4_ASSET.uri).build(); EditedMediaItem editedMediaItem = @@ -2392,11 +2391,10 @@ public class TransformerEndToEndTest { new Transformer.Builder(context) .setMuxerFactory(new InAppMuxer.Factory.Builder().build()) .setEncoderFactory( - new AndroidTestUtil.ForceEncodeEncoderFactory( - new DefaultEncoderFactory.Builder(context) - .setRequestedAudioEncoderSettings( - new AudioEncoderSettings.Builder().setBitrate(requestedBitrate).build()) - .build())) + new DefaultEncoderFactory.Builder(context) + .setRequestedAudioEncoderSettings( + new AudioEncoderSettings.Builder().setBitrate(requestedBitrate).build()) + .build()) .build(); MediaItem mediaItem = new MediaItem.Builder().setUri(MP4_ASSET.uri).build(); EditedMediaItem editedMediaItem = diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index 3b26bff9f2..35b3165937 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -391,6 +391,11 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory { /* outputSurface= */ null); } + @Override + public boolean audioNeedsEncoding() { + return !requestedAudioEncoderSettings.equals(AudioEncoderSettings.DEFAULT); + } + @Override public boolean videoNeedsEncoding() { return !requestedVideoEncoderSettings.equals(VideoEncoderSettings.DEFAULT);