A URL, URL or Request went to the renderer untouched.
A source the caller had already built went to the renderer untouched.
A file the session was not asked to convert, played from an object URL.
A file converted in full first, played from the conversion's object URL.
A file converted while it plays, read through the conversion's source.
Which of the session's media branches ran.
The five differ in whether the clip is converted first and in who ends up reading it, and from outside they were indistinguishable: two of them leave every other field on MediaSessionMediaState null.