diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java index c5fdf38bfa..1c680d4aba 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java @@ -904,13 +904,17 @@ import java.util.Collections; } } }; - handler.post( - new Runnable() { - @Override - public void run() { - customMessageInfo.message.getHandler().post(handleMessageRunnable); - } - }); + if (customMessageInfo.message.getHandler().getLooper() == handler.getLooper()) { + handleMessageRunnable.run(); + } else { + handler.post( + new Runnable() { + @Override + public void run() { + customMessageInfo.message.getHandler().post(handleMessageRunnable); + } + }); + } } private void resolveCustomMessagePositions() {