MediaProgram
data class MediaProgram(val number: Int, val tracks: List<TrackId>, val name: String? = null, val provider: String? = null, val metadata: Map<String, String> = emptyMap())
One programme of the media: tracks that play together, such as one channel of a DVB recording or an IPTV multiplex, which carries several channels in one transport stream (#505).
Tracks.programs lists them and Tracks.selectedProgram names the one the player picks its tracks from. KitePlayer.selectProgram switches to another, and DemuxPolicy.program names one before the open.