From 32bd5dd7189ab8274cf85d7fcc0eea45c0b41645 Mon Sep 17 00:00:00 2001 From: kimvde Date: Thu, 29 Jun 2023 09:39:04 +0000 Subject: [PATCH] Fix forceInterpretHdrAsSdr not being set in DefaultAssetLoaderFactory PiperOrigin-RevId: 544296301 --- .../media3/transformer/Transformer.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) 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 17144be4d4..f06315c0a9 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -452,15 +452,6 @@ public final class Transformer { if (transformationRequest.videoMimeType != null) { checkSampleMimeType(transformationRequest.videoMimeType); } - if (assetLoaderFactory == null) { - assetLoaderFactory = - new DefaultAssetLoaderFactory( - context, - new DefaultDecoderFactory(context), - /* forceInterpretHdrAsSdr= */ transformationRequest.hdrMode - == TransformationRequest.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR, - clock); - } return new Transformer( context, transformationRequest, @@ -639,7 +630,7 @@ public final class Transformer { private final boolean removeVideo; private final boolean flattenForSlowMotion; private final ListenerSet listeners; - private final AssetLoader.Factory assetLoaderFactory; + @Nullable private final AssetLoader.Factory assetLoaderFactory; private final VideoFrameProcessor.Factory videoFrameProcessorFactory; private final Codec.EncoderFactory encoderFactory; private final Muxer.Factory muxerFactory; @@ -658,7 +649,7 @@ public final class Transformer { boolean removeVideo, boolean flattenForSlowMotion, ListenerSet listeners, - AssetLoader.Factory assetLoaderFactory, + @Nullable AssetLoader.Factory assetLoaderFactory, VideoFrameProcessor.Factory videoFrameProcessorFactory, Codec.EncoderFactory encoderFactory, Muxer.Factory muxerFactory, @@ -797,6 +788,16 @@ public final class Transformer { } FallbackListener fallbackListener = new FallbackListener(composition, listeners, applicationHandler, transformationRequest); + AssetLoader.Factory assetLoaderFactory = this.assetLoaderFactory; + if (assetLoaderFactory == null) { + assetLoaderFactory = + new DefaultAssetLoaderFactory( + context, + new DefaultDecoderFactory(context), + /* forceInterpretHdrAsSdr= */ transformationRequest.hdrMode + == TransformationRequest.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR, + clock); + } DebugTraceUtil.reset(); transformerInternal = new TransformerInternal(