From f0e420e10149dc9d0232017fa6cb3267d770c2cd Mon Sep 17 00:00:00 2001 From: claincly Date: Thu, 16 May 2024 06:02:29 -0700 Subject: [PATCH] Use List in `createRenderers` for better readability Also Use `Iterables.toArray()` to void the confusing `List.toArray()` method call PiperOrigin-RevId: 634351844 --- .../transformer/ExoPlayerAssetLoader.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java index ee785a42a3..8c52968f45 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java @@ -55,6 +55,7 @@ import androidx.media3.exoplayer.video.VideoRendererEventListener; import androidx.media3.extractor.DefaultExtractorsFactory; import androidx.media3.extractor.mp4.Mp4Extractor; import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; /** An {@link AssetLoader} implementation that uses an {@link ExoPlayer} to load samples. */ @UnstableApi @@ -270,21 +271,17 @@ public final class ExoPlayerAssetLoader implements AssetLoader { AudioRendererEventListener audioRendererEventListener, TextOutput textRendererOutput, MetadataOutput metadataRendererOutput) { - int rendererCount = removeAudio || removeVideo ? 1 : 2; - Renderer[] renderers = new Renderer[rendererCount]; - int index = 0; + ArrayList renderers = new ArrayList<>(); if (!removeAudio) { - renderers[index] = - new ExoAssetLoaderAudioRenderer(decoderFactory, mediaClock, assetLoaderListener); - index++; + renderers.add( + new ExoAssetLoaderAudioRenderer(decoderFactory, mediaClock, assetLoaderListener)); } if (!removeVideo) { - renderers[index] = + renderers.add( new ExoAssetLoaderVideoRenderer( - flattenForSlowMotion, decoderFactory, hdrMode, mediaClock, assetLoaderListener); - index++; + flattenForSlowMotion, decoderFactory, hdrMode, mediaClock, assetLoaderListener)); } - return renderers; + return renderers.toArray(new Renderer[renderers.size()]); } }