From b4f25f0e27aa006bc6324fa4f73488494d524b41 Mon Sep 17 00:00:00 2001 From: pgwiz Date: Fri, 30 Oct 2026 02:10:32 +0300 Subject: [PATCH] fix(player): log ExoPlayer playback errors and connect errorFlow in DeviceAudioPlayerQueue Co-Authored-By: pgwiz --- .../spotube/spotube/core/audioplayer/AudioPlayer.android.kt | 1 + .../spotube/core/audioplayer/DeviceAudioPlayerQueue.kt | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/composeApp/src/androidMain/kotlin/org/spotube/spotube/core/audioplayer/AudioPlayer.android.kt b/composeApp/src/androidMain/kotlin/org/spotube/spotube/core/audioplayer/AudioPlayer.android.kt index 2bda1426..8888103f 100644 --- a/composeApp/src/androidMain/kotlin/org/spotube/spotube/core/audioplayer/AudioPlayer.android.kt +++ b/composeApp/src/androidMain/kotlin/org/spotube/spotube/core/audioplayer/AudioPlayer.android.kt @@ -127,6 +127,7 @@ actual class AudioPlayer actual constructor(context: Any) : AudioPlayerInterface } override fun onPlayerError(error: PlaybackException) { + Log.e("AudioPlayer", "ExoPlayer error: ${error.errorCodeName} (${error.errorCode}): ${error.message}", error) _error.tryEmit(error) } diff --git a/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/audioplayer/DeviceAudioPlayerQueue.kt b/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/audioplayer/DeviceAudioPlayerQueue.kt index 4c987325..33f52350 100644 --- a/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/audioplayer/DeviceAudioPlayerQueue.kt +++ b/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/audioplayer/DeviceAudioPlayerQueue.kt @@ -103,6 +103,12 @@ class DeviceAudioPlayerQueue( } } + scope.launch { + audioPlayer.errorFlow.collect { error -> + logger.e(error) { "AudioPlayer error encountered in queue: ${error.message}" } + } + } + scope.launch { audioPlayer.currentMediaItemFlow.collect { logger.d { "Current media item changed, persisting queue state" }