Commit 3490bea3 by aquilescanta Committed by Oliver Woodman

Simplify re-creation of the CastPlayer queue in the Cast demo app

PiperOrigin-RevId: 251617354
parent 8bd2b5b3
...@@ -69,7 +69,6 @@ import org.json.JSONObject; ...@@ -69,7 +69,6 @@ import org.json.JSONObject;
private final Listener listener; private final Listener listener;
private final ConcatenatingMediaSource concatenatingMediaSource; private final ConcatenatingMediaSource concatenatingMediaSource;
private boolean castMediaQueueCreationPending;
private int currentItemIndex; private int currentItemIndex;
private Player currentPlayer; private Player currentPlayer;
...@@ -271,9 +270,6 @@ import org.json.JSONObject; ...@@ -271,9 +270,6 @@ import org.json.JSONObject;
public void onTimelineChanged( public void onTimelineChanged(
Timeline timeline, @Nullable Object manifest, @TimelineChangeReason int reason) { Timeline timeline, @Nullable Object manifest, @TimelineChangeReason int reason) {
updateCurrentItemIndex(); updateCurrentItemIndex();
if (currentPlayer == castPlayer && timeline.isEmpty()) {
castMediaQueueCreationPending = true;
}
} }
// CastPlayer.SessionAvailabilityListener implementation. // CastPlayer.SessionAvailabilityListener implementation.
...@@ -335,7 +331,6 @@ import org.json.JSONObject; ...@@ -335,7 +331,6 @@ import org.json.JSONObject;
this.currentPlayer = currentPlayer; this.currentPlayer = currentPlayer;
// Media queue management. // Media queue management.
castMediaQueueCreationPending = currentPlayer == castPlayer;
if (currentPlayer == exoPlayer) { if (currentPlayer == exoPlayer) {
exoPlayer.prepare(concatenatingMediaSource); exoPlayer.prepare(concatenatingMediaSource);
} }
...@@ -355,12 +350,11 @@ import org.json.JSONObject; ...@@ -355,12 +350,11 @@ import org.json.JSONObject;
*/ */
private void setCurrentItem(int itemIndex, long positionMs, boolean playWhenReady) { private void setCurrentItem(int itemIndex, long positionMs, boolean playWhenReady) {
maybeSetCurrentItemAndNotify(itemIndex); maybeSetCurrentItemAndNotify(itemIndex);
if (castMediaQueueCreationPending) { if (currentPlayer == castPlayer && castPlayer.getCurrentTimeline().isEmpty()) {
MediaQueueItem[] items = new MediaQueueItem[mediaQueue.size()]; MediaQueueItem[] items = new MediaQueueItem[mediaQueue.size()];
for (int i = 0; i < items.length; i++) { for (int i = 0; i < items.length; i++) {
items[i] = buildMediaQueueItem(mediaQueue.get(i)); items[i] = buildMediaQueueItem(mediaQueue.get(i));
} }
castMediaQueueCreationPending = false;
castPlayer.loadItems(items, itemIndex, positionMs, Player.REPEAT_MODE_OFF); castPlayer.loadItems(items, itemIndex, positionMs, Player.REPEAT_MODE_OFF);
} else { } else {
currentPlayer.seekTo(itemIndex, positionMs); currentPlayer.seekTo(itemIndex, positionMs);
......
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