summaryrefslogtreecommitdiff
path: root/libavformat/rtsp.h
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-12-11 15:59:24 +0200
committerMartin Storsjö <martin@martin.st>2013-01-08 17:48:14 +0200
commit86d9181cf41edc3382bf2481f95a2fb321058689 (patch)
tree5f83f288f2ee9da82e789bc870e8410ca9b77d74 /libavformat/rtsp.h
parent42805eda554a7fc44341282771531e7837ac72b7 (diff)
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>
Diffstat (limited to 'libavformat/rtsp.h')
-rw-r--r--libavformat/rtsp.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h
index 3260f6c92d..e8d57f283a 100644
--- a/libavformat/rtsp.h
+++ b/libavformat/rtsp.h
@@ -437,6 +437,9 @@ typedef struct RTSPStream {
/** private data associated with the dynamic protocol */
PayloadContext *dynamic_protocol_context;
//@}
+
+ /** Enable sending RTCP feedback messages according to RFC 4585 */
+ int feedback;
} RTSPStream;
void ff_rtsp_parse_line(RTSPMessageHeader *reply, const char *buf,