diff --git a/0001-po-Fixup-invalid-format-string.patch b/0001-po-Fixup-invalid-format-string.patch new file mode 100644 index 0000000..2fd7609 --- /dev/null +++ b/0001-po-Fixup-invalid-format-string.patch @@ -0,0 +1,45 @@ +From 982f44d09bb61490194baf371d52c12016e0c5c9 Mon Sep 17 00:00:00 2001 +From: Nicolas Chauvet +Date: Fri, 28 Jul 2023 12:25:44 +0200 +Subject: [PATCH] po: Fixup invalid format string + +Will fix the following errors + +oc.po:5301: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 1, the argument size specifier is invalid. +oc.po:5306: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 1, the argument size specifier is invalid. +oc.po:5312: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: In the directive number 1, the argument size specifier is invalid. + +Signed-off-by: Nicolas Chauvet +--- + po/oc.po | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/po/oc.po b/po/oc.po +index 667696cfe785..ddb1677d8a53 100644 +--- a/po/oc.po ++++ b/po/oc.po +@@ -5298,18 +5298,18 @@ msgstr "Comanda+" + #: src/misc/update.c:482 + #, c-format + msgid "%.1f GiB" +-msgstr "%.lf Gio" ++msgstr "%.1f Gio" + + #: src/misc/update.c:484 + #, c-format + msgid "%.1f MiB" +-msgstr "%.lf Mio" ++msgstr "%.1f Mio" + + #: src/misc/update.c:486 modules/gui/macosx/VLCPlaylistInfo.m:138 + #: modules/gui/macosx/VLCPlaylistInfo.m:140 + #, c-format + msgid "%.1f KiB" +-msgstr "%.lf Kio" ++msgstr "%.1f Kio" + + #: src/misc/update.c:488 + #, c-format +-- +2.41.0 + diff --git a/sources b/sources index 111f80b..88897f4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vlc-e9eceae.tar.gz) = 164e9e96954415ed25b5b0256e50f588a6853223a859805609ba7a4ce2ab0f1cc0966926182e7fe74a1a6d7b63deacbe3aaf67316b41c33b024999fb45b5902e +SHA512 (vlc-32b50de.tar.gz) = 6a2b393cd45704528f9ef4aa894f552b93c0831f81dd54fa29ad877c0e5bc8bda836f830bf2d0bf049d482d4dad46135dddc73d28c5365bd15c1c33e460e72ed diff --git a/vlc-libplacebo-5.patch b/vlc-libplacebo-5.patch new file mode 100644 index 0000000..8da84e5 --- /dev/null +++ b/vlc-libplacebo-5.patch @@ -0,0 +1,131 @@ +From efbb1fdbc4420365b3ffd22e55dd27ad520037c7 Mon Sep 17 00:00:00 2001 +From: Niklas Haas +Date: Sat, 16 Jul 2022 14:41:13 +0200 +Subject: [PATCH] opengl: port to libplacebo v4 API + +These v3.x APIs will be removed in v5.x. Fortunately, the new APIs are a +near drop-in replacement, so the change was minimal. Only the error +handling was cleaned up slightly. +--- + modules/video_output/opengl/converter.h | 18 ++++++++++-------- + modules/video_output/opengl/fragment_shaders.c | 4 ++-- + modules/video_output/opengl/vout_helper.c | 14 +++++++------- + 3 files changed, 19 insertions(+), 17 deletions(-) + +diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h +index 7000e1f38e..cb8e593a9a 100644 +--- a/modules/video_output/opengl/converter.h ++++ b/modules/video_output/opengl/converter.h +@@ -52,6 +52,11 @@ + # endif + #endif + ++#ifdef HAVE_LIBPLACEBO ++# include ++# include ++#endif ++ + #define VLCGL_PICTURE_MAX 128 + + #ifndef GL_TEXTURE_RECTANGLE +@@ -253,10 +258,6 @@ static inline bool HasExtension(const char *apis, const char *api) + return false; + } + +-struct pl_context; +-struct pl_shader; +-struct pl_shader_res; +- + /* + * Structure that is filled by "glhw converter" module probe function + * The implementation should initialize every members of the struct that are +@@ -272,8 +273,12 @@ struct opengl_tex_converter_t + /* Pointer to object gl, set by the caller */ + vlc_gl_t *gl; + ++#ifdef HAVE_LIBPLACEBO + /* libplacebo context, created by the caller (optional) */ +- struct pl_context *pl_ctx; ++ pl_log pl_log; ++ pl_shader pl_sh; ++ const struct pl_shader_res *pl_sh_res; ++#endif + + /* Function pointers to OpenGL functions, set by the caller */ + const opengl_vtable_t *vt; +@@ -337,9 +342,6 @@ struct opengl_tex_converter_t + bool yuv_color; + GLfloat yuv_coefficients[16]; + +- struct pl_shader *pl_sh; +- const struct pl_shader_res *pl_sh_res; +- + /* Private context */ + void *priv; + +diff --git a/modules/video_output/opengl/fragment_shaders.c b/modules/video_output/opengl/fragment_shaders.c +index 2246e33afd..16380335cc 100644 +--- a/modules/video_output/opengl/fragment_shaders.c ++++ b/modules/video_output/opengl/fragment_shaders.c +@@ -611,7 +611,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target, + + #ifdef HAVE_LIBPLACEBO + if (tc->pl_sh) { +- struct pl_shader *sh = tc->pl_sh; ++ pl_shader sh = tc->pl_sh; + struct pl_color_map_params color_params = pl_color_map_default_params; + color_params.intent = var_InheritInteger(tc->gl, "rendering-intent"); + color_params.tone_mapping_algo = var_InheritInteger(tc->gl, "tone-mapping"); +@@ -634,7 +634,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target, + pl_color_space_from_video_format(&tc->fmt), + dst_space, NULL, false); + +- struct pl_shader_obj *dither_state = NULL; ++ pl_shader_obj dither_state = NULL; + int method = var_InheritInteger(tc->gl, "dither-algo"); + if (method >= 0) { + +diff --git a/modules/video_output/opengl/vout_helper.c b/modules/video_output/opengl/vout_helper.c +index 13d65e04c8..e971f5170b 100644 +--- a/modules/video_output/opengl/vout_helper.c ++++ b/modules/video_output/opengl/vout_helper.c +@@ -570,8 +570,8 @@ opengl_deinit_program(vout_display_opengl_t *vgl, struct prgm *prgm) + + #ifdef HAVE_LIBPLACEBO + FREENULL(tc->uloc.pl_vars); +- if (tc->pl_ctx) +- pl_context_destroy(&tc->pl_ctx); ++ pl_shader_free(&tc->pl_sh); ++ pl_log_destroy(&tc->pl_log); + #endif + + vlc_object_release(tc); +@@ -622,21 +622,21 @@ opengl_init_program(vout_display_opengl_t *vgl, struct prgm *prgm, + // create the main libplacebo context + if (!subpics) + { +- tc->pl_ctx = pl_context_create(PL_API_VER, &(struct pl_context_params) { ++ tc->pl_log = pl_log_create(PL_API_VER, &(struct pl_log_params) { + .log_cb = log_cb, + .log_priv = tc, + .log_level = PL_LOG_INFO, + }); +- if (tc->pl_ctx) { ++ if (tc->pl_log) { + # if PL_API_VER >= 20 +- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, &(struct pl_shader_params) { ++ tc->pl_sh = pl_shader_alloc(tc->pl_log, &(struct pl_shader_params) { + .glsl.version = tc->glsl_version, + .glsl.gles = tc->is_gles, + }); + # elif PL_API_VER >= 6 +- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0); ++ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0); + # else +- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0, 0); ++ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0, 0); + # endif + } + } +-- +2.38.1 diff --git a/vlc-onevpl.patch b/vlc-onevpl.patch new file mode 100644 index 0000000..3475fef --- /dev/null +++ b/vlc-onevpl.patch @@ -0,0 +1,24 @@ +diff -up vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac.vpl vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac +--- vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac.vpl 2023-06-17 17:19:28.954540887 +0200 ++++ vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/configure.ac 2023-06-17 17:19:28.956540899 +0200 +@@ -2925,7 +2925,7 @@ fi + dnl + dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder + dnl +-PKG_ENABLE_MODULES_VLC([MFX], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto]) ++PKG_ENABLE_MODULES_VLC([MFX], [qsv], [vpl], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto]) + + dnl + dnl libfluidsynth (MIDI synthetizer) plugin +diff -up vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c.vpl vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c +--- vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c.vpl 2023-06-09 17:29:29.000000000 +0200 ++++ vlc-26fb05e95724bd19f9a144c51bc11f79c609f3bc/modules/codec/qsv.c 2023-06-17 17:22:05.468382540 +0200 +@@ -33,7 +33,7 @@ + #include + #include + +-#include ++#include + + #define SOUT_CFG_PREFIX "sout-qsv-" + diff --git a/vlc.spec b/vlc.spec index e782f9e..b5b4d25 100644 --- a/vlc.spec +++ b/vlc.spec @@ -1,4 +1,4 @@ -%global commit0 e9eceaed4d838dbd84638bfb2e4bdd08294163b1 +%global commit0 32b50de2a28418ca9e843e91383dd09b4cd1c529 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) #global vlc_rc -rc2 %global vlc_setup vlc-%{?commit0} @@ -6,26 +6,26 @@ %global _with_bootstrap 1 %if 0%{?!_without_freeworld:1} -%global _with_faad2 1 -%global _with_ffmpeg 1 -%global _with_libdca 1 %global _with_x264 1 %global _with_x265 1 -%global _with_xvidcore 1 %global _with_live555 1 -%global _with_vaapi 1 %endif %global _with_a52dec 1 +%global _with_aom 1 +%global _with_dav1d 1 +%global _with_faad2 1 +%global _with_ffmpeg 1 +%global _with_fluidsynth 1 +%global _with_freerdp 1 +%global _with_libdca 1 %global _with_libdvbpsi 1 %global _with_libmad 1 %global _with_libmpeg2 1 -%global _with_twolame 1 -%global _with_fluidsynth 1 %global _with_schroedinger 1 -%global _with_freerdp 1 -%global _with_dav1d 1 -%global _with_aom 1 +%global _with_twolame 1 +%global _with_vaapi 1 +%global _with_xvidcore 1 %ifarch x86_64 ppc64le aarch64 %if ! (0%{?fedora} >= 37) %global _with_asdcp 1 @@ -58,7 +58,7 @@ Summary: The cross-platform open-source multimedia framework, player and server Epoch: 1 Name: vlc -Version: 3.0.18 +Version: 3.0.19 Release: 1%{?dist} License: GPLv2+ URL: https://www.videolan.org @@ -68,7 +68,6 @@ Patch5: Lower-libgcrypt-to-1.5.3.patch Patch6: Restore-support-for-thread-callbacks-for-older-gcryp.patch # lua-5.1 is used by default for vlc build Patch7: Switch-to-Fedora-lua-5.1.patch - # Backport for 3.0 notifyd without gtk3 Patch9: notify-don-t-depend-on-any-GTK-version.patch @@ -94,6 +93,8 @@ BuildRequires: cdparanoia-devel %{?_with_dav1d:BuildRequires: libdav1d-devel} BuildRequires: pkgconfig(dbus-1) %{?_with_faad2:BuildRequires: faad2-devel} +# vlc-3 works with ffmpeg <= 4 for vaapi support +#https://code.videolan.org/videolan/vlc/-/issues/26772 %if 0%{?fedora} >= 36 || 0%{?rhel} >= 9 %{?_with_ffmpeg:BuildRequires: compat-ffmpeg4-devel} %else @@ -149,8 +150,9 @@ BuildRequires: libtiger-devel BuildRequires: libtiff-devel BuildRequires: pkgconfig(libidn) BuildRequires: pkgconfig(libjpeg) -# Not Yet in EL8 -%if 0%{?fedora} +# Not Yet in EL - libplacebo-6 incompatible +# https://code.videolan.org/videolan/vlc/-/merge_requests/3950 +%if 0%{?fedora} && 0%{?fedora} < 39 BuildRequires: pkgconfig(libplacebo) %endif BuildRequires: pkgconfig(libudev) @@ -319,10 +321,10 @@ VLC media player extras modules. %prep %setup -q -n %{vlc_setup} -%patch3 -p1 +%patch -P3 -p1 %if 0%{?el7} -%patch5 -p1 -%patch6 -p1 +%patch -P5 -p1 +%patch -P6 -p1 # Lower opus requirement - rfbz#5585 sed -i -e 's/opus >= 1.0.3/opus >= 1.0.2/' configure.ac sed -i -e 's/opus_multistream_surround_encoder_create/opus_multistream_encoder_create/g' modules/codec/opus.c @@ -332,11 +334,11 @@ sed -i -e 's/taglib >= 1.9/taglib >= 1.8/' configure.ac . /opt/rh/devtoolset-%{dts_ver}/enable %endif %if 0%{?fedora} || 0%{?rhel} > 7 -%patch7 -p1 +%patch -P7 -p1 sed -i -e 's/luac/luac-5.1/g' configure.ac %endif -%patch9 -p1 +%patch -P9 -p1 %{?_with_bootstrap: rm aclocal.m4 m4/lib*.m4 m4/lt*.m4 || : @@ -601,6 +603,43 @@ fi || : %changelog +* Thu Oct 12 2023 Nicolas Chauvet - 1:3.0.19-1 +- Update to 3.0.19 + +* Sun Aug 06 2023 Leigh Scott - 1:3.0.19-0.7 +- rebuilt + +* Fri Jul 28 2023 Nicolas Chauvet - 1:3.0.19-0.6 +- Drop onevpl for now (see rfbz#6711) + +* Fri Jul 28 2023 Nicolas Chauvet - 1:3.0.19-0.5 +- Update snapshot +- Use onevpl for f38+ and el9+ + +* Tue Jun 13 2023 Nicolas Chauvet - 1:3.0.19-0.4 +- Update snapshot + +* Mon Apr 10 2023 Leigh Scott - 1:3.0.19-0.3.1 +- Rebuild for live555 + +* Sun Mar 26 2023 Leigh Scott - 1:3.0.19-0.2.1 +- rebuilt + +* Thu Mar 23 2023 Nicolas Chauvet - 1:3.0.19-0.1.1 +- rebuilt + +* Wed Mar 22 2023 Nicolas Chauvet - 1:3.0.19-0.2 +- Update snapshot + +* Sun Dec 25 2022 Nicolas Chauvet - 1:3.0.18-4 +- Add libplacebo-5 + +* Fri Dec 23 2022 Nicolas Chauvet - 1:3.0.18-3 +- Update to current snapshot + +* Sun Nov 06 2022 Leigh Scott - 1:3.0.18-2 +- Rebuild for live555 + * Sun Oct 16 2022 Nicolas Chauvet - 1:3.0.18-1 - Update to 3.0.18