diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java index e23ce3e5ad..d289c49ac4 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java @@ -1025,7 +1025,7 @@ public final class DefaultAudioSink implements AudioSink { } audioTrackPositionTracker.reset(); releasingConditionVariable.close(); - new Thread() { + new Thread("ExoPlayer:AudioTrackReleaseThread") { @Override public void run() { try { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java index 59663ed1f6..ad8a5c9854 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java @@ -264,7 +264,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; } if (++referenceCount == 1) { Assertions.checkState(state == STATE_OPENING); - requestHandlerThread = new HandlerThread("DrmRequestHandler"); + requestHandlerThread = new HandlerThread("ExoPlayer:DrmRequestHandler"); requestHandlerThread.start(); requestHandler = new RequestHandler(requestHandlerThread.getLooper()); if (openInternal(true)) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java index a9d981742d..ff0ab7e1a4 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java @@ -152,7 +152,7 @@ public final class OfflineLicenseHelper { MediaSourceEventDispatcher eventDispatcher) { this.drmSessionManager = defaultDrmSessionManager; this.eventDispatcher = eventDispatcher; - handlerThread = new HandlerThread("OfflineLicenseHelper"); + handlerThread = new HandlerThread("ExoPlayer:OfflineLicenseHelper"); handlerThread.start(); conditionVariable = new ConditionVariable(); DrmSessionEventListener eventListener = diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/AsynchronousMediaCodecBufferEnqueuer.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/AsynchronousMediaCodecBufferEnqueuer.java index bd03663a4b..428d64d0b1 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/AsynchronousMediaCodecBufferEnqueuer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/AsynchronousMediaCodecBufferEnqueuer.java @@ -280,7 +280,7 @@ class AsynchronousMediaCodecBufferEnqueuer implements MediaCodecInputBufferEnque } private static String createThreadLabel(int trackType) { - StringBuilder labelBuilder = new StringBuilder("MediaCodecInputBufferEnqueuer:"); + StringBuilder labelBuilder = new StringBuilder("ExoPlayer:MediaCodecBufferEnqueuer:"); if (trackType == C.TRACK_TYPE_AUDIO) { labelBuilder.append("Audio"); } else if (trackType == C.TRACK_TYPE_VIDEO) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/DedicatedThreadAsyncMediaCodecAdapter.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/DedicatedThreadAsyncMediaCodecAdapter.java index 3229c617d9..88e3f56daa 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/DedicatedThreadAsyncMediaCodecAdapter.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/DedicatedThreadAsyncMediaCodecAdapter.java @@ -257,7 +257,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } private static String createThreadLabel(int trackType) { - StringBuilder labelBuilder = new StringBuilder("MediaCodecAsyncAdapter:"); + StringBuilder labelBuilder = new StringBuilder("ExoPlayer:MediaCodecAsyncAdapter:"); if (trackType == C.TRACK_TYPE_AUDIO) { labelBuilder.append("Audio"); } else if (trackType == C.TRACK_TYPE_VIDEO) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MultiLockAsyncMediaCodecAdapter.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MultiLockAsyncMediaCodecAdapter.java index 65bebab58b..d51f985ed7 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MultiLockAsyncMediaCodecAdapter.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MultiLockAsyncMediaCodecAdapter.java @@ -372,7 +372,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } private static String createThreadLabel(int trackType) { - StringBuilder labelBuilder = new StringBuilder("MediaCodecAsyncAdapter:"); + StringBuilder labelBuilder = new StringBuilder("ExoPlayer:MediaCodecAsyncAdapter:"); if (trackType == C.TRACK_TYPE_AUDIO) { labelBuilder.append("Audio"); } else if (trackType == C.TRACK_TYPE_VIDEO) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java index 66b2a7cf91..37247013e3 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadManager.java @@ -221,7 +221,7 @@ public final class DownloadManager { @SuppressWarnings("methodref.receiver.bound.invalid") Handler mainHandler = Util.createHandler(this::handleMainMessage); this.mainHandler = mainHandler; - HandlerThread internalThread = new HandlerThread("DownloadManager file i/o"); + HandlerThread internalThread = new HandlerThread("ExoPlayer:DownloadManager"); internalThread.start(); internalHandler = new InternalHandler( diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/DummySurface.java b/library/core/src/main/java/com/google/android/exoplayer2/video/DummySurface.java index c9dae2d280..a5dd9cfefb 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/DummySurface.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/DummySurface.java @@ -135,7 +135,7 @@ public final class DummySurface extends Surface { @Nullable private DummySurface surface; public DummySurfaceThread() { - super("dummySurface"); + super("ExoPlayer:DummySurface"); } public DummySurface init(@SecureMode int secureMode) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseTimeHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseTimeHelper.java index 76ff19406b..2134772d9c 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseTimeHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/VideoFrameReleaseTimeHelper.java @@ -287,7 +287,7 @@ public final class VideoFrameReleaseTimeHelper { private VSyncSampler() { sampledVsyncTimeNs = C.TIME_UNSET; - choreographerOwnerThread = new HandlerThread("ChoreographerOwner:Handler"); + choreographerOwnerThread = new HandlerThread("ExoPlayer:FrameReleaseChoreographer"); choreographerOwnerThread.start(); handler = Util.createHandler(choreographerOwnerThread.getLooper(), /* callback= */ this); handler.sendEmptyMessage(CREATE_CHOREOGRAPHER);