From 2cd0cb30cdc8f66e5e6ccf48bda5b354b38a3536 Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Mon, 19 Feb 2024 05:18:07 -0800 Subject: [PATCH] Use default asset loader factory for remuxing video step PiperOrigin-RevId: 608308406 --- .../media3/transformer/Transformer.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 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 7d9c8b9cc9..49572dd706 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -1006,7 +1006,8 @@ public final class Transformer { MuxerWrapper.MUXER_MODE_DEFAULT, /* dropSamplesBeforeFirstVideoSample= */ fileStartsOnVideoFrameEnabled), componentListener, - /* initialTimestampOffsetUs= */ 0); + /* initialTimestampOffsetUs= */ 0, + /* useDefaultAssetLoaderFactory= */ false); } else { processMediaBeforeFirstSyncSampleAfterTrimStartTime(); } @@ -1249,7 +1250,8 @@ public final class Transformer { MuxerWrapper.MUXER_MODE_DEFAULT, /* dropSamplesBeforeFirstVideoSample= */ false), componentListener, - /* initialTimestampOffsetUs= */ 0); + /* initialTimestampOffsetUs= */ 0, + /* useDefaultAssetLoaderFactory= */ false); } private void remuxProcessedVideo() { @@ -1286,7 +1288,8 @@ public final class Transformer { /* clippingEndPositionUs= */ resumeMetadata.lastSyncSampleTimestampUs), checkNotNull(remuxingMuxerWrapper), componentListener, - /* initialTimestampOffsetUs= */ 0); + /* initialTimestampOffsetUs= */ 0, + /* useDefaultAssetLoaderFactory= */ true); } @Override @@ -1314,7 +1317,8 @@ public final class Transformer { videoOnlyComposition, remuxingMuxerWrapper, componentListener, - /* initialTimestampOffsetUs= */ checkNotNull(resumeMetadata).lastSyncSampleTimestampUs); + /* initialTimestampOffsetUs= */ checkNotNull(resumeMetadata).lastSyncSampleTimestampUs, + /* useDefaultAssetLoaderFactory= */ false); } private void processAudio() { @@ -1330,7 +1334,8 @@ public final class Transformer { MuxerWrapper.MUXER_MODE_DEFAULT, /* dropSamplesBeforeFirstVideoSample= */ false), componentListener, - /* initialTimestampOffsetUs= */ 0); + /* initialTimestampOffsetUs= */ 0, + /* useDefaultAssetLoaderFactory= */ false); } // TODO: b/308253384 - Move copy output logic into MuxerWrapper. @@ -1455,7 +1460,8 @@ public final class Transformer { trancodeComposition, checkNotNull(remuxingMuxerWrapper), componentListener, - /* initialTimestampOffsetUs= */ 0); + /* initialTimestampOffsetUs= */ 0, + /* useDefaultAssetLoaderFactory= */ false); } @Override @@ -1497,7 +1503,8 @@ public final class Transformer { remuxingMuxerWrapper, componentListener, /* initialTimestampOffsetUs= */ mediaItemInfo.firstSyncSampleTimestampUsAfterTimeUs - - trimStartTimeUs); + - trimStartTimeUs, + /* useDefaultAssetLoaderFactory= */ false); } private boolean doesFormatsMatch(Mp4Info mediaItemInfo, EditedMediaItem firstMediaItem) { @@ -1528,7 +1535,8 @@ public final class Transformer { Composition composition, MuxerWrapper muxerWrapper, ComponentListener componentListener, - long initialTimestampOffsetUs) { + long initialTimestampOffsetUs, + boolean useDefaultAssetLoaderFactory) { checkArgument(composition.effects.audioProcessors.isEmpty()); checkState(transformerInternal == null, "There is already an export in progress."); TransformationRequest transformationRequest = this.transformationRequest; @@ -1539,7 +1547,7 @@ public final class Transformer { FallbackListener fallbackListener = new FallbackListener(composition, listeners, applicationHandler, transformationRequest); AssetLoader.Factory assetLoaderFactory = this.assetLoaderFactory; - if (assetLoaderFactory == null) { + if (useDefaultAssetLoaderFactory || assetLoaderFactory == null) { assetLoaderFactory = new DefaultAssetLoaderFactory( context, new DefaultDecoderFactory(context), transformationRequest.hdrMode, clock);