Commit 91b3aad0 by aquilescanta Committed by tonihei

Make ExoPlayer.getPlaybackLooper never return null

Issue: #7807
PiperOrigin-RevId: 328726966
parent 237cb9df
...@@ -163,6 +163,7 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -163,6 +163,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
private final BandwidthMeter bandwidthMeter; private final BandwidthMeter bandwidthMeter;
private final HandlerWrapper handler; private final HandlerWrapper handler;
private final HandlerThread internalPlaybackThread; private final HandlerThread internalPlaybackThread;
private final Looper playbackLooper;
private final Timeline.Window window; private final Timeline.Window window;
private final Timeline.Period period; private final Timeline.Period period;
private final long backBufferDurationUs; private final long backBufferDurationUs;
...@@ -252,7 +253,8 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -252,7 +253,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
// not normally change to this priority" is incorrect. // not normally change to this priority" is incorrect.
internalPlaybackThread = new HandlerThread("ExoPlayer:Playback", Process.THREAD_PRIORITY_AUDIO); internalPlaybackThread = new HandlerThread("ExoPlayer:Playback", Process.THREAD_PRIORITY_AUDIO);
internalPlaybackThread.start(); internalPlaybackThread.start();
handler = clock.createHandler(internalPlaybackThread.getLooper(), this); playbackLooper = internalPlaybackThread.getLooper();
handler = clock.createHandler(playbackLooper, this);
} }
public void experimentalSetReleaseTimeoutMs(long releaseTimeoutMs) { public void experimentalSetReleaseTimeoutMs(long releaseTimeoutMs) {
...@@ -403,7 +405,7 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -403,7 +405,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
} }
public Looper getPlaybackLooper() { public Looper getPlaybackLooper() {
return internalPlaybackThread.getLooper(); return playbackLooper;
} }
// Playlist.PlaylistInfoRefreshListener implementation. // Playlist.PlaylistInfoRefreshListener implementation.
...@@ -1365,7 +1367,7 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -1365,7 +1367,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
} }
private void sendMessageToTarget(PlayerMessage message) throws ExoPlaybackException { private void sendMessageToTarget(PlayerMessage message) throws ExoPlaybackException {
if (message.getHandler().getLooper() == handler.getLooper()) { if (message.getHandler().getLooper() == playbackLooper) {
deliverMessage(message); deliverMessage(message);
if (playbackInfo.playbackState == Player.STATE_READY if (playbackInfo.playbackState == Player.STATE_READY
|| playbackInfo.playbackState == Player.STATE_BUFFERING) { || playbackInfo.playbackState == Player.STATE_BUFFERING) {
......
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