[FFmpeg-devel] [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1

Gyan Doshi ffmpeg at gyani.pro
Tue Sep 15 09:22:49 EEST 2020


This should be backported to 4.3 and other releases whose builds fail.

Gyan

On 12-07-2020 11:33 am, Jun Zhao wrote:
> From: Jun Zhao <barryjzhao at tencent.com>
>
> libsrt 1.4.1 changed the:
> SRTO_SMOOTHER   -> SRTO_CONGESTION
> SRTO_STRICTENC  -> SRTO_ENFORCEDENCRYPTION
> SRTO_TSBPDDELAY -> SRTO_LATENCY
> and removed the front of deprecated option, it's lead to build fail
>
> fix #8760
>
> Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
> ---
>   libavformat/libsrt.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
>
> diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
> index 4de575b..4719ce0 100644
> --- a/libavformat/libsrt.c
> +++ b/libavformat/libsrt.c
> @@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
>           (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) ||
>           (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) ||
>   #if SRT_VERSION_VALUE >= 0x010302
> +#if SRT_VERSION_VALUE >= 0x010401
> +        (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
> +#else
>           /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */
>           (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
> +#endif
>           (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) ||
>           (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) ||
>   #endif
> @@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
>           (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) ||
>           (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) ||
>           (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) ||
> +#if SRT_VERSION_VALUE >= 0x010401
> +        (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) ||
> +#else
>           (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) ||
> +#endif
>           (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) ||
>           (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) ||
>           ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) {



More information about the ffmpeg-devel mailing list