fix: log full exception chain on ExoPlayer errors

This commit is contained in:
edde746
2026-03-15 11:38:07 +01:00
parent 0100b2a2ea
commit bf464b257d
@@ -660,7 +660,16 @@ class ExoPlayerCore(private val activity: Activity) : Player.Listener {
}
override fun onPlayerError(error: PlaybackException) {
emitLog("error", "player", "Error code=${error.errorCode}: ${error.message}, cause=${error.cause?.javaClass?.simpleName}")
// Log full exception chain unminified — R8 mangles simpleName but not toString/message
val causeChain = buildString {
var t: Throwable? = error.cause
while (t != null) {
if (isNotEmpty()) append("")
append("${t.javaClass.name}: ${t.message}")
t = t.cause
}
}
emitLog("error", "player", "Error code=${error.errorCode}: ${error.message}, cause=${causeChain.ifEmpty { "none" }}")
stopFrameWatchdog()
cancelDecoderHangCheck()
emitSeekable(false, force = true)