summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch50
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch67
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc_3.0.23.bb (renamed from meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb)16
3 files changed, 8 insertions, 125 deletions
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch
deleted file mode 100644
index 2dff9b63ce..0000000000
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1From 5b921009b0db2c5c15aef7ce241d3c81f9c272c9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 9 Mar 2024 12:26:39 -0800
4Subject: [PATCH] taglib: Fix build on x86 32-bit
5
6While compiling with clang, there are errors seen such as
7on function override signature mismatches
8
9meta_engine/taglib.cpp:240:10: error: virtual function 'tell' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long'))
10 240 | long tell() const
11 | ~~~~ ^
12/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:156:22: note: overridden virtual function is here
13 156 | virtual offset_t tell() const = 0;
14 | ~~~~~~~~ ^
15meta_engine/taglib.cpp:245:10: error: virtual function 'length' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long'))
16 245 | long length()
17 | ~~~~ ^
18/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:161:22: note: overridden virtual function is here
19 161 | virtual offset_t length() = 0;
20 | ~~~~~~~~ ^
21
22Upstream-Status: Submitted [https://mailman.videolan.org/pipermail/vlc-devel/2024-March/143639.html]
23Signed-off-by: Khem Raj <raj.khem@gmail.com>
24---
25 modules/meta_engine/taglib.cpp | 6 +++---
26 1 file changed, 3 insertions(+), 3 deletions(-)
27
28diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp
29index f371485008..129fdf55f1 100644
30--- a/modules/meta_engine/taglib.cpp
31+++ b/modules/meta_engine/taglib.cpp
32@@ -237,12 +237,12 @@ public:
33 return;
34 }
35
36- long tell() const
37+ offset_t tell() const
38 {
39- return m_previousPos;
40+ return (offset_t)m_previousPos;
41 }
42
43- long length()
44+ offset_t length()
45 {
46 uint64_t i_size;
47 if (vlc_stream_GetSize( m_stream, &i_size ) != VLC_SUCCESS)
48--
492.44.0
50
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch
deleted file mode 100644
index f238ff4244..0000000000
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1Fix build with taglib 2.0
2
3Source: https://gitlab.archlinux.org/archlinux/packaging/packages/vlc/-/blob/main/taglib-2.patch?ref_type=heads
4Upstream-Status: Pending
5Signed-off-by: Khem Raj <raj.khem@gmail.com>
6
7--- a/modules/meta_engine/taglib.cpp
8+++ b/modules/meta_engine/taglib.cpp
9@@ -185,7 +185,7 @@ public:
10 ByteVector res(length, 0);
11 ssize_t i_read = vlc_stream_Read( m_stream, res.data(), length);
12 if (i_read < 0)
13- return ByteVector::null;
14+ return ByteVector();
15 else if ((size_t)i_read != length)
16 res.resize(i_read);
17 return res;
18@@ -465,7 +465,7 @@ static void ReadMetaFromASF( ASF::Tag* t
19 static void ReadMetaFromBasicTag(const Tag* tag, vlc_meta_t *dest)
20 {
21 #define SET( accessor, meta ) \
22- if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \
23+ if( !tag->accessor().isEmpty() ) \
24 vlc_meta_Set##meta( dest, tag->accessor().toCString(true) )
25 #define SETINT( accessor, meta ) \
26 if( tag->accessor() ) \
27@@ -806,15 +806,15 @@ static void ReadMetaFromMP4( MP4::Tag* t
28 {
29 MP4::Item list;
30 #define SET( keyName, metaName ) \
31- if( tag->itemListMap().contains(keyName) ) \
32+ if( tag->itemMap().contains(keyName) ) \
33 { \
34- list = tag->itemListMap()[keyName]; \
35+ list = tag->itemMap()[keyName]; \
36 vlc_meta_Set##metaName( p_meta, list.toStringList().front().toCString( true ) ); \
37 }
38 #define SET_EXTRA( keyName, metaName ) \
39- if( tag->itemListMap().contains(keyName) ) \
40+ if( tag->itemMap().contains(keyName) ) \
41 { \
42- list = tag->itemListMap()[keyName]; \
43+ list = tag->itemMap()[keyName]; \
44 vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \
45 }
46
47@@ -824,9 +824,9 @@ static void ReadMetaFromMP4( MP4::Tag* t
48 #undef SET
49 #undef SET_EXTRA
50
51- if( tag->itemListMap().contains("covr") )
52+ if( tag->itemMap().contains("covr") )
53 {
54- MP4::CoverArtList list = tag->itemListMap()["covr"].toCoverArtList();
55+ MP4::CoverArtList list = tag->itemMap()["covr"].toCoverArtList();
56 const char *psz_format = list[0].format() == MP4::CoverArt::PNG ? "image/png" : "image/jpeg";
57
58 msg_Dbg( p_demux_meta, "Found embedded art (%s) is %i bytes",
59@@ -1337,7 +1337,7 @@ static int WriteMeta( vlc_object_t *p_th
60 if( RIFF::AIFF::File* riff_aiff = dynamic_cast<RIFF::AIFF::File*>(f.file()) )
61 WriteMetaToId3v2( riff_aiff->tag(), p_item );
62 else if( RIFF::WAV::File* riff_wav = dynamic_cast<RIFF::WAV::File*>(f.file()) )
63- WriteMetaToId3v2( riff_wav->tag(), p_item );
64+ WriteMetaToId3v2( riff_wav->ID3v2Tag(), p_item );
65 }
66 else if( TrueAudio::File* trueaudio = dynamic_cast<TrueAudio::File*>(f.file()) )
67 {
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.23.bb
index 2d2ecc63b9..d17357b727 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.23.bb
@@ -23,10 +23,8 @@ SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \
23 file://0004-Use-packageconfig-to-detect-mmal-support.patch \ 23 file://0004-Use-packageconfig-to-detect-mmal-support.patch \
24 file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \ 24 file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \
25 file://0006-configure-Disable-incompatible-function-pointer-type.patch \ 25 file://0006-configure-Disable-incompatible-function-pointer-type.patch \
26 file://taglib-2.patch \
27 file://0001-taglib-Fix-build-on-x86-32-bit.patch \
28" 26"
29SRC_URI[sha256sum] = "24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0" 27SRC_URI[sha256sum] = "e891cae6aa3ccda69bf94173d5105cbc55c7a7d9b1d21b9b21666e69eff3e7e0"
30inherit autotools-brokensep features_check gettext pkgconfig mime-xdg 28inherit autotools-brokensep features_check gettext pkgconfig mime-xdg
31 29
32REQUIRED_DISTRO_FEATURES = "x11" 30REQUIRED_DISTRO_FEATURES = "x11"
@@ -44,7 +42,6 @@ EXTRA_OECONF = "\
44 --without-contrib \ 42 --without-contrib \
45 --without-kde-solid \ 43 --without-kde-solid \
46 --enable-realrtsp \ 44 --enable-realrtsp \
47 --disable-libtar \
48 --enable-avcodec \ 45 --enable-avcodec \
49 ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \ 46 ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \
50 ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \ 47 ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \
@@ -94,7 +91,12 @@ PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
94PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" 91PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
95PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" 92PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
96PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" 93PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
97PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native" 94PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native wayland-protocols"
95
96do_configure:prepend() {
97 # use wayland-scanner from native sysroot instead of build host
98 sed -i 's,\(WAYLAND_SCANNER=\).*,\1${STAGING_BINDIR_NATIVE}/wayland-scanner,' configure.ac
99}
98 100
99do_configure:append() { 101do_configure:append() {
100 # moc needs support: precreate build paths 102 # moc needs support: precreate build paths
@@ -117,7 +119,7 @@ FILES:${PN} += "\
117 ${datadir}/applications \ 119 ${datadir}/applications \
118 ${datadir}/vlc/ \ 120 ${datadir}/vlc/ \
119 ${datadir}/icons \ 121 ${datadir}/icons \
120 ${datadir}/metainfo/vlc.appdata.xml \ 122 ${datadir}/metainfo/org.videolan.vlc.appdata.xml \
121" 123"
122 124
123FILES:${PN}-dbg += "\ 125FILES:${PN}-dbg += "\
@@ -132,5 +134,3 @@ FILES:${PN}-staticdev += "\
132INSANE_SKIP:${PN} = "dev-so" 134INSANE_SKIP:${PN} = "dev-so"
133 135
134EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" 136EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}"
135
136SKIP_RECIPE[vlc] = "requires porting to ffmpeg >= 7 as of ffmpeg >= 5 it requires extensive changes disabling VAAPI (only supported with vlc >= 4)"