diff --git a/abi_symbols b/abi_symbols --- a/abi_symbols +++ b/abi_symbols @@ -247,6 +247,8 @@ libavdevice.so.58:avdevice_register_all libavdevice.so.58:avdevice_version libavfilter.so.7:LIBAVFILTER_7 +libavfilter.so.7:_ZNKSt5ctypeIcE8do_widenEc +libavfilter.so.7:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag libavfilter.so.7:av_abuffersink_params_alloc libavfilter.so.7:av_buffersink_get_channel_layout libavfilter.so.7:av_buffersink_get_channels diff --git a/abi_used_libs b/abi_used_libs --- a/abi_used_libs +++ b/abi_used_libs @@ -1,4 +1,3 @@ -ld-linux-x86-64.so.2 libGL.so.1 libSDL2-2.0.so.0 libX11.so.6 @@ -35,6 +34,7 @@ libsnappy.so.1 libsoxr.so.0 libspeex.so.1 +libsrt.so.1 libssh.so.4 libstdc++.so.6 libtheoradec.so.1 diff --git a/files/lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch b/files/lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch new file mode 100644 --- /dev/null +++ b/files/lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch @@ -0,0 +1,50 @@ +From 7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315 Mon Sep 17 00:00:00 2001 +From: Jun Zhao +Date: Sun, 12 Jul 2020 13:48:48 +0800 +Subject: [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1 + +libsrt changed the: +SRTO_SMOOTHER -> SRTO_CONGESTION +SRTO_STRICTENC -> SRTO_ENFORCEDENCRYPTION +and removed the front of deprecated options (SRTO_SMOOTHER/SRTO_STRICTENC) +in the header, it's lead to build fail + +fix #8760 + +Signed-off-by: Jun Zhao +--- + 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)) { +-- +2.7.4 + diff --git a/files/series b/files/series --- a/files/series +++ b/files/series @@ -1,2 +1,3 @@ libavfilter-glslang-remove-unused-header.patch configure-Add-additional-glslang-libraries-to-make-linking-work.patch +lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch diff --git a/package.yml b/package.yml --- a/package.yml +++ b/package.yml @@ -1,7 +1,7 @@ name : ffmpeg homepage : https://www.ffmpeg.org/ version : 4.3.1 -release : 97 +release : 98 source : - https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz : ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb license : @@ -39,6 +39,7 @@ - pkgconfig(smbclient) - pkgconfig(soxr) - pkgconfig(speex) + - pkgconfig(srt) - pkgconfig(theora) - pkgconfig(twolame) - pkgconfig(vdpau) @@ -84,6 +85,7 @@ --enable-libsnappy \ --enable-libsoxr \ --enable-libspeex \ + --enable-libsrt \ --enable-libssh \ --enable-libtheora \ --enable-libtwolame \ diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml --- a/pspec_x86_64.xml +++ b/pspec_x86_64.xml @@ -3,8 +3,8 @@ ffmpeg https://www.ffmpeg.org/ - Bryan T. Meyers - bmeyers@datadrake.com + Alexander Vorobyev + avorobyev@protonmail.com GPL-3.0-or-later LGPL-3.0-or-later @@ -136,7 +136,7 @@ programming.devel - ffmpeg + ffmpeg /usr/include/libavcodec/ac3_parser.h @@ -285,12 +285,12 @@ - - 2020-12-15 + + 2021-01-16 4.3.1 Packaging update - Bryan T. Meyers - bmeyers@datadrake.com + Alexander Vorobyev + avorobyev@protonmail.com \ No newline at end of file