Quoting Martin Storsjö (2016-03-18 13:01:41) > Apply the default value for timeout in code instead of via the > avoption, to allow distinguishing the default value from the user > not setting anything at all. > --- > libavformat/tcp.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/libavformat/tcp.c b/libavformat/tcp.c > index f211142..1498c26 100644 > --- a/libavformat/tcp.c > +++ b/libavformat/tcp.c > @@ -43,7 +43,7 @@ typedef struct TCPContext { > #define E AV_OPT_FLAG_ENCODING_PARAM > static const AVOption options[] = { > { "listen", "Listen for incoming connections", OFFSET(listen), > AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, .flags = D|E }, > - { "timeout", "Connection timeout (in milliseconds)", > OFFSET(timeout), AV_OPT_TYPE_INT, { .i64 = 10000 }, INT_MIN, INT_MAX, > .flags = D|E }, > + { "timeout", "Connection timeout (in milliseconds)", > OFFSET(timeout), AV_OPT_TYPE_INT, { .i64 = 0 }, INT_MIN, INT_MAX, .flags = > D|E }, > { "listen_timeout", "Bind timeout (in milliseconds)", > OFFSET(listen_timeout), AV_OPT_TYPE_INT, { .i64 = -1 }, INT_MIN, INT_MAX, > .flags = D|E }, > { NULL } > }; > @@ -86,6 +86,10 @@ static int tcp_open(URLContext *h, const char *uri, int > flags) > s->listen_timeout = strtol(buf, NULL, 10); > } > } > + if (!s->timeout) > + s->timeout = h->rw_timeout ? h->rw_timeout / 1000 : 10000; > + if (h->rw_timeout && s->listen_timeout < 0) > + s->listen_timeout = h->rw_timeout / 1000; > hints.ai_family = AF_UNSPEC; > hints.ai_socktype = SOCK_STREAM; > snprintf(portstr, sizeof(portstr), "%d", port); > -- > 2.5.4 (Apple Git-61)
Looks ok. -- Anton Khirnov _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel