Commit 0f11aa20 by kimvde Committed by Tofunmi Adigun-Hameed

Avoid swallowing exceptions when switching AssetLoader

Exceptions thrown when switching AssetLoader were not reported through
the error listener. Therefore, the resources were not released and the
export was not ending.

PiperOrigin-RevId: 530626300
parent 4957980c
......@@ -470,22 +470,27 @@ import java.util.concurrent.atomic.AtomicInteger;
private void switchAssetLoader() {
handler.post(
() -> {
addCurrentProcessedInput();
totalDurationUs += currentAssetDurationUs;
currentAssetLoader.release();
isCurrentAssetFirstAsset = false;
currentMediaItemIndex++;
if (currentMediaItemIndex == editedMediaItems.size()) {
currentMediaItemIndex = 0;
sequenceLoopCount++;
try {
addCurrentProcessedInput();
totalDurationUs += currentAssetDurationUs;
currentAssetLoader.release();
isCurrentAssetFirstAsset = false;
currentMediaItemIndex++;
if (currentMediaItemIndex == editedMediaItems.size()) {
currentMediaItemIndex = 0;
sequenceLoopCount++;
}
EditedMediaItem editedMediaItem = editedMediaItems.get(currentMediaItemIndex);
currentAssetLoader =
assetLoaderFactory.createAssetLoader(
editedMediaItem,
checkNotNull(Looper.myLooper()),
/* listener= */ SequenceAssetLoader.this);
currentAssetLoader.start();
} catch (RuntimeException e) {
onError(
ExportException.createForAssetLoader(e, ExportException.ERROR_CODE_UNSPECIFIED));
}
EditedMediaItem editedMediaItem = editedMediaItems.get(currentMediaItemIndex);
currentAssetLoader =
assetLoaderFactory.createAssetLoader(
editedMediaItem,
checkNotNull(Looper.myLooper()),
/* listener= */ SequenceAssetLoader.this);
currentAssetLoader.start();
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment