MediaIoResolver
Turns a URI into a MediaIo when it knows how, at open time (the Ktor half). Explicitly configured through PlayerConfig.network or supplied by an installed optional provider. The engine consults it when a MediaItem has no MediaItem.io of its own. Returning null from an explicit resolver passes the URI through to the backend untouched, which is what keeps local files on FFmpeg's own fast path.
This is how https plays on phones: the engine's FFmpeg profile deliberately vendors no TLS backend (its protocol list is pinned to file/fd/pipe/data/http/tcp), so a resolver such as kiteplayer-network's Ktor one carries the bytes with the OS supplying TLS.