An apparatus, comprising: one or more processors (18, 20); and a memory coupled to the one or more processors comprising instructions executable by the processors, at least one of the processors operable when executing the instructions to: store packets from a media stream; monitor lost packet notices identifying packets lost from the media stream; increment, in a table that identifies the lost packets, a count of a number of receivers that have lost the packets; analyse a pattern of the lost packet notices based on entries in the table; select one or more repair schemes based on the analysed pattern of the identified lost packet notices, wherein the repair schemes include: unicast retransmission of the identified lost packets, multicast retransmission of the identified lost packets, sending one or more error correction packets, and a combination thereof, for repairing or retransmitting the identified lost packets to one or more receivers in a network; and retransmit one or more of the identified lost packets and/or send the one or more error correction packets for repairing the identified lost packets to one or more receivers according to the selected one or more repair schemes. one or more processors (18, 20); and a memory coupled to the one or more processors comprising instructions executable by the processors, at least one of the processors operable when executing the instructions to: store packets from a media stream; monitor lost packet notices identifying packets lost from the media stream; increment, in a table that identifies the lost packets, a count of a number of receivers that have lost the packets; analyse a pattern of the lost packet notices based on entries in the table; select one or more repair schemes based on the analysed pattern of the identified lost packet notices, wherein the repair schemes include: unicast retransmission of the identified lost packets, multicast retransmission of the identified lost packets, sending one or more error correction packets, and a combination thereof, for repairing or retransmitting the identified lost packets to one or more receivers in a network; and retransmit one or more of the identified lost packets and/or send the one or more error correction packets for repairing the identified lost packets to one or more receivers according to the selected one or more repair schemes. store packets from a media stream; monitor lost packet notices identifying packets lost from the media stream; increment, in a table that identifies the lost packets, a count of a number of receivers that have lost the packets; analyse a pattern of the lost packet notices based on entries in the table; select one or more repair schemes based on the analysed pattern of the identified lost packet notices, wherein the repair schemes include: unicast retransmission of the identified lost packets, multicast retransmission of the identified lost packets, sending one or more error correction packets, and a combination thereof, for repairing or retransmitting the identified lost packets to one or more receivers in a network; and unicast retransmission of the identified lost packets, multicast retransmission of the identified lost packets, sending one or more error correction packets, and a combination thereof, for repairing or retransmitting the identified lost packets to one or more receivers in a network; and retransmit one or more of the identified lost packets and/or send the one or more error correction packets for repairing the identified lost packets to one or more receivers according to the selected one or more repair schemes.