MediaProbe
Everything a container says about itself, read in one call and with nothing left open.
What it is for: deciding. A library screen wants a duration and a language list, a picker wants to know whether a file is playable at all, a resume dialogue wants chapters. All of that is available from an open MediaSource already, and every one of those callers had to remember to close it. A probe that hands back a value instead of a handle cannot be leaked.
A snapshot, not a view: nothing here changes once it is returned, and the source it was read from is closed by the time you hold it.
Properties
What the container claims its bit rate is, in bits per second, or null when it claims nothing.
How long the container says it is, or null when it does not say, which live sources do not.
The demuxer FFmpeg chose, for example mov,mp4,m4a,3gp,3g2,mj2.
Whether a seek can be honoured at all.
What a Matroska file says about its segment and editions, or null; see MediaSource.matroska.
The first audio stream, which is what a duration or a language usually means.
The first video stream that is not cover art, which is what a thumbnail or a size wants. A file whose only video is its cover art returns that picture, as MediaSource.primaryVideo does.
Where its timeline starts. Rarely zero for a transport stream.