summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-02-09 23:28:15 +0200
committerMartin Storsjö <martin@martin.st>2012-02-23 21:32:52 +0200
commit7337484ed21d068184eff74fcdb14b886553159f (patch)
tree3ab1157d25d54d45b32801ce955fbda5da792545
parentff311c091854a2cf2d49b5ecfa6759084fe643a7 (diff)
rtpenc: Add an option for not sending RTCP packets
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/rtpenc.c5
-rw-r--r--libavformat/rtpenc.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
index 604c4a0552..66ea4ced92 100644
--- a/libavformat/rtpenc.c
+++ b/libavformat/rtpenc.c
@@ -388,8 +388,9 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt)
rtcp_bytes = ((s->octet_count - s->last_octet_count) * RTCP_TX_RATIO_NUM) /
RTCP_TX_RATIO_DEN;
- if (s->first_packet || ((rtcp_bytes >= RTCP_SR_SIZE) &&
- (ff_ntp_time() - s->last_rtcp_ntp_time > 5000000))) {
+ if ((s->first_packet || ((rtcp_bytes >= RTCP_SR_SIZE) &&
+ (ff_ntp_time() - s->last_rtcp_ntp_time > 5000000))) &&
+ !(s->flags & FF_RTP_FLAG_SKIP_RTCP)) {
rtcp_send_sr(s1, ff_ntp_time());
s->last_octet_count = s->octet_count;
s->first_packet = 0;
diff --git a/libavformat/rtpenc.h b/libavformat/rtpenc.h
index ff423a55d1..9ccc8e71fa 100644
--- a/libavformat/rtpenc.h
+++ b/libavformat/rtpenc.h
@@ -65,11 +65,13 @@ typedef struct RTPMuxContext RTPMuxContext;
#define FF_RTP_FLAG_MP4A_LATM 1
#define FF_RTP_FLAG_RFC2190 2
+#define FF_RTP_FLAG_SKIP_RTCP 4
#define FF_RTP_FLAG_OPTS(ctx, fieldname) \
{ "rtpflags", "RTP muxer flags", offsetof(ctx, fieldname), AV_OPT_TYPE_FLAGS, {.dbl = 0}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "rtpflags" }, \
{ "latm", "Use MP4A-LATM packetization instead of MPEG4-GENERIC for AAC", 0, AV_OPT_TYPE_CONST, {.dbl = FF_RTP_FLAG_MP4A_LATM}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "rtpflags" }, \
{ "rfc2190", "Use RFC 2190 packetization instead of RFC 4629 for H.263", 0, AV_OPT_TYPE_CONST, {.dbl = FF_RTP_FLAG_RFC2190}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "rtpflags" }, \
+ { "skip_rtcp", "Don't send RTCP sender reports", 0, AV_OPT_TYPE_CONST, {.dbl = FF_RTP_FLAG_SKIP_RTCP}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "rtpflags" }, \
void ff_rtp_send_data(AVFormatContext *s1, const uint8_t *buf1, int len, int m);