[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