RTP retransmission offers retransmission of lost packets reported by NACK feedback. The receiver detects missing packets and requests retransmission of missing packets. The sender upon receiving the NACK message decides to take corrective action by retransmitting the reported missing packets to the receiver. If retransmitted packets arrive in time for rendering, then timely recovery is achieved.
An example of recovery from error is illustrated in
Figure P.4 below using a NACK message.
In this example, the error correction is performed in the following steps:
-
Sender encodes a reference picture (blue) and transmits it. Sender stores RTP packets corresponding to this frame in its buffers. One or more of the packets belonging to this picture are lost.
-
Receiver detects lost packets belonging to the blue picture upon receiving packets belonging to the picture following the blue picture or the last packet (if received) of the blue picture, after de-jittering.
-
The receiver issues a NACK message and pauses decoding while caching incoming packets.
-
Sender receives the NACK message, checks whether the requested packets are available in its cache. If they are, it retransmits the requested packets.
-
Receiver monitors the incoming packets to determine the arrival of the requested packets to resume decoding.
-
If packets arrive in time, rendering is not interrupted.