[FFmpeg-devel] [PATCH V2 1/2] lavf/libsrt: add linger parameter to libsrt

Andriy Gelman andriy.gelman at gmail.com
Mon Dec 2 06:57:47 EET 2019


On Sun, 01. Dec 21:31, Jun Zhao wrote:
> From: Jun Zhao <barryjzhao at tencent.com>
> 
> add linger parameter to libsrt, it's setting he number of seconds
> that the socket waits for unsent data when closing.

minor spelling

> 
> Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
> ---
>  doc/protocols.texi   |    4 ++++
>  libavformat/libsrt.c |   13 +++++++++++++
>  2 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/doc/protocols.texi b/doc/protocols.texi
> index 0e18a49..f34f246 100644
> --- a/doc/protocols.texi
> +++ b/doc/protocols.texi
> @@ -1426,6 +1426,10 @@ the overhead transmission (retransmitted and control packets).
>  file: Set options as for non-live transmission. See @option{messageapi}
>  for further explanations
>  

> + at item linger=@var{seconds}
> +The number of seconds that the socket waits for unsent data when closing.
> +Default is -1.

I'd add infinite in brackets.

> +
>  @end table
>  
>  For more information see: @url{https://github.com/Haivision/srt}.
> diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
> index 1c34ec5..0a748a1 100644
> --- a/libavformat/libsrt.c
> +++ b/libavformat/libsrt.c
> @@ -84,6 +84,7 @@ typedef struct SRTContext {
>      char *smoother;
>      int messageapi;
>      SRT_TRANSTYPE transtype;
> +    int linger;
>  } SRTContext;
>  
>  #define D AV_OPT_FLAG_DECODING_PARAM
> @@ -128,6 +129,7 @@ static const AVOption libsrt_options[] = {
>      { "transtype",      "The transmission type for the socket",                                 OFFSET(transtype),        AV_OPT_TYPE_INT,      { .i64 = SRTT_INVALID }, SRTT_LIVE, SRTT_INVALID, .flags = D|E, "transtype" },
>      { "live",           NULL, 0, AV_OPT_TYPE_CONST,  { .i64 = SRTT_LIVE }, INT_MIN, INT_MAX, .flags = D|E, "transtype" },
>      { "file",           NULL, 0, AV_OPT_TYPE_CONST,  { .i64 = SRTT_FILE }, INT_MIN, INT_MAX, .flags = D|E, "transtype" },
> +    { "linger",         "Number of seconds that the socket waits for unsent data when closing", OFFSET(linger),           AV_OPT_TYPE_INT,      { .i64 = -1 }, -1, INT_MAX,   .flags = D|E },
>      { NULL }
>  };
>  

Are some other parameters (latency, rcvlatency, connect_timeout) in milliseconds? (It's not that clear from the docs).
If yes, it may be good to set linger to milliseconds as well.

-- 
Andriy


More information about the ffmpeg-devel mailing list