A method for forward error correction, FEC, encoding, the method comprising: generating a source symbol block including a plurality of source symbols based on a plurality of source packets having a variable size, wherein each of the plurality of source symbols has a same size T and is divided into a same number m of subdivided source symbols, each of the subdivided source symbols having a same size T/m, wherein the same number m is greater than or equal to 2; performing FEC encoding on the source symbol block to generate one or more repair symbols; transmitting the plurality of source packets and the repair symbols; wherein the generating the source symbol block comprises arranging each of the plurality of source packets into at least one subdivided source symbol in the source symbol block, and wherein a first source packet among the plurality of source packets is arranged into a plurality of first subdivided source symbols in the source symbol block, a foremost subdivided source symbol of the plurality of first subdivided source symbols including first size information indicating a size of the first source packet, a last subdivided source symbol of the plurality of first subdivided source symbols including padding data, and data of the first source packet being located after the first size information and before the padding data, and wherein a second source packet among the plurality of source packets is arranged into a plurality of second subdivided source symbols in the source symbol block, a foremost subdivided source symbol of the plurality of second subdivided source symbols including second size information indicating a size of the second source packet, and wherein the foremost subdivided source symbol of the plurality of second subdivided source symbols follows the last subdivided source symbol of the plurality of first subdivided source symbols. generating a source symbol block including a plurality of source symbols based on a plurality of source packets having a variable size, wherein each of the plurality of source symbols has a same size T and is divided into a same number m of subdivided source symbols, each of the subdivided source symbols having a same size T/m, wherein the same number m is greater than or equal to 2; performing FEC encoding on the source symbol block to generate one or more repair symbols; transmitting the plurality of source packets and the repair symbols; wherein the generating the source symbol block comprises arranging each of the plurality of source packets into at least one subdivided source symbol in the source symbol block, and wherein a first source packet among the plurality of source packets is arranged into a plurality of first subdivided source symbols in the source symbol block, a foremost subdivided source symbol of the plurality of first subdivided source symbols including first size information indicating a size of the first source packet, a last subdivided source symbol of the plurality of first subdivided source symbols including padding data, and data of the first source packet being located after the first size information and before the padding data, and wherein a second source packet among the plurality of source packets is arranged into a plurality of second subdivided source symbols in the source symbol block, a foremost subdivided source symbol of the plurality of second subdivided source symbols including second size information indicating a size of the second source packet, and wherein the foremost subdivided source symbol of the plurality of second subdivided source symbols follows the last subdivided source symbol of the plurality of first subdivided source symbols.