If a block contains some lost or recovered packets, the block state is reported in the following format. The following screencast demonstrates the packet recovery feature on a noisy channel: The implementation is based on the OpenFEC library. It implements the FECFRAME specification with two FEC schemes. The idea is that the sender adds some redundant packets to the stream which then can be used on the receiver to recover some amount of losses. This approach, however, doesn’t fit well with the real-time and low-latency requirements.Īnother approach is to use Forward Erasure Correction (FEC) codes. One approach is to send ACKS or NACKS and retransmit lost packets. If you’re using an unreliable network such as 802.11, you should cope with packet losses somehow. In particular, take a look at the data flow page. If you want to learn more about the implementation, see the internals section in our documentation. The rest two are briefly discussed below. It is used as a jitter buffer, as a recovery buffer, and for rate estimation. Thereby, the incoming queue at the receiver serves for the three purposes at the same time. This allows to compensate the clocks difference. The receiver estimates the sender’s rate by observing the incoming queue size and adjusts its own rate to it. The sender and receiver use FEC codes instead of acknowledgments and retransmissions. This allows to keep the latency constant. The receiver first accumulates samples in the incoming queue until its size becomes equal to the required latency and then starts reading samples from the queue at a constant rate. The sender sends samples at a constant rate. soundcards) may have different clock domains.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |