rtpdec: Support sending RTCP feedback packets
authorMartin Storsjö <martin@martin.st>
Tue, 11 Dec 2012 13:59:24 +0000 (15:59 +0200)
committerMartin Storsjö <martin@martin.st>
Tue, 8 Jan 2013 15:48:14 +0000 (17:48 +0200)
commit86d9181cf41edc3382bf2481f95a2fb321058689
tree5f83f288f2ee9da82e789bc870e8410ca9b77d74
parent42805eda554a7fc44341282771531e7837ac72b7
rtpdec: Support sending RTCP feedback packets

This sends NACK for missed packets and PLI (picture loss indication)
if a depacketizer indicates that it needs a new keyframe, according
to RFC 4585.

This is only enabled if the SDP indicated that feedback is supported
(via the AVPF or SAVPF profile names).

The feedback packets are throttled to a certain maximum interval
(currently 250 ms) to make sure the feedback packets don't eat up
too much bandwidth (which might be counterproductive). The RFC
specifies a more elaborate feedback packet scheduling.

The feedback packets are currently sent independently from normal
RTCP RR packets, which is not totally spec compliant, but works
fine in the environments I've tested it in. (RFC 5506 allows this,
but requires a SDP attribute for enabling it.)

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/rtpdec.c
libavformat/rtpdec.h
libavformat/rtsp.c
libavformat/rtsp.h
libavformat/version.h