A device comprising: a receiver configured to receive a plurality of packets, the plurality of packets corresponding to at least a subset of a sequence of packets, wherein the plurality of packets includes error correction data, and wherein the error correction data of a first packet of the plurality of packets includes a partial copy of a second packet of the plurality of packets; a buffer configured to store the plurality of packets; and an analyzer configured to: determine whether a first particular packet of the sequence of packets is missing from the buffer; determine whether a partial copy of the first particular packet is stored in the buffer as error correction data in a second particular packet; determine a value based at least in part on whether the first particular packet is missing from the buffer and the partial copy of the first particular packet is stored in the buffer; adjust an error recovery parameter based at least in part on the value; wherein the error recovery parameter includes a buffer delay, wherein the value includes a delay loss rate, and wherein the device is characterised in that the analyzer is further configured to: decrease the buffer delay in response to determining that the delay loss rate is lower than a target delay loss rate, or increase the buffer delay based on determining that the delay loss rate is higher than a target delay loss rate. a receiver configured to receive a plurality of packets, the plurality of packets corresponding to at least a subset of a sequence of packets, wherein the plurality of packets includes error correction data, and wherein the error correction data of a first packet of the plurality of packets includes a partial copy of a second packet of the plurality of packets; a buffer configured to store the plurality of packets; and an analyzer configured to: determine whether a first particular packet of the sequence of packets is missing from the buffer; determine whether a partial copy of the first particular packet is stored in the buffer as error correction data in a second particular packet; determine a value based at least in part on whether the first particular packet is missing from the buffer and the partial copy of the first particular packet is stored in the buffer; adjust an error recovery parameter based at least in part on the value; wherein the error recovery parameter includes a buffer delay, wherein the value includes a delay loss rate, and wherein the device is characterised in that the analyzer is further configured to: decrease the buffer delay in response to determining that the delay loss rate is lower than a target delay loss rate, or increase the buffer delay based on determining that the delay loss rate is higher than a target delay loss rate. determine whether a first particular packet of the sequence of packets is missing from the buffer; determine whether a partial copy of the first particular packet is stored in the buffer as error correction data in a second particular packet; determine a value based at least in part on whether the first particular packet is missing from the buffer and the partial copy of the first particular packet is stored in the buffer; adjust an error recovery parameter based at least in part on the value; wherein the error recovery parameter includes a buffer delay, wherein the value includes a delay loss rate, and wherein the device is characterised in that the analyzer is further configured to: decrease the buffer delay in response to determining that the delay loss rate is lower than a target delay loss rate, or increase the buffer delay based on determining that the delay loss rate is higher than a target delay loss rate. wherein the value includes a delay loss rate, and wherein the device is characterised in that the analyzer is further configured to: decrease the buffer delay in response to determining that the delay loss rate is lower than a target delay loss rate, or increase the buffer delay based on determining that the delay loss rate is higher than a target delay loss rate.