diff --git a/5590.patch b/5590.patch deleted file mode 100644 index 176d9d1..0000000 --- a/5590.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a761e1c202b632e7865d18fcf11a2b9e285ea9ae Mon Sep 17 00:00:00 2001 -From: Tristan Matthews -Date: Wed, 1 Feb 2023 23:39:36 -0500 -Subject: [PATCH] opus_header: fix channel mapping family 1 parsing - -Fixes #27808 - -(cherry picked from commit 79fa6af0a98921f9d34933761f4fe20ef6c35309) ---- - modules/codec/opus_header.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/codec/opus_header.c b/modules/codec/opus_header.c -index 4069a5cf4613..b134b20b625b 100644 ---- a/modules/codec/opus_header.c -+++ b/modules/codec/opus_header.c -@@ -205,7 +205,7 @@ int opus_header_parse(const unsigned char *packet, int len, OpusHeader *h) - h->nb_coupled = ch; - - /* Multi-stream support */ -- if(h->channel_mapping == 2) -+ if(h->channel_mapping <= 2) - { - if (h->nb_coupled + h->nb_streams > 255) - return 0; --- -GitLab - diff --git a/_service b/_service new file mode 100644 index 0000000..85436a5 --- /dev/null +++ b/_service @@ -0,0 +1,19 @@ + + + + git + https://code.videolan.org/videolan/vlc.git + 3.0.x + @PARENT_TAG@+@TAG_OFFSET@ + v?([^+-]*)(-rc\d+)?(-[12])?(\+0)?(\+\d+)? + \1\5 + + + + + *.tar + xz + + + + diff --git a/vlc-3.0.21.tar.xz b/vlc-3.0.21.tar.xz deleted file mode 100644 index 527e796..0000000 --- a/vlc-3.0.21.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0 -size 25649288 diff --git a/vlc-3.0.21.tar.xz.asc b/vlc-3.0.21.tar.xz.asc deleted file mode 100644 index 721800e..0000000 --- a/vlc-3.0.21.tar.xz.asc +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQRl98a0IGvQV6frc3hxgHE75Y0a3AUCZmN15gAKCRBxgHE75Y0a -3PDaAKCGjcMhmC7+t5FwH2nVc1Cuy2dPeQCfe2/pEfZUpMPG2rfu/wO71uZ+vMo= -=Mt0w ------END PGP SIGNATURE----- diff --git a/vlc-3.0.23.obscpio b/vlc-3.0.23.obscpio new file mode 100644 index 0000000..945b47d --- /dev/null +++ b/vlc-3.0.23.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b0023858f770cf33de4ff61c56dad824c66a2b6c1fc1ae96d4806fe0c0deccc +size 134004750 diff --git a/vlc-libplacebo-5.patch b/vlc-libplacebo-5.patch deleted file mode 100644 index 6f1cc5e..0000000 --- a/vlc-libplacebo-5.patch +++ /dev/null @@ -1,132 +0,0 @@ -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-taglib-2.0.patch b/vlc-taglib-2.0.patch deleted file mode 100644 index 34a4483..0000000 --- a/vlc-taglib-2.0.patch +++ /dev/null @@ -1,171 +0,0 @@ -From ec29dfca1e59530dd412d779e0b045079b72ffb6 Mon Sep 17 00:00:00 2001 -From: Vikram Kangotra -Date: Sat, 3 Feb 2024 02:52:52 +0530 -Subject: [PATCH] Taglib: Use ID3v2Tag() instead of tag() for RIFF::WAV::File - -`WriteMetaToId3v2` expects a `ID3v2::Tag` instead of `Tag`, but Since TagLib v2.0, -`RIFF::WAV::File::tag()` returns a `Tag` instead of `ID3v2::Tag`, hence replace -the usage of `tag()` method with `ID3v2Tag()`. - -https://github.com/taglib/taglib/blob/master/taglib/riff/wav/wavfile.h#L124 - -Additionally, to resolve the compilation error, the function signatures of -`insert` and `removeBlock` have been adjusted to align with the base class -functions. ---- - modules/meta_engine/taglib.cpp | 40 ++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -Index: vlc-3.0.20/modules/meta_engine/taglib.cpp -=================================================================== ---- vlc-3.0.20.orig/modules/meta_engine/taglib.cpp -+++ vlc-3.0.20/modules/meta_engine/taglib.cpp -@@ -125,7 +125,11 @@ VLCTagLib::ExtResolver::ExtResolver(c - template - File *VLCTagLib::ExtResolver::createFile(FileName fileName, bool, AudioProperties::ReadStyle) const - { -+#if defined(_WIN32) && TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ std::string filename = fileName.toString().to8Bit(true); -+#else - std::string filename = std::string(fileName); -+#endif - std::size_t namesize = filename.size(); - - if (namesize > ext.length()) -@@ -180,12 +184,16 @@ public: - return m_stream->psz_location; - } - -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ ByteVector readBlock(size_t length) -+#else - ByteVector readBlock(ulong length) -+#endif - { - ByteVector res(length, 0); - ssize_t i_read = vlc_stream_Read( m_stream, res.data(), length); - if (i_read < 0) -- return ByteVector::null; -+ return {}; - else if ((size_t)i_read != length) - res.resize(i_read); - return res; -@@ -196,11 +204,19 @@ public: - // Let's stay Read-Only for now - } - -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ void insert(const ByteVector&, offset_t, size_t) -+#else - void insert(const ByteVector&, ulong, ulong) -+#endif - { - } - -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ void removeBlock(offset_t, size_t) -+#else - void removeBlock(ulong, ulong) -+#endif - { - } - -@@ -214,7 +230,11 @@ public: - return true; - } - -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ void seek(offset_t offset, Position p) -+#else - void seek(long offset, Position p) -+#endif - { - uint64_t pos = 0; - switch (p) -@@ -237,12 +257,20 @@ public: - return; - } - -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ offset_t tell() const -+#else - long tell() const -+#endif - { - return m_previousPos; - } - -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ offset_t length() -+#else - long length() -+#endif - { - uint64_t i_size; - if (vlc_stream_GetSize( m_stream, &i_size ) != VLC_SUCCESS) -@@ -250,7 +278,11 @@ public: - return i_size; - } - -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ void truncate(offset_t) -+#else - void truncate(long) -+#endif - { - } - -@@ -465,7 +497,7 @@ static void ReadMetaFromASF( ASF::Tag* t - static void ReadMetaFromBasicTag(const Tag* tag, vlc_meta_t *dest) - { - #define SET( accessor, meta ) \ -- if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ -+ if( !tag->accessor().isEmpty() ) \ - vlc_meta_Set##meta( dest, tag->accessor().toCString(true) ) - #define SETINT( accessor, meta ) \ - if( tag->accessor() ) \ -@@ -806,15 +838,15 @@ static void ReadMetaFromMP4( MP4::Tag* t - { - MP4::Item list; - #define SET( keyName, metaName ) \ -- if( tag->itemListMap().contains(keyName) ) \ -+ if( tag->contains(keyName) ) \ - { \ -- list = tag->itemListMap()[keyName]; \ -+ list = tag->item(keyName); \ - vlc_meta_Set##metaName( p_meta, list.toStringList().front().toCString( true ) ); \ - } - #define SET_EXTRA( keyName, metaName ) \ -- if( tag->itemListMap().contains(keyName) ) \ -- { \ -- list = tag->itemListMap()[keyName]; \ -+ if( tag->contains(keyName) ) \ -+ { \ -+ list = tag->item(keyName); \ - vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \ - } - -@@ -824,9 +856,9 @@ static void ReadMetaFromMP4( MP4::Tag* t - #undef SET - #undef SET_EXTRA - -- if( tag->itemListMap().contains("covr") ) -+ if( tag->contains("covr") ) - { -- MP4::CoverArtList list = tag->itemListMap()["covr"].toCoverArtList(); -+ MP4::CoverArtList list = tag->item("covr").toCoverArtList(); - const char *psz_format = list[0].format() == MP4::CoverArt::PNG ? "image/png" : "image/jpeg"; - - msg_Dbg( p_demux_meta, "Found embedded art (%s) is %i bytes", -@@ -1337,7 +1369,11 @@ static int WriteMeta( vlc_object_t *p_th - if( RIFF::AIFF::File* riff_aiff = dynamic_cast(f.file()) ) - WriteMetaToId3v2( riff_aiff->tag(), p_item ); - else if( RIFF::WAV::File* riff_wav = dynamic_cast(f.file()) ) -+#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) -+ WriteMetaToId3v2( riff_wav->ID3v2Tag(), p_item ); -+#else - WriteMetaToId3v2( riff_wav->tag(), p_item ); -+#endif - } - else if( TrueAudio::File* trueaudio = dynamic_cast(f.file()) ) - { diff --git a/vlc.a52.patch b/vlc.a52.patch deleted file mode 100644 index 1767eef..0000000 --- a/vlc.a52.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: vlc-3.0.0/modules/codec/a52.c -=================================================================== ---- vlc-3.0.0.orig/modules/codec/a52.c -+++ vlc-3.0.0/modules/codec/a52.c -@@ -302,7 +302,7 @@ static int Open( vlc_object_t *p_this ) - p_sys->i_flags |= A52_ADJUST_LEVEL; - - /* Initialize liba52 */ -- p_sys->p_liba52 = a52_init( 0 ); -+ p_sys->p_liba52 = a52_init (); - if( p_sys->p_liba52 == NULL ) - { - msg_Err( p_this, "unable to initialize liba52" ); diff --git a/vlc.changes b/vlc.changes index e6e407d..154f859 100644 --- a/vlc.changes +++ b/vlc.changes @@ -1,3 +1,120 @@ +------------------------------------------------------------------- +Tue Jan 20 16:36:15 UTC 2026 - Dominique Leuenberger + +- Explicitly pass --disable-postproc to configure to not have a + difference between ffmpeg-7 and ffmpeg-8 builds. + +------------------------------------------------------------------- +Thu Jan 15 07:21:00 UTC 2026 - Dominique Leuenberger + +- Change compression type of tarball to tar.xz: 3rd-party OBS + instances build VLC also for older distros, which might not + understand zstd compression. + +------------------------------------------------------------------- +Tue Dec 30 12:53:19 UTC 2025 - Dominique Leuenberger + +- Update to version 3.0.23: + + Codecs: + * Fix WebVTT line positioning + * Expose additional audio codec information (notably for Flac 24bit) + + Demuxers: + * fix some JPEG files wih JFIF headers + + Security: + * Fix null deref in libass, undefined shift in theora and cc-708, integer overflow in daala, + Infinite loop in h264 parsing, buffer overflow in png and multiple format-overflows + + Misc: + * Prepare compatibility for taglib 2.0, Qt6, FFmpeg8, mingw-w64 v13 and newer versions of + libplacebo and pupnp +- Drop vlc-libplacebo-5.patch: fixed upstream +- Convert to source service: 3.0.23 was only tagged, but no tarball + was published. +- Unpin ffmpeg-version: build against ffmpeg-8 + +------------------------------------------------------------------- +Tue Dec 30 12:25:23 UTC 2025 - Dominique Leuenberger + +- Update to version 3.0.22: + + Core: Assume subpictures are in SDR by default + + Decoders: + * Fix Opus channel mapping + * Fix hardware decoding with VideoToolbox of XVID MPEG-4 video + * Add dav1d-all-layers option + * Fix DVD CEA-608 captions parsing + * Fix ProRes 4:4:4:4 + * Disable decoding using libdca, libmpeg2 and liba52 by default in favor of libavcodec + + Demuxers: + * Add support for DMX audio music (MUS) files + * Handle mkv-use-chapter-codec option + * Add A_ATRAC/AT1 support in matroska + * Prevent FLAC seeking logic get stuck + * Handle pictures in FLAC + * Fix VOB/AOB LPCM/MLP detection failing occasionally + * Cut QNap title on first invalid character + * Fix display of certain JPEG files + * Fix playback of very short ASF files (duration less than 1s) + * Multiple fixes in MPEG-TS + * Fix crashes in multiple demuxers (reported by rub.de, oss-fuzz and others) + + Input: Fix SFTP seeking for large files on 32-bit OS + + Interface: + * Qt: Add option to use dark palette + * Qt: Add compilation support for newer versions of Qt5 + * Qt: Fix scrolling on volume slider + * KDE: fix MPRIS state when started from file + + Service Discovery: UPnP: remove SAT>IP channel list fallback + + Video Output: + * Use a better stretch mode in wingdi + * Fetch missing device information when running in UWP + + Video Filter: + * Add AMD GPU Frame Rate Doubler (Direct3D11) + * Improve visualization of low frequencies in spectrogram +- Drop merged patches: + + 5574.patch + + 5590.patch + + 6168.patch + + 6273.patch + + 6527.patch + + 6606.patch + + vlc-taglib-2.0.patch + +------------------------------------------------------------------- +Tue Oct 7 09:55:31 UTC 2025 - Bjørn Lie + +- Drop liba52-devel, pkgconfig(libdca) and pkgconfig(libmpeg2) + BuildRequires and vlc.a52.patch and dca conditional define, next + stable vlc will disable these by default and rely on ffmpeg for + decoding instead. We might as well get ahead of this now. + +------------------------------------------------------------------- +Tue Oct 7 07:16:18 UTC 2025 - Dominique Leuenberger + +- Pin to ffmpeg-7; even the master branch does not yet build + against ffmpeg 8. + +------------------------------------------------------------------- +Thu Oct 2 11:03:15 UTC 2025 - Bjørn Lie + +- Drop vcdimager-devel BuildRequires: Not needed nor used, vcd + plugin is still built without it. + +------------------------------------------------------------------- +Wed Aug 20 12:54:30 UTC 2025 - Bjørn Lie + +- Port to current ffmpeg-7: Remove version constraints on ffmpeg + BuildRequires, add upstream patches and pass disable-vdpau to + configure, this disables build/shipping of vdpau subpackage. + Patches added: 5574.patch, 6168.patch, 6273.patch, 6606.patch and + 6527.patch. +- Add missing vlc Requires to devel sub-package, previously pulled + in via vlc-vdpau package. + +------------------------------------------------------------------- +Thu Aug 7 09:27:34 UTC 2025 - Bjørn Lie + +- Drop obsolete and unused libxvidcore-devel BuildRequires. +- Switch faad build_cond to without and move plugin to main + package. + ------------------------------------------------------------------- Fri Jun 13 06:38:45 UTC 2025 - Dominique Leuenberger diff --git a/vlc.keyring b/vlc.keyring deleted file mode 100644 index d042dbe..0000000 --- a/vlc.keyring +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mQGiBFD9w2QRBACoEzH9KKirWE4wgiuPPynNnxks+p+t5i1z3CG+1XhagmTHoOf3 -v8i19kKHV6WnVMn2CKJFgwTTLYXOJTrBM/4ABVtu11cHeeueeo+pCSkdoLzYJ5QF -HbByB6j33QUbwKF0frEs+ge4LxzvYyCDAmNAW560QtOAR9Lk1Fo5B1GXzwCg1kDk -RkSe7EOZNm1U2rYAQ2VPrfsEAIHr4ooOyUByPR7XpoDOKoaXEG0hjpgh46lbgse+ -dQx8YrxS9vXQLwYokfWLrs55avx9Ys0iVv2TMv7X4Tn5sTVaK5K+NbKhxhLORxGI -sgKqRn7W5SG5xoO0w/dmQj756ppjITGbxjFuhYE0X5S6NeMhUuFci7sJ42R7F1Ko -6sYuA/wOMUxCk4XOXeQF16ApyyenjE/UWbBNEhBmjEsZkYAFNc89pAEnEFSnIxK8 -fcuCQioM6ojjaW+aEs/q3/klI0nat9LMLhNSCebjriMHwJDU70NeCn4nPWsfItT1 -eKvbHNcX+3bq3D/i2Wa3PZ5YFFF01C61dHmVC9YGh4sAOXO09LQjVmlkZW9MQU4g -UmVsZWFzZSBTaWduaW5nIEtleSAoMjAxMymIaAQTEQIAKAIbAwYLCQgHAwIGFQgC -CQoLBBYCAwECHgECF4AFAlk3/bQFCQobbdAACgkQcYBxO+WNGtzKtgCgr8e+eznK -XeYnZYnSKz2pxvbetsQAn36gLn30dOINLPzDmWMc4lfIA2wGtCNWaWRlb0xBTiBS -ZWxlYXNlIFNpZ25pbmcgS2V5ICgyMDE0KYhpBBMRAgApAhsDBwsJCAcDAgEGFQgC -CQoLBBYCAwECHgECF4AFAlk3/bQFCQobbdAACgkQcYBxO+WNGty1xgCfci7vVRoG -FfDEccO417/OdsZ4l7MAnitkQtN+Lq+3rjgDZAWlNaF45i7TtCNWaWRlb0xBTiBS -ZWxlYXNlIFNpZ25pbmcgS2V5ICgyMDE1KYhqBBMRAgAqAhsDBQsJCAcCBhUICQoL -AgQWAgMBAh4BAheAAhkBBQJZN/20BQkKG23QAAoJEHGAcTvljRrcwscAn0CQBVCl -ArPMtbaybLn0TSsAehjkAKCQcHSfvkDxxYsY13x2Xk7ONqp2GbQjVmlkZW9MQU4g -UmVsZWFzZSBTaWduaW5nIEtleSAoMjAxNimIaAQTEQIAKAIbAwYLCQgHAwIGFQgC -CQoLBBYCAwECHgECF4AFAlk3/bQFCQobbdAACgkQcYBxO+WNGtzITACgmUpWpNGn -QKo+Rcap86RA0ptdWLkAn3/VU5ao7m0kWLWks5Nxj/Snx3+StCNWaWRlb0xBTiBS -ZWxlYXNlIFNpZ25pbmcgS2V5ICgyMDE3KYhnBBMRAgAnAhsDBQsJCAcCBhUICQoL -AgQWAgMBAh4BAheABQJZN/20BQkKG23QAAoJEHGAcTvljRrcX08AoIRlpqSSaWmw -Kd+PCQO5VNjtSWmOAKDQoyHd6QzL3BAkOajdEg3G98fM/Q== -=k6/6 ------END PGP PUBLIC KEY BLOCK----- diff --git a/vlc.obsinfo b/vlc.obsinfo new file mode 100644 index 0000000..7c91883 --- /dev/null +++ b/vlc.obsinfo @@ -0,0 +1,4 @@ +name: vlc +version: 3.0.23 +mtime: 1766472938 +commit: 79128878ddb2c280bbb6c89c76a46b31a80ade1c diff --git a/vlc.spec b/vlc.spec index f4897ea..528aad4 100644 --- a/vlc.spec +++ b/vlc.spec @@ -1,7 +1,7 @@ # # spec file for package vlc # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2012 Dominique Leuenberger, Amsterdam, The Netherlands # # All modifications and additions to the file contributed by third parties @@ -27,57 +27,48 @@ %endif %bcond_without gstreamer %bcond_without fluidsynth +%bcond_with vdpau # VNC support - the module is not really usable in most cases tested so far (e.g. against qemu-kvm -vnc :xx) %bcond_with vnc -%bcond_with faad +%bcond_without faad %define chromecast 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150600 -%define dca 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150600 || 0%{?BUILD_ORIG} Name: vlc -Version: 3.0.21 +Version: 3.0.23 Release: 0 Summary: Graphical media player License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: Productivity/Multimedia/Video/Players URL: http://www.videolan.org -Source: http://download.videolan.org/%{name}/%{version}/%{name}-%{version}.tar.xz +Source: %{name}-%{version}.tar.xz Source2: %{name}-rpmlintrc -Source98: http://download.videolan.org/%{name}/%{version}/%{name}-%{version}.tar.xz.asc -Source99: vlc.keyring -# PATCH-FIX-UPSTREAM vlc.a52.patch https://trac.videolan.org/vlc/ticket/3731 dimstar@opensuse.org -- Support new version of liba52 -Patch0: vlc.a52.patch # PATCH-FIX-UPSTREAM vlc-allow-deprecated-fribidi.patch dimstar@opensuse.org -- Allow usage of deprecated fribidi functions Patch1: vlc-allow-deprecated-fribidi.patch # PATCH-FIX-UPSTREAM vlc-lua-5.3.patch dimstar@opensuse.org -- Replace lua_optlong with lua_optinteger Patch2: vlc-lua-5.3.patch # PATCH-FIX-UPSTREAM fix-build-with-fdk-2.0.patch -- Fix building vlc with libfdk-aac v2 Patch4: fix-build-with-fdk-2.0.patch -# PATCH-FIX-UPSTREAM -- Backport libplacebo v5 compatibility patch to vlc v3 -Patch5: vlc-libplacebo-5.patch -# PATCH-FIX-UPSTREAM vlc-taglib-2.0.patch dimstar@opensuse.org -- Fix build against taglib 2.0 -Patch6: vlc-taglib-2.0.patch -# PATCH-FIX-UPSTREAM -Patch7: https://code.videolan.org/videolan/vlc/-/merge_requests/5590.patch # PATCH-FEATURE-OPENSUSE vlc-projectM-qt5.patch -- Build against projectM-qt5; openSUSE provides projectM as -qt and -qt5 variant Patch100: vlc-projectM-qt5.patch # PATCH-FIX-UPSTREAM -- Use OpenCV C++ API Patch103: 0001-Port-OpenCV-facedetect-example-to-C-API.patch + BuildRequires: Mesa-devel BuildRequires: aalib-devel BuildRequires: alsa-devel >= 1.0.24 BuildRequires: avahi-devel >= 0.6 +BuildRequires: bison BuildRequires: dirac-devel BuildRequires: fdupes BuildRequires: findutils BuildRequires: flac-devel +BuildRequires: flex BuildRequires: freetype2 BuildRequires: fribidi-devel BuildRequires: gdk-pixbuf-devel BuildRequires: gettext-devel -#BuildRequires: git BuildRequires: gtk3-devel BuildRequires: libQt5Gui-private-headers-devel -BuildRequires: liba52-devel BuildRequires: libavc1394-devel >= 0.5.3 BuildRequires: libcddb-devel >= 0.9.5 BuildRequires: libcdio-devel >= 0.78.2 @@ -120,10 +111,6 @@ BuildRequires: pkgconfig(libplacebo) < 6.292.0 #BuildRequires: slang-devel BuildRequires: speex-devel >= 1.0.5 BuildRequires: update-desktop-files -BuildRequires: vcdimager-devel -BuildRequires: (pkgconfig(libavcodec) >= 57.37.100 with pkgconfig(libavcodec) < 60) -BuildRequires: (pkgconfig(libavformat) >= 53.21.0 with pkgconfig(libavformat) < 60) -BuildRequires: (pkgconfig(libavutil) >= 52.4.0 with pkgconfig(libavutil) < 58) BuildRequires: pkgconfig(Qt5Core) >= 5.5.0 BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5Svg) @@ -137,22 +124,20 @@ BuildRequires: pkgconfig(fdk-aac) BuildRequires: pkgconfig(gnutls) >= 3.2.0 BuildRequires: pkgconfig(libarchive) >= 3.1.0 BuildRequires: pkgconfig(libass) >= 0.9.8 +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libbluray) >= 0.6.2 -%if %dca -BuildRequires: pkgconfig(libdca) >= 0.0.5 -%endif BuildRequires: pkgconfig(libgme) #BuildRequires: pkgconfig(libmodplug) >= 0.8.9 -BuildRequires: pkgconfig(libmpeg2) > 0.3.2 BuildRequires: pkgconfig(libmtp) >= 1.0.0 %if 0%{?suse_version} >= 1500 BuildRequires: pkgconfig(libnfs) %endif -BuildRequires: (pkgconfig(libpostproc) with pkgconfig(libpostproc) < 56) -BuildRequires: (pkgconfig(libswscale) with pkgconfig(libswscale) < 6) BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libpulse) >= 1.0 BuildRequires: pkgconfig(libsecret-1) >= 0.18 +BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libva-x11) @@ -163,7 +148,9 @@ BuildRequires: pkgconfig(soxr) BuildRequires: pkgconfig(speexdsp) BuildRequires: pkgconfig(taglib) >= 1.9 BuildRequires: pkgconfig(twolame) +%if %{with vdpau} BuildRequires: pkgconfig(vdpau) >= 0.6 +%endif BuildRequires: pkgconfig(xcb) >= 1.6 BuildRequires: pkgconfig(xcb-composite) BuildRequires: pkgconfig(xcb-keysyms) >= 0.3.4 @@ -231,14 +218,14 @@ BuildRequires: pkgconfig(libchromaprint) >= 0.6.0 %if 0%{?suse_version} >= 1320 BuildRequires: pkgconfig(ncursesw) %endif -# Those are dependencies which are NOT provided in openSUSE, mostly for legal reasons. -%if 0%{?BUILD_ORIG} -BuildRequires: libxvidcore-devel -BuildRequires: pkgconfig(x264) >= 0.8.6 -BuildRequires: pkgconfig(x265) %if %{with faad} BuildRequires: pkgconfig(faad2) %endif + +# These are dependencies which are NOT provided in openSUSE, mostly for legal reasons. +%if 0%{?BUILD_ORIG} +BuildRequires: pkgconfig(x264) >= 0.8.6 +BuildRequires: pkgconfig(x265) %endif %description @@ -256,9 +243,12 @@ libraries, which may not have all codecs enabled that were just named. %package devel Summary: Development files for the VLC media player system Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} Requires: %{name}-jack = %{version} Requires: %{name}-noX = %{version} +%if %{with vdpau} Requires: %{name}-vdpau = %{version} +%endif %description devel These development headers are required if you plan on coding against VLC. @@ -396,30 +386,21 @@ default when `vlc` is invoked from an X session. %setup -q %patch -P 1 -p1 %patch -P 4 -p1 -%patch -P 6 -p1 -%patch -P 7 -p1 %if 0%{?suse_version} > 1320 && 0%{?suse_version} < 1550 && 0%{?sle_version} < 150200 %patch -P 100 -p1 %endif %patch -P 103 -p1 -# a52_init() < 0.8.0 doesn't take any arguments -if pkg-config --max-version 0.8 liba52; then -%patch -P 0 -p1 -fi - ### And LUA 5.3.1 has some more API changes if pkg-config --atleast-version 5.3.1 lua; then %patch -P 2 -p1 fi -if pkg-config --atleast-version 5 libplacebo; then -%patch -P 5 -p1 -fi - # We do not rely on contrib but make use of system libraries rm -rf contrib +[ ! -f src/revision.txt ] && echo "%version" > src/revision.txt + %build %global _lto_cflags %{?_lto_cflags} -ffat-lto-objects %if 0%{?suse_version} < 1500 @@ -431,7 +412,7 @@ autoreconf -fiv --disable-dependency-tracking \ --disable-oss \ --disable-svgdec \ - --enable-a52 \ + --disable-a52 \ --enable-aa \ --enable-alsa \ --enable-avcodec \ @@ -440,11 +421,7 @@ autoreconf -fiv %else --disable-chromecast \ %endif -%if %dca - --enable-dca \ -%else --disable-dca \ -%endif --enable-dvbpsi \ --enable-dvdnav \ --enable-dvdread \ @@ -458,7 +435,7 @@ autoreconf -fiv --enable-kate \ --enable-libass \ --enable-libcddb \ - --enable-libmpeg2 \ + --disable-libmpeg2 \ %if 0%{?is_opensuse} --enable-libplacebo \ %endif @@ -469,7 +446,6 @@ autoreconf -fiv --disable-mod \ --enable-ogg \ --enable-optimizations \ - --enable-postproc \ --enable-pulse \ --enable-realrtsp \ --enable-sftp \ @@ -481,10 +457,15 @@ autoreconf -fiv --enable-twolame \ --enable-v4l2 \ --enable-vcd \ +%if %{with vdpau} --enable-vdpau \ +%else + --disable-vdpau \ +%endif --enable-vorbis \ --enable-xcb \ --enable-xvideo \ + --disable-postproc \ --with-default-font=%{_datadir}/fonts/truetype/FreeSerifBold.ttf \ --with-default-monospace-font=%{_datadir}/fonts/truetype/FreeMono.ttf \ %if %{with opengles} @@ -495,13 +476,14 @@ autoreconf -fiv %else --disable-wayland \ %endif -%if 0%{?BUILD_ORIG} %if %{with faad} --enable-faad \ -%endif - --enable-x265 \ %else --disable-faad \ +%endif +%if 0%{?BUILD_ORIG} + --enable-x265 \ +%else --disable-x265 \ %endif %{nil} @@ -612,6 +594,7 @@ if [ -x %{_libdir}/vlc/vlc-cache-gen ]; then fi %endif +%if %{with vdpau} %post -n %{name}-vdpau if [ -x %{_libdir}/vlc/vlc-cache-gen ]; then %{_libdir}/vlc/vlc-cache-gen %{_libdir}/vlc/plugins @@ -621,6 +604,7 @@ fi if [ -x %{_libdir}/vlc/vlc-cache-gen ]; then %{_libdir}/vlc/vlc-cache-gen %{_libdir}/vlc/plugins fi +%endif %files %exclude %{_libdir}/vlc/libcompat.a @@ -632,7 +616,7 @@ fi %if 0%{?suse_version} < 1500 %dir %{_datadir}/metainfo %endif -%{_datadir}/metainfo/%{name}.appdata.xml +%{_datadir}/metainfo/org.videolan.vlc.appdata.xml # The icon is the one referenced by the .desktop file %{_datadir}/pixmaps/vlc.png %{_datadir}/solid @@ -878,7 +862,6 @@ fi %{_libdir}/vlc/plugins/audio_output/libafile_plugin.so %{_libdir}/vlc/plugins/audio_output/libalsa_plugin.so %{_libdir}/vlc/plugins/audio_output/libamem_plugin.so -%{_libdir}/vlc/plugins/codec/liba52_plugin.so %{_libdir}/vlc/plugins/codec/libadpcm_plugin.so %{_libdir}/vlc/plugins/codec/libaes3_plugin.so %{_libdir}/vlc/plugins/codec/libaom_plugin.so @@ -889,18 +872,17 @@ fi %if 0%{?suse_version} >= 1550 %{_libdir}/vlc/plugins/codec/libdav1d_plugin.so %endif -%if %dca -%{_libdir}/vlc/plugins/codec/libdca_plugin.so -%endif %{_libdir}/vlc/plugins/codec/libddummy_plugin.so %{_libdir}/vlc/plugins/codec/libdvbsub_plugin.so %{_libdir}/vlc/plugins/codec/libedummy_plugin.so +%if %{with faad} +%{_libdir}/vlc/plugins/codec/libfaad_plugin.so +%endif %{_libdir}/vlc/plugins/codec/libfdkaac_plugin.so %{_libdir}/vlc/plugins/codec/libflac_plugin.so %{_libdir}/vlc/plugins/codec/libg711_plugin.so %{_libdir}/vlc/plugins/codec/libjpeg_plugin.so %{_libdir}/vlc/plugins/codec/libkate_plugin.so -%{_libdir}/vlc/plugins/codec/liblibmpeg2_plugin.so %{_libdir}/vlc/plugins/codec/liblpcm_plugin.so %{_libdir}/vlc/plugins/codec/libmpg123_plugin.so %{_libdir}/vlc/plugins/codec/liboggspots_plugin.so @@ -955,6 +937,7 @@ fi %{_libdir}/vlc/plugins/demux/libdemux_stl_plugin.so %{_libdir}/vlc/plugins/demux/libdiracsys_plugin.so %{_libdir}/vlc/plugins/demux/libdirectory_demux_plugin.so +%{_libdir}/vlc/plugins/demux/libdmxmus_plugin.so %{_libdir}/vlc/plugins/demux/libes_plugin.so %{_libdir}/vlc/plugins/demux/libflacsys_plugin.so %{_libdir}/vlc/plugins/demux/libgme_plugin.so @@ -1136,7 +1119,6 @@ fi %{_libdir}/vlc/plugins/video_filter/libmotiondetect_plugin.so %{_libdir}/vlc/plugins/video_filter/liboldmovie_plugin.so %{_libdir}/vlc/plugins/video_filter/libposterize_plugin.so -%{_libdir}/vlc/plugins/video_filter/libpostproc_plugin.so %{_libdir}/vlc/plugins/video_filter/libpsychedelic_plugin.so %{_libdir}/vlc/plugins/video_filter/libpuzzle_plugin.so %{_libdir}/vlc/plugins/video_filter/libripple_plugin.so @@ -1157,6 +1139,7 @@ fi %{_libdir}/vlc/plugins/video_output/libflaschen_plugin.so %{_libdir}/vlc/plugins/video_output/libglconv_vaapi_drm_plugin.so %{_libdir}/vlc/plugins/video_output/libglconv_vaapi_x11_plugin.so +%{_libdir}/vlc/plugins/vaapi/libvaapi_filters_plugin.so %{_libdir}/vlc/plugins/video_output/libgl_plugin.so %{_libdir}/vlc/plugins/video_output/libvdummy_plugin.so %{_libdir}/vlc/plugins/video_output/libvmem_plugin.so @@ -1164,7 +1147,6 @@ fi %{_libdir}/vlc/plugins/video_splitter/libclone_plugin.so %{_libdir}/vlc/plugins/video_splitter/libwall_plugin.so %{_libdir}/vlc/plugins/visualization/libvisual_plugin.so -%{_libdir}/vlc/plugins/vaapi/libvaapi_filters_plugin.so %ifarch %{arm} %dir %{_libdir}/vlc/plugins/arm_neon %{_libdir}/vlc/plugins/arm_neon/libchroma_yuv_neon_plugin.so @@ -1187,6 +1169,7 @@ fi %{_libdir}/vlc/plugins/codec/libfluidsynth_plugin.so %endif +%if %{with vdpau} %files vdpau %dir %{_libdir}/vlc/plugins/vdpau %{_libdir}/vlc/libvlc_vdpau.so.0 @@ -1198,6 +1181,7 @@ fi %{_libdir}/vlc/plugins/vdpau/libvdpau_display_plugin.so %{_libdir}/vlc/plugins/vdpau/libvdpau_sharpen_plugin.so %{_libdir}/vlc/plugins/video_output/libglconv_vdpau_plugin.so +%endif %files -n libvlc%{libvlc} %{_libdir}/libvlc.so.%{libvlc}* @@ -1217,13 +1201,12 @@ fi %{_libdir}/pkgconfig/libvlc.pc %{_libdir}/pkgconfig/vlc-plugin.pc %{_libdir}/vlc/libcompat.a +%if %{with vdpau} %{_libdir}/vlc/libvlc_vdpau.so +%endif %if 0%{?BUILD_ORIG} %files codecs -%if %{with faad} -%{_libdir}/vlc/plugins/codec/libfaad_plugin.so -%endif %{_libdir}/vlc/plugins/codec/libx264_plugin.so %{_libdir}/vlc/plugins/codec/libx26410b_plugin.so %{_libdir}/vlc/plugins/codec/libx265_plugin.so