From cda969985e9fcf7b30de5f8af973f9e230045e34 Mon Sep 17 00:00:00 2001 From: kimvde Date: Thu, 8 Dec 2022 16:53:54 +0000 Subject: [PATCH] Make input media duration volatile The duration in TransformerInternal.ComponentListener is set on the Transformer internal thread, and is read on the playback thread. Making this field volatile ensures that the playback thread reads the updated value. PiperOrigin-RevId: 493908385 --- .../java/androidx/media3/transformer/TransformerInternal.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java index 005581944d..4f4078334b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java @@ -377,9 +377,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private final MediaItem mediaItem; private final FallbackListener fallbackListener; - private long durationUs; private int tracksAddedCount; + private volatile long durationUs; private volatile boolean trackRegistered; public ComponentListener(MediaItem mediaItem, FallbackListener fallbackListener) {