From 4e8f17a7cb522a446803526b58af9448206623d9 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Wed, 4 Sep 2024 10:39:59 -0700 Subject: [PATCH] Do not clear the timeline after the Cast receiver disconnects The goal is to enable the app to fetch the timeline after a disconnection in order to prepare and resume local playback. PiperOrigin-RevId: 671022044 (cherry picked from commit a00c4465293ce2493d36c6751dbb6d07f81594a1) --- RELEASENOTES.md | 3 +++ .../src/main/java/androidx/media3/cast/CastPlayer.java | 7 ++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1c5e1bd314..9f90ae6f9c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -118,6 +118,9 @@ This release includes the following changes since the * Playback is enabled with a stereo layout as well as 5.1 with spatialization together with optional head tracking enabled, but binaural playback support is currently not available. +* Cast Extension: + * Stop clearning the timeline after the CastSession disconnects, which + enables the sender app to resume playback locally after a disconnection. * Test Utilities: * `DataSourceContractTest` now includes tests to verify: * Input stream `read position` is updated. diff --git a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java index ab318c999a..01991548ae 100644 --- a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java +++ b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java @@ -1283,11 +1283,8 @@ public final class CastPlayer extends BasePlayer { remoteMediaClient.registerCallback(statusListener); remoteMediaClient.addProgressListener(statusListener, PROGRESS_REPORT_PERIOD_MS); updateInternalStateAndNotifyIfChanged(); - } else { - updateTimelineAndNotifyIfChanged(); - if (sessionAvailabilityListener != null) { - sessionAvailabilityListener.onCastSessionUnavailable(); - } + } else if (sessionAvailabilityListener != null) { + sessionAvailabilityListener.onCastSessionUnavailable(); } }