Preferably, the encoded source symbols are grouped into packets as they were in the input stream, so that encoded source packets might not contain portions of source symbols that contain padding or other information not contained in the original packets and thus encoded source packets might be the same as the input source packets, possibly including extra fields.