programs

The channels of a multiplex, each a set of streams that play together, or empty when the container declares none (#505). Every io.github.yuroyami.kiteplayer.MediaProgram.tracks entry names one of streams by its index, and every number is one only that programme has. The engine lists them in io.github.yuroyami.kiteplayer.Tracks.programs and, when there are two or more, picks every track from one of them.

A live transport stream can change them while it plays, as when a channel moves its sound to a new stream at a programme boundary. A source that sees a change lists it here from the read that found it on and hands it out on the next packet as PlayerPacket.newPrograms (#509).