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 b51fc60f7b..2be9af522c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -58,7 +58,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory { public static final class Builder { private final Context context; - @Nullable private EncoderSelector encoderSelector; + @Nullable private EncoderSelector videoEncoderSelector; @Nullable private VideoEncoderSettings requestedVideoEncoderSettings; private boolean enableFallback; @@ -74,8 +74,8 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory { *
The default value is {@link EncoderSelector#DEFAULT}.
*/
@CanIgnoreReturnValue
- public Builder setVideoEncoderSelector(EncoderSelector encoderSelector) {
- this.encoderSelector = encoderSelector;
+ public Builder setVideoEncoderSelector(EncoderSelector videoEncoderSelector) {
+ this.videoEncoderSelector = videoEncoderSelector;
return this;
}
@@ -123,14 +123,14 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
/** Creates an instance of {@link DefaultEncoderFactory}, using defaults if values are unset. */
@SuppressWarnings("deprecation")
public DefaultEncoderFactory build() {
- if (encoderSelector == null) {
- encoderSelector = EncoderSelector.DEFAULT;
+ if (videoEncoderSelector == null) {
+ videoEncoderSelector = EncoderSelector.DEFAULT;
}
if (requestedVideoEncoderSettings == null) {
requestedVideoEncoderSettings = VideoEncoderSettings.DEFAULT;
}
return new DefaultEncoderFactory(
- context, encoderSelector, requestedVideoEncoderSettings, enableFallback);
+ context, videoEncoderSelector, requestedVideoEncoderSettings, enableFallback);
}
}
@@ -452,6 +452,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory {
/** Returns a list of encoders that support the requested resolution most closely. */
private static ImmutableList The {@code EncoderSelector} selection result contains only hardware encoders if they exist,
+ * or only software encoders otherwise.
*/
- EncoderSelector DEFAULT = EncoderUtil::getSupportedEncoders;
+ EncoderSelector DEFAULT =
+ mimeType -> {
+ ImmutableList