diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/preload/PreloadMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/preload/PreloadMediaSource.java index d2a313672e..fc3d3870ca 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/preload/PreloadMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/preload/PreloadMediaSource.java @@ -221,6 +221,7 @@ public final class PreloadMediaSource extends WrappingMediaSource { private final RendererCapabilities[] rendererCapabilities; private final Allocator allocator; private final Handler preloadHandler; + private final Handler releaseHandler; private boolean preloadCalled; private boolean prepareChildSourceCalled; private long startPositionUs; @@ -246,6 +247,7 @@ public final class PreloadMediaSource extends WrappingMediaSource { this.allocator = allocator; preloadHandler = Util.createHandler(preloadLooper, /* callback= */ null); + releaseHandler = Util.createHandler(preloadLooper, /* callback= */ null); startPositionUs = C.TIME_UNSET; } @@ -396,7 +398,7 @@ public final class PreloadMediaSource extends WrappingMediaSource { *
Can be called from any thread.
*/
public void releasePreloadMediaSource() {
- preloadHandler.post(
+ releaseHandler.post(
() -> {
preloadCalled = false;
startPositionUs = C.TIME_UNSET;
@@ -407,6 +409,7 @@ public final class PreloadMediaSource extends WrappingMediaSource {
}
releaseSourceInternal();
preloadHandler.removeCallbacksAndMessages(null);
+ releaseHandler.removeCallbacksAndMessages(null);
});
}
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/preload/DefaultPreloadManagerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/preload/DefaultPreloadManagerTest.java
index 2f351868ea..c4975c9eed 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/preload/DefaultPreloadManagerTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/preload/DefaultPreloadManagerTest.java
@@ -830,8 +830,7 @@ public class DefaultPreloadManagerTest {
}
@Test
- public void release_returnZeroCount_sourcesAndRendererCapabilitiesListReleased()
- throws Exception {
+ public void release_returnZeroCount_sourcesAndRendererCapabilitiesListReleased() {
TargetPreloadStatusControl