MediaInspection
data class MediaInspection(val duration: Duration?, val tracks: Tracks, val metadata: Map<String, String>, val chapters: List<Chapter>, val seekable: Boolean, val containerBitrateBps: Long? = null)
What a file says about itself, read without playing it.
A library screen wants the length, the tracks and the chapters of a thousand files and wants to play none of them. This is the answer to that question, and it holds exactly the fields KitePlayer.open would have published, so a caller can show the same thing either way.