Files
- rxs_control.c - used to request lost packets + ask for keyframes (client <> server)
- rxs_decoder.c - libvpx based decoder
- rxs_depacketizer.c - unwraps RTP VP8 packets
- rxs_encoder.c - libvpx based encoder (accepts raw I420 YUV)
- rxs_generator.c - generates YUV420P frames that can be used while testen w/o webcam
- rxs_ivf.c - muxer for VP8 frames, can be converted to e.g. webm with avconv
- rxs_jitter.c - delayed playback buffer, can be used with rxs_control.c to request packets and you have some time to re-receive lost packets
- rxs_packetizer.c - wraps vp8 data into rtp / rtp-vp8 packets
- rxs_packets.c - packets buffer
- rxs_receiver.c - UDP based receiver; does some network i/o
- rxs_reconstruct.c - reconstructs VP8 frames that are unwrapped using rxs_depacketizer.c (one vp8 frame is sent using multiple RTP packets)
- rxs_sender.c - UDP based sender; does some network i/o
- rxs_stun.c - basic STUN implementation (udp hole punching)
- rxs_stun_io.c - networkign for rxs_stun
References:
- Experimental Investigation of the Google Congestion Control for Real Time Flows
- Performance Analysis of Receive Side Real Time Congestion Control for WebRTC
- Handling Packet Loss in WebRTC
- Congestion Control using FEC for Conversational Multimedia Communication
- RFC 5109
- James S. Plank, FEC library in C
- The World Of Peer 2 Peer, great STUN info
- FEC Frame for WebRTC
- Handling Packet Loss in WebRTC
- RFC: Forward Error Correction for WebRTC using FEC FRAME