6 Commits

Author SHA256 Message Date
e36e3cf3f2 Accepting request 1324890 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1324890
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vlc?expand=0&rev=160
2026-01-01 14:00:18 +00:00
8367a42d4c Accepting request 1324814 from multimedia:libs
- 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

OBS-URL: https://build.opensuse.org/request/show/1324814
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vlc?expand=0&rev=159
2025-12-31 09:46:37 +00:00
65e25898c1 Accepting request 1309917 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1309917
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vlc?expand=0&rev=158
2025-10-10 15:08:08 +00:00
5a33ecb827 Accepting request 1309761 from multimedia:libs
- Pin to ffmpeg-7; even the master branch does not yet build
  against ffmpeg 8.

- Drop vcdimager-devel BuildRequires: Not needed nor used, vcd
  plugin is still built without it.

OBS-URL: https://build.opensuse.org/request/show/1309761
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vlc?expand=0&rev=157
2025-10-08 16:12:12 +00:00
f3e2b6924c Accepting request 1300988 from multimedia:libs
Add missing req (forwarded request 1300984 from iznogood)

OBS-URL: https://build.opensuse.org/request/show/1300988
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vlc?expand=0&rev=156
2025-08-25 18:36:12 +00:00
0da0a64aaa Accepting request 1298149 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1298149
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vlc?expand=0&rev=155
2025-08-08 13:10:06 +00:00
12 changed files with 176 additions and 445 deletions

View File

@@ -1,28 +0,0 @@
From a761e1c202b632e7865d18fcf11a2b9e285ea9ae Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tmatth@videolan.org>
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

19
_service Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://code.videolan.org/videolan/vlc.git</param>
<param name="revision">3.0.x</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">v?([^+-]*)(-rc\d+)?(-[12])?(\+0)?(\+\d+)?</param>
<param name="versionrewrite-replacement">\1\5</param>
<!-- <param name="changesgenerate">enable</param> -->
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">zst</param>
</service>
<service name="set_version" mode="manual"/>
</services>

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0
size 25649288

View File

@@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQRl98a0IGvQV6frc3hxgHE75Y0a3AUCZmN15gAKCRBxgHE75Y0a
3PDaAKCGjcMhmC7+t5FwH2nVc1Cuy2dPeQCfe2/pEfZUpMPG2rfu/wO71uZ+vMo=
=Mt0w
-----END PGP SIGNATURE-----

3
vlc-3.0.23.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b0023858f770cf33de4ff61c56dad824c66a2b6c1fc1ae96d4806fe0c0deccc
size 134004750

View File

@@ -1,132 +0,0 @@
From efbb1fdbc4420365b3ffd22e55dd27ad520037c7 Mon Sep 17 00:00:00 2001
From: Niklas Haas <git@haasn.dev>
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 <libplacebo/log.h>
+# include <libplacebo/shaders.h>
+#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

View File

@@ -1,171 +0,0 @@
From ec29dfca1e59530dd412d779e0b045079b72ffb6 Mon Sep 17 00:00:00 2001
From: Vikram Kangotra <vikramkangotra8055@gmail.com>
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<T>::ExtResolver(c
template <class T>
File *VLCTagLib::ExtResolver<T>::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<RIFF::AIFF::File*>(f.file()) )
WriteMetaToId3v2( riff_aiff->tag(), p_item );
else if( RIFF::WAV::File* riff_wav = dynamic_cast<RIFF::WAV::File*>(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<TrueAudio::File*>(f.file()) )
{

View File

@@ -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" );

View File

@@ -1,3 +1,107 @@
-------------------------------------------------------------------
Tue Dec 30 12:53:19 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- 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 <bjorn.lie@gmail.com>
- 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 <dimstar@opensuse.org>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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 <dimstar@opensuse.org>

View File

@@ -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-----

4
vlc.obsinfo Normal file
View File

@@ -0,0 +1,4 @@
name: vlc
version: 3.0.23
mtime: 1766472938
commit: 79128878ddb2c280bbb6c89c76a46b31a80ade1c

110
vlc.spec
View File

@@ -1,7 +1,7 @@
#
# spec file for package vlc
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 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.zst
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,7 +457,11 @@ autoreconf -fiv
--enable-twolame \
--enable-v4l2 \
--enable-vcd \
%if %{with vdpau}
--enable-vdpau \
%else
--disable-vdpau \
%endif
--enable-vorbis \
--enable-xcb \
--enable-xvideo \
@@ -495,13 +475,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 +593,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 +603,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 +615,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 +861,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 +871,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 +936,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 +1118,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 +1138,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 +1146,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 +1168,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 +1180,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 +1200,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