On Sat, 10 Mar 2018 20:37:20 +0100 Nicolas George <[email protected]> wrote:
> A timeout is a duration of time, therefore the correct type for it > is AV_OPT_TYPE_DURATION. It has the benefit of offering a better > user interface, with units specification. > Unfortunately, ff46124b0df17a1d35249e09ae8eae9a61f16e04 was pushed > before that mistake could be corrected. > > Signed-off-by: Nicolas George <[email protected]> > --- > libavformat/rtsp.c | 5 +++-- > libavformat/rtsp.h | 4 ++++ > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c > index ceb770a3a4..1fbdcfcedd 100644 > --- a/libavformat/rtsp.c > +++ b/libavformat/rtsp.c > @@ -98,7 +98,7 @@ const AVOption ff_rtsp_options[] = { > { "timeout", "set maximum timeout (in seconds) to wait for incoming > connections (-1 is infinite, imply flag listen) (deprecated, use > listen_timeout)", OFFSET(initial_timeout), AV_OPT_TYPE_INT, {.i64 = -1}, > INT_MIN, INT_MAX, DEC }, > { "stimeout", "set timeout (in microseconds) of socket TCP I/O > operations", OFFSET(stimeout), AV_OPT_TYPE_INT, {.i64 = 0}, INT_MIN, INT_MAX, > DEC }, > #else > - { "timeout", "set timeout (in microseconds) of socket TCP I/O > operations", OFFSET(stimeout), AV_OPT_TYPE_INT, {.i64 = 0}, INT_MIN, INT_MAX, > DEC }, > + { "timeout", "set timeout of socket TCP I/O operations", > OFFSET(stimeout), AV_OPT_TYPE_DURATION, {.i64 = 0}, 0, INT64_MAX, DEC }, > #endif > COMMON_OPTS(), > { "user_agent", "override User-Agent header", OFFSET(user_agent), > AV_OPT_TYPE_STRING, {.str = LIBAVFORMAT_IDENT}, 0, 0, DEC }, > @@ -1818,7 +1818,8 @@ redirect: > /* open the tcp connection */ > ff_url_join(tcpname, sizeof(tcpname), lower_rtsp_proto, NULL, > host, port, > - "?timeout=%d", rt->stimeout); > + /* cast necessary until FF_API_OLD_RTSP_OPTIONS removed > */ > + "?timeout=%"PRId64, (int64_t)rt->stimeout); > if ((ret = ffurl_open_whitelist(&rt->rtsp_hd, tcpname, > AVIO_FLAG_READ_WRITE, > &s->interrupt_callback, NULL, s->protocol_whitelist, > s->protocol_blacklist, NULL)) < 0) { > err = ret; > diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h > index 9a7f366b39..1524962e1b 100644 > --- a/libavformat/rtsp.h > +++ b/libavformat/rtsp.h > @@ -395,7 +395,11 @@ typedef struct RTSPState { > /** > * timeout of socket i/o operations. > */ > +#if FF_API_OLD_RTSP_OPTIONS > int stimeout; > +#else > + int64_t stimeout; > +#endif > > /** > * Size of RTP packet reordering queue. NACK _______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
