In a packet communications system stream data is transported over a
channel over which packet loss or corruption is possible, with forward
error correction ("FEC") information. A transmitter receives source
packets comprising source data, generates FEC source packets formatted to
allow for identification of lost or corrupted source packets at a
receiver, arranges source data from the source packets into a plurality
of source symbols wherein at least one source packet is arranged into
more than one source symbol, associates a plurality of source symbols
with a source block, generates a plurality of repair symbols from the
source block according to a predetermined FEC encoding process and groups
the plurality of repair symbols into one or more FEC repair packets
associated with the source block. A receiver can use the FEC repair
symbols from the FEC repair packets to recover source symbols, as needed.