[FFmpeg-cvslog] rtp: Add an option to set the send/receive buffer size
Luca Barbato
git at videolan.org
Wed Apr 1 21:24:13 CEST 2015
ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Sun Mar 29 06:26:53 2015 +0200| [8c9c5479c4ba729b4ba868ab541a90b2061a7c2f] | committer: Luca Barbato
rtp: Add an option to set the send/receive buffer size
It gets forwarded down to UDP.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8c9c5479c4ba729b4ba868ab541a90b2061a7c2f
---
libavformat/rtpproto.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c
index 2e83bbb..cab5761 100644
--- a/libavformat/rtpproto.c
+++ b/libavformat/rtpproto.c
@@ -51,6 +51,7 @@ typedef struct RTPContext {
struct sockaddr_storage last_rtp_source, last_rtcp_source;
socklen_t last_rtp_source_len, last_rtcp_source_len;
int ttl;
+ int buffer_size;
int rtcp_port, local_rtpport, local_rtcpport;
int connect;
int pkt_size;
@@ -63,6 +64,7 @@ typedef struct RTPContext {
#define E AV_OPT_FLAG_ENCODING_PARAM
static const AVOption options[] = {
{ "ttl", "Time to live (in milliseconds, multicast only)", OFFSET(ttl), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
+ { "buffer_size", "Send/Receive buffer size (in bytes)", OFFSET(buffer_size), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ "rtcp_port", "Custom rtcp port", OFFSET(rtcp_port), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ "local_rtpport", "Local rtp port", OFFSET(local_rtpport), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ "local_rtcpport", "Local rtcp port", OFFSET(local_rtcpport), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
@@ -231,6 +233,8 @@ static void build_udp_url(RTPContext *s,
url_add_option(buf, buf_size, "localport=%d", local_port);
if (s->ttl >= 0)
url_add_option(buf, buf_size, "ttl=%d", s->ttl);
+ if (s->buffer_size >= 0)
+ url_add_option(buf, buf_size, "buffer_size=%d", s->buffer_size);
if (s->pkt_size >= 0)
url_add_option(buf, buf_size, "pkt_size=%d", s->pkt_size);
if (s->connect)
More information about the ffmpeg-cvslog
mailing list