浏览代码

rpidistro-vlc: upgrade 3.0.12 -> 3.0.17

Update is also meant to fix bug where if x11
isn't define in DISTRO_FEATURES builds will
fail to compile.

Upgrades version of VLC to 3.0.17
* Reason for update with version 3.0.12 compiling
  using GLESv2 and without x11/wayland defined in
  DISTRO_FEATURES it was proven to be difficult.
  Newer version of VLC appears to have better support
  for GLESv2 as there was far less hurdles.
* SRCREV set to b276eb0d7bc3213363e97dbb681ef7c927be6c73

Updates to PACKAGECONFIG
* Only include GLESv2 if opengl defined in DISTRO_FEATURES
* Only include libnotify is x11 included in DISTRO_FEATURES.
  Not checking for wayland as well because wayland integration
  requires a separate MR.
* remove ability to set certain flags as they require
  significant more development time to integrate. Probably
  best to include in separate MR.
  Flags for:
  - opencv
  - freerdp
  - samba
  - dvdread
  - vdpau
  - wayland
  - dca

Removal of
--------------------------------------------------------
TARGET_CFLAGS:append = " -fcommon"
TARGET_CXXFLAGS:append = " -fcommon"
--------------------------------------------------------
as define in configure.ac via the
3001-configure.ac-setup-for-OE-usage.patch patch

Removes extraneous sed operations in the do_configure
takes. Appears to nolonger be required.

Adds required flags to build that couldn't be set in configure.ac
------------------------------------------------------------------
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES',
                          'opengl', '-lGLESv2', '', d)}"
------------------------------------------------------------------

Replaces patches with updated patches used in actual commit.
Prepend patches that are from meta-openembedded/meta-multimedia
to 2XXX-<PATCH NAME>.patch. Adds nine new patches to fix ./configure,
compile, runtime bugs.

PATCHES:
- 3001-configure.ac-setup-for-OE-usage.patch
* Used to ensure crossed compilted OE libraries are used during
  compilation. Specifically for the mmal and omxil libraries.

- 3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch
* Appears to be missing EGL preprocesor directives patch
  defines them. The function createImageKHR also appears
  to return EGLImageKHR not EGLImage patch updates. To
  accommodate for change.

- 3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch
* Configures omxil_core.c for OE usages as libbcm_host.so
  and libopenmaxil.so are located in a different location.

- 3004-use-GLESv2-headers-over-GL-headers.patch
* Ensures GLESv2 headers are used over OpenGL headers.

- 3005-modules-remove-glspectrum-usage.patch
* Removes glspectrum plugin as it appears to require
  normal OpenGL and not GLESv2 for usage.

- 3006-codec-omxil_core.h-fix-multiple-definition-of.patch
* Removes compile error due to function pointer in omxil_core.h
  header being defined multiple times as the header is included
  in multiple c source files.

- 3007-remove-xorg-related-link-libs.patch
* Removes xorg related flags if x11 isn't defined in
  DISTRO_FEATURES variable.

- 3008-vo-Makefile.am-exclude-libgl_plugin.patch
* Removes the libgl_plugin from being built if opengl
  not defined in DISTRO_FEATURES variable.

- 3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch
* Appears to be missing EGL preprocesor directives patch
  defines them.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Vincent Davis Jr 2 年之前
父节点
当前提交
e493266180
共有 22 个文件被更改,包括 986 次插入286 次删除
  1. 7 1
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0001-configure-fix-linking-on-RISC-V-ISA.patch
  2. 7 2
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0002-Revert-configure-Require-libmodplug-0.8.9.patch
  3. 83 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0003-CVE-2022-41325.patch
  4. 129 126
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0004-mmal_20.patch
  5. 5 2
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0005-mmal_exit_fix.patch
  6. 0 56
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0006-Use-packageconfig-to-detect-mmal-support.patch
  7. 5 2
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0006-mmal_chain.patch
  8. 53 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0007-armv6.patch
  9. 0 18
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0007-use-vorbisidec.patch
  10. 0 35
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0010-fix-numeric_limits-is-not-a-member-of-std.patch
  11. 4 1
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/2001-fix-luaL-checkint.patch
  12. 33 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/2002-use-vorbisidec.patch
  13. 124 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3001-configure.ac-setup-for-OE-usage.patch
  14. 5 2
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch
  15. 43 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch
  16. 60 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3004-use-GLESv2-headers-over-GL-headers.patch
  17. 149 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3005-modules-remove-glspectrum-usage.patch
  18. 43 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3006-codec-omxil_core.h-fix-multiple-definition-of.patch
  19. 36 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3007-remove-xorg-related-link-libs.patch
  20. 97 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3008-vo-Makefile.am-exclude-libgl_plugin.patch
  21. 59 0
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch
  22. 44 41
      dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb

+ 7 - 1
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0001-configure-fix-linking-on-RISC-V-ISA.patch

@@ -2,11 +2,17 @@ From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= <remi@remlab.net>
 Date: Sat, 16 Jun 2018 21:31:45 +0300
 Subject: configure: fix linking on RISC-V ISA
 
-Upstream-status: Pending
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
+
 ---
  configure.ac | 1 +
  1 file changed, 1 insertion(+)
 
+diff --git a/configure.ac b/configure.ac
+index 2037a9e..df26367 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -113,6 +113,7 @@ case "${host_os}" in

+ 7 - 2
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0002-Revert-configure-Require-libmodplug-0.8.9.patch

@@ -2,13 +2,18 @@ From: Sebastian Ramacher <sramacher@debian.org>
 Date: Mon, 19 Aug 2019 21:08:26 +0200
 Subject: Revert "configure: Require libmodplug >= 0.8.9"
 
-This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
 
-Upstream-status: Pending
+This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
 ---
  configure.ac | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
+diff --git a/configure.ac b/configure.ac
+index df26367..b8580ec 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -2207,7 +2207,7 @@ AC_ARG_ENABLE(mod,

+ 83 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0003-CVE-2022-41325.patch

@@ -0,0 +1,83 @@
+From 4fcace61801f418786c42487c6b06b693ee87666 Mon Sep 17 00:00:00 2001
+From: Romain Vimont <rom1v@videolabs.io>
+Date: Mon, 19 Sep 2022 17:17:01 +0200
+Subject: [PATCH] vnc: fix possible buffer overflow
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
+
+Thanks to 0xMitsurugi [1] from Synacktiv [2] for the bug report and fix.
+
+[1] https://twitter.com/0xMitsurugi
+[2] https://www.synacktiv.com/
+
+Fixes #27335
+
+(cherry picked from commit 5eb783fd44ed6298db3e38f7765f21c42e4405f9)
+---
+ modules/access/vnc.c | 23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+--- a/modules/access/vnc.c
++++ b/modules/access/vnc.c
+@@ -33,6 +33,7 @@
+ #ifdef HAVE_CONFIG_H
+ # include "config.h"
+ #endif
++#include <assert.h>
+ 
+ #include <vlc_common.h>
+ #include <vlc_plugin.h>
+@@ -115,7 +116,7 @@
+     int i_cancel_state;
+ 
+     rfbClient* p_client;
+-    int i_framebuffersize;
++    size_t i_framebuffersize;
+     block_t *p_block;
+ 
+     float f_fps;
+@@ -143,11 +144,16 @@
+         p_sys->es = NULL;
+     }
+ 
+-    int i_width = p_client->width;
+-    int i_height = p_client->height;
+-    int i_depth = p_client->format.bitsPerPixel;
++    assert(!(p_client->width & ~0xffff)); // fits in 16 bits
++    uint16_t i_width = p_client->width;
+ 
+-    switch( i_depth )
++    assert(!(p_client->height & ~0xffff)); // fits in 16 bits
++    uint16_t i_height = p_client->height;
++
++    uint8_t i_bits_per_pixel = p_client->format.bitsPerPixel;
++    assert((i_bits_per_pixel & 0x7) == 0); // multiple of 8
++
++    switch( i_bits_per_pixel )
+     {
+         case 8:
+             i_chroma = VLC_CODEC_RGB8;
+@@ -180,7 +186,10 @@
+     }
+ 
+     /* Set up framebuffer */
+-    p_sys->i_framebuffersize = i_width * i_height * i_depth / 8;
++    if (mul_overflow(i_width, i_height * (i_bits_per_pixel / 8), &p_sys->i_framebuffersize)) {
++        msg_Err(p_demux, "VNC framebuffersize overflow");
++        return FALSE;
++    }
+ 
+     /* Reuse unsent block */
+     if ( p_sys->p_block )
+@@ -211,7 +220,7 @@
+     fmt.video.i_frame_rate_base = 1000;
+     fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
+ 
+-    fmt.video.i_bits_per_pixel = i_depth;
++    fmt.video.i_bits_per_pixel = i_bits_per_pixel;
+     fmt.video.i_rmask = p_client->format.redMax << p_client->format.redShift;
+     fmt.video.i_gmask = p_client->format.greenMax << p_client->format.greenShift;
+     fmt.video.i_bmask = p_client->format.blueMax << p_client->format.blueShift;

文件差异内容过多而无法显示
+ 129 - 126
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0004-mmal_20.patch


+ 5 - 2
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0004-mmal_exit_fix.patch → dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0005-mmal_exit_fix.patch

@@ -1,4 +1,7 @@
-Upstream-status: Pending
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
 
 --- a/bin/vlc.c
 +++ b/bin/vlc.c
@@ -12,5 +15,5 @@ Upstream-status: Pending
 +//    signal (SIGINT, SIG_DFL);
 +    _exit(0);
  }
-
+ 
  /*****************************************************************************

+ 0 - 56
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0006-Use-packageconfig-to-detect-mmal-support.patch

@@ -1,56 +0,0 @@
-From: Vincent Davis Jr <vince@underview.tech>
-Date: Fri, 07 Jan 2022 07:10:47 PM CST
-Subject: [PATCH] Use packageconfig to acquire mmal flags
-
-Need to use userland graphics libraries package files as it's best to not assume /opt/vc is where
-all libs and headers are installed per distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
-AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`. Adding $BCMHOST_MMAL_LIBS uses all
-libs inside bcm_host,mmal,vcsm,openmaxil .pc files when checking for `vc_tv_unregister_callback_full`
-function.
-
-Upstream-status: Pending
-
-Signed-off-by: Vincent Davis Jr <vince@underview.tech>
-diff --git a/configure.ac b/configure.ac
-index bff220510..4d487409d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3483,23 +3483,25 @@ AC_ARG_ENABLE(mmal_avcodec,
-     [Use MMAL enabled avcodec libs (default disable)]))
- if test "${enable_mmal}" != "no"; then
-   VLC_SAVE_FLAGS
--  LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
--  CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
--  AC_CHECK_HEADERS(interface/mmal/mmal.h,
--    [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
-+  PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
-+    HAVE_MMAL=yes
-+    AC_CHECK_HEADERS(interface/mmal/mmal.h,
-+      [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
-         have_mmal="yes"
--        VLC_ADD_PLUGIN([mmal])
--        VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
--        VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
--        VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
-+        VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
-+        VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
-+        VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS]) ], [
-           AS_IF([test "${enable_mmal}" = "yes"],
-             [ AC_MSG_ERROR([Cannot find bcm library...]) ],
-             [ AC_MSG_WARN([Cannot find bcm library...]) ])
--          ],
--        [])
--    ] , [ AS_IF([test "${enable_mmal}" = "yes"],
--      [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
--      [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
-+        ],[])
-+      ],[ AS_IF([test "${enable_mmal}" = "yes"],
-+        [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
-+        [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
-+  ],:[
-+    AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
-+    HAVE_MMAL=no
-+  ])
-   VLC_RESTORE_FLAGS
- fi
- AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])

+ 5 - 2
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0005-mmal_chain.patch → dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0006-mmal_chain.patch

@@ -1,10 +1,13 @@
-Upstream-status: Pending
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
 
 --- a/modules/video_chroma/chain.c
 +++ b/modules/video_chroma/chain.c
 @@ -280,8 +280,9 @@ static int BuildTransformChain( filter_t
          return VLC_SUCCESS;
-
+ 
      /* Lets try resize+chroma first, then transform */
 -    msg_Dbg( p_filter, "Trying to build chroma+resize" );
 -    EsFormatMergeSize( &fmt_mid, &p_filter->fmt_out, &p_filter->fmt_in );

+ 53 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0007-armv6.patch

@@ -0,0 +1,53 @@
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
+
+--- a/modules/hw/mmal/blend_rgba_neon.S
++++ b/modules/hw/mmal/blend_rgba_neon.S
+@@ -1,10 +1,10 @@
+-        .syntax unified
+-        .arm
+-//      .thumb
+-        .text
++#include "../../arm_neon/asm.S"
+         .align 16
+         .arch armv7-a
+-        .fpu neon-vfpv4
++        .syntax unified
++#if HAVE_AS_FPU_DIRECTIVE
++        .fpu    neon-vfpv4
++#endif
+ 
+ @ blend_rgbx_rgba_neon
+ 
+--- a/modules/hw/mmal/codec.c
++++ b/modules/hw/mmal/codec.c
+@@ -29,6 +29,7 @@
+ #include <stdatomic.h>
+ 
+ #include <vlc_common.h>
++#include <vlc_cpu.h>
+ #include <vlc_plugin.h>
+ #include <vlc_codec.h>
+ #include <vlc_filter.h>
+@@ -2311,6 +2312,9 @@ static int OpenBlendMmal(vlc_object_t *o
+     filter_t * const p_filter = (filter_t *)object;
+     const vlc_fourcc_t vfcc_dst = p_filter->fmt_out.video.i_chroma;
+ 
++    if (!vlc_CPU_ARM_NEON())
++        return VLC_EGENERIC;
++
+     if (!hw_mmal_chroma_is_mmal(vfcc_dst) ||
+         !hw_mmal_vzc_subpic_fmt_valid(&p_filter->fmt_in.video))
+     {
+@@ -2421,6 +2425,9 @@ static int OpenBlendNeon(vlc_object_t *o
+     MMAL_FOURCC_T mfcc_dst = vlc_to_mmal_video_fourcc(&p_filter->fmt_out.video);
+     blend_neon_fn * blend_fn = (blend_neon_fn *)0;
+ 
++    if (!vlc_CPU_ARM_NEON())
++        return VLC_EGENERIC;
++
+     // Non-alpha RGB only for dest
+     if (vfcc_dst != VLC_CODEC_RGB32)
+         return VLC_EGENERIC;

+ 0 - 18
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0007-use-vorbisidec.patch

@@ -1,18 +0,0 @@
-* tremor provides libvorbisidec, use it instead of libvorbisdec
-
-Upstream-status: Pending
-
-Signed-off-by: Tim Orling <TicoTimo@gmail.com>
-
-Index: vlc-2.2.1/modules/codec/Makefile.am
-===================================================================
---- vlc-2.2.1.orig/modules/codec/Makefile.am
-+++ vlc-2.2.1/modules/codec/Makefile.am
-@@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora)
- libtremor_plugin_la_SOURCES = codec/vorbis.c
- libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
- libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
--libtremor_plugin_la_LIBADD = -lvorbisdec -logg
-+libtremor_plugin_la_LIBADD = -lvorbisidec -logg
- EXTRA_LTLIBRARIES += libtremor_plugin.la
- codec_LTLIBRARIES += $(LTLIBtremor)

+ 0 - 35
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0010-fix-numeric_limits-is-not-a-member-of-std.patch

@@ -1,35 +0,0 @@
-From: Vincent Davis Jr <vince@underview.tech>
-Date: Fri, 07 Jan 2022 07:10:47 PM CST
-Subject: [PATCH] Fix numeric limits not a member
-
-* Fixes bellow compiler issue:
-  ../../git/modules/demux/adaptive/playlist/SegmentInformation.cpp:397:23: error: 'numeric_limits' is not a member of 'std'
-  397 |     if(number == std::numeric_limits<uint64_t>::max())
-
-Upstream-status: Pending
-
-Signed-off-by: Vincent Davis Jr <vince@underview.tech>
-diff --git a/modules/demux/adaptive/playlist/SegmentInformation.cpp b/modules/demux/adaptive/playlist/SegmentInformation.cpp
-index 344e155c7..8eeb05439 100644
---- a/modules/demux/adaptive/playlist/SegmentInformation.cpp
-+++ b/modules/demux/adaptive/playlist/SegmentInformation.cpp
-@@ -34,6 +34,7 @@
-
- #include <algorithm>
- #include <cassert>
-+#include <limits>
-
- using namespace adaptive::playlist;
-
-diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp
-index 67110e4cd..743969922 100644
---- a/modules/demux/hls/playlist/Parser.cpp
-+++ b/modules/demux/hls/playlist/Parser.cpp
-@@ -42,6 +42,7 @@
- #include <map>
- #include <cctype>
- #include <algorithm>
-+#include <limits>
-
- using namespace adaptive;
- using namespace adaptive::playlist;

+ 4 - 1
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0008-fix-luaL-checkint.patch → dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/2001-fix-luaL-checkint.patch

@@ -1,7 +1,10 @@
 * luaL_checkint and luaL_optint were deprecated in lua 5.3
 * replacement functions are luaL_checkinteger and luaL_optinteger
 
-Upstream-status: Pending
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches to enable
+raspiberry pi support.
 
 Signed-off-by: Tim Orling <TicoTimo@gmail.com>
 

+ 33 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/2002-use-vorbisidec.patch

@@ -0,0 +1,33 @@
+From d0a7ba506fd302ad195f79f287b5a5a154ac02a3 Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Sun, 4 Dec 2022 16:09:51 -0600
+Subject: [PATCH] tremor provides libvorbisidec, use it instead of libvorbisdec
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches to enable
+raspiberry pi support.
+
+THIS PATCHES HAS BEEN REIMPLEMENTED INORDER TO APPLY PROPERLY.
+
+Signed-off-by: Tim Orling <TicoTimo@gmail.com>
+---
+ modules/codec/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
+index 3dadf1119..8b6189e92 100644
+--- a/modules/codec/Makefile.am
++++ b/modules/codec/Makefile.am
+@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
+ libtremor_plugin_la_SOURCES = codec/vorbis.c
+ libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
+ libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
+-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
++libtremor_plugin_la_LIBADD = -lvorbisidec -logg
+ EXTRA_LTLIBRARIES += libtremor_plugin.la
+ codec_LTLIBRARIES += $(LTLIBtremor)
+ 
+-- 
+2.38.1
+

+ 124 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3001-configure.ac-setup-for-OE-usage.patch

@@ -0,0 +1,124 @@
+From ddc2ea76058466b45a1acf37bed0d794cd3112a3 Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Fri, 9 Dec 2022 19:04:42 -0600
+Subject: [PATCH] configure.ac: setup for OE usage
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches to enable
+raspiberry pi support.
+
+Need to use userland graphics libraries package files as it's best
+to not assume /opt/vc is where all libs and headers are installed per
+distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
+AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`.
+Adding $BCMHOST_MMAL_LIBS uses all libs inside
+bcm_host.pc, mmal.pc, vcsm.pc, openmaxil.pc files when checking
+for `vc_tv_unregister_callback_full` function.
+
+Supposed to change linked version to opengl to GLESv2
+
+Ensure correct package config file is used for:
+* opencv
+* freerdp
+
+Adds Workaround for modules/codec/omxil/omxil_core.h
+   multiple definition of `pf_enable_graphic_buffers'
+   multiple definition of `pf_get_graphic_buffer_usage'
+   multiple definition of `pf_get_hal_format'
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ configure.ac | 34 ++++++++++++++++++++++------------
+ 1 file changed, 22 insertions(+), 12 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a72dca0b6..5b8585a26 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,6 +95,13 @@ AS_IF([test -n "${with_binary_version}"],[
+          [Binary specific version])
+ ])
+ 
++# Workaround for modules/codec/omxil/omxil_core.h
++#   multiple definition of `pf_enable_graphic_buffers'
++#   multiple definition of `pf_get_graphic_buffer_usage'
++#   multiple definition of `pf_get_hal_format'
++AC_SUBST([AM_CXXFLAGS], [-fcommon])
++AC_SUBST([AM_CFLAGS], [-fcommon])
++
+ dnl Prevent clang from accepting unknown flags with a mere warning
+ AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
+ AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
+@@ -1900,7 +1907,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.6.2], (libbluray f
+ dnl
+ dnl  OpenCV wrapper and example filters
+ dnl
+-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
++PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv4 >= 2.0], (OpenCV (computer vision) filter), [auto])
+ 
+ 
+ dnl
+@@ -2077,7 +2084,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
+ 
+ dnl  RDP/Remote Desktop access module
+ dnl
+-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
++PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
+ 
+ dnl
+ dnl  Real RTSP plugin
+@@ -3089,14 +3096,14 @@ PKG_CHECK_MODULES([GL], [gl], [
+ #ifdef _WIN32
+ # include <GL/glew.h>
+ #endif
+-#include <GL/gl.h>
++#include <GLES2/gl2.h>
+ ]], [
+     [int t0 = GL_TEXTURE0;]])
+   ], [
+     GL_CFLAGS=""
+     have_gl="yes"
+     AS_IF([test "${SYS}" != "mingw32"], [
+-      GL_LIBS="-lGL"
++      GL_LIBS="-lGLESv2"
+     ], [
+       GL_LIBS="-lopengl32"
+     ])
+@@ -3483,15 +3490,14 @@ AC_ARG_ENABLE(mmal_avcodec,
+     [Use MMAL enabled avcodec libs (default disable)]))
+ if test "${enable_mmal}" != "no"; then
+   VLC_SAVE_FLAGS
+-  LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
+-  CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
+-  AC_CHECK_HEADERS(interface/mmal/mmal.h,
+-    [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
++  PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
++    HAVE_MMAL=yes
++    AC_CHECK_HEADERS(interface/mmal/mmal.h,
++      [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
+         have_mmal="yes"
+-        VLC_ADD_PLUGIN([mmal])
+-        VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
+-        VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
+-        VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
++        VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
++        VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
++        VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS -lmmal_components]) ], [
+           AS_IF([test "${enable_mmal}" = "yes"],
+             [ AC_MSG_ERROR([Cannot find bcm library...]) ],
+             [ AC_MSG_WARN([Cannot find bcm library...]) ])
+@@ -3500,6 +3506,10 @@ if test "${enable_mmal}" != "no"; then
+     ] , [ AS_IF([test "${enable_mmal}" = "yes"],
+       [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
+       [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
++  ],:[
++    AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
++    HAVE_MMAL=NO
++  ])
+   VLC_RESTORE_FLAGS
+ fi
+ AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
+-- 
+2.38.1
+

+ 5 - 2
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0009-fix-EGL-macro-undeclared-and-EGLImageKHR.patch → dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch

@@ -2,11 +2,14 @@ From: Vincent Davis Jr <vince@underview.tech>
 Date: Fri, 07 Jan 2022 07:01:47 PM CST
 Subject: [PATCH] Fix EGL macro undeclared and EGLImageKHR
 
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches to enable
+raspiberry pi support.
+
 * Fixes compiler issues related to EGL macro constant/enum value type not being defined
 * Updates EGLImage to EGLImageKHR
 
-Upstream-status: Pending
-
 Signed-off-by: Vincent Davis Jr <vince@underview.tech>
 diff --git a/modules/hw/mmal/converter_mmal.c b/modules/hw/mmal/converter_mmal.c
 index f31cb81d8..426af668b 100644

+ 43 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch

@@ -0,0 +1,43 @@
+From 85f6603aca1d174848b42e696a4cff8af57613d6 Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Thu, 8 Dec 2022 23:38:36 -0600
+Subject: [PATCH] codec: omxil_core replace /opt/vc path with /usr/lib
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo clones original VLC and applies patches to enable
+raspiberry pi support.
+
+Configures omxil_core.c for OE usages as libbcm_host.so
+and libopenmaxil.so are located in a different location.
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ modules/codec/omxil/omxil_core.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules/codec/omxil/omxil_core.c b/modules/codec/omxil/omxil_core.c
+index 5098f517a..5922d9034 100644
+--- a/modules/codec/omxil/omxil_core.c
++++ b/modules/codec/omxil/omxil_core.c
+@@ -56,7 +56,7 @@ static const char *ppsz_dll_list[] =
+ #if defined(USE_IOMX)
+     "libiomx.so", /* Not used when using IOMX, the lib should already be loaded */
+ #elif defined(RPI_OMX)
+-    "/opt/vc/lib/libopenmaxil.so",  /* Broadcom IL core */
++    "/usr/lib/libopenmaxil.so",  /* Broadcom IL core */
+ #elif 1
+     "libOMX_Core.so", /* TI OMAP IL core */
+     "libOmxCore.so", /* Qualcomm IL core */
+@@ -70,7 +70,7 @@ static const char *ppsz_dll_list[] =
+ #ifdef RPI_OMX
+ static const char *ppsz_extra_dll_list[] =
+ {
+-    "/opt/vc/lib/libbcm_host.so",  /* Broadcom host library */
++    "/usr/lib/libbcm_host.so",  /* Broadcom host library */
+     0
+ };
+ #endif
+-- 
+2.38.1
+

+ 60 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3004-use-GLESv2-headers-over-GL-headers.patch

@@ -0,0 +1,60 @@
+From 377a67af6c3f7c38f6f7ba24f042ba1a6cfd3f24 Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Fri, 9 Dec 2022 00:21:43 -0600
+Subject: [PATCH] use GLESv2 headers over GL headers
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches to enable
+raspiberry pi support.
+
+We utilize GLESv2 during compilation. Patches ensures
+we utilize headers for it.
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ modules/video_output/opengl/converter.h | 12 +++---------
+ modules/visualization/glspectrum.c      |  4 +++-
+ 2 files changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h
+index 7000e1f38..a3fe32671 100644
+--- a/modules/video_output/opengl/converter.h
++++ b/modules/video_output/opengl/converter.h
+@@ -41,15 +41,9 @@
+ #  include <OpenGLES/ES2/glext.h>
+ # endif
+ #else /* !defined (__APPLE__) */
+-# if defined (USE_OPENGL_ES2)
+-#  include <GLES2/gl2.h>
+-#  include <GLES2/gl2ext.h>
+-# else
+-#  ifdef _WIN32
+-#   include <GL/glew.h>
+-#  endif
+-#  include <GL/gl.h>
+-# endif
++#define USE_OPENGL_ES2
++#include <GLES2/gl2.h>
++#include <GLES2/gl2ext.h>
+ #endif
+ 
+ #define VLCGL_PICTURE_MAX 128
+diff --git a/modules/visualization/glspectrum.c b/modules/visualization/glspectrum.c
+index 06f8d1bdf..470080b1a 100644
+--- a/modules/visualization/glspectrum.c
++++ b/modules/visualization/glspectrum.c
+@@ -37,7 +37,9 @@
+ #ifdef __APPLE__
+ # include <OpenGL/gl.h>
+ #else
+-# include <GL/gl.h>
++#define USE_OPENGL_ES2
++#include <GLES2/gl2.h>
++#include <GLES2/gl2ext.h>
+ #endif
+ 
+ #include <math.h>
+-- 
+2.38.1
+

+ 149 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3005-modules-remove-glspectrum-usage.patch

@@ -0,0 +1,149 @@
+From 5f1bb5889d838719e381350b25c00ef3a75d0e02 Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Fri, 9 Dec 2022 01:07:55 -0600
+Subject: [PATCH] modules: remove glspectrum usage
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches to enable
+raspiberry pi support.
+
+The glspectrum modules requries OpenGL
+while we only want to utilize GLESv2.
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ modules/Makefile.in               | 24 ------------------------
+ modules/visualization/Makefile.am | 10 ----------
+ 2 files changed, 34 deletions(-)
+
+diff --git a/modules/Makefile.in b/modules/Makefile.in
+index bde45db53..c9c4342ad 100644
+--- a/modules/Makefile.in
++++ b/modules/Makefile.in
+@@ -481,7 +481,6 @@ TESTS = hpack_test$(EXEEXT) hpackenc_test$(EXEEXT) \
+ @HAVE_WIN32_FALSE@am__append_247 = $(X_LIBS) $(X_PRE_LIBS) -lX11
+ @HAVE_DARWIN_FALSE@@HAVE_WIN32_FALSE@am__append_248 = $(X_LIBS) $(X_PRE_LIBS) -lX11
+ @HAVE_EVAS_TRUE@am__append_249 = libevas_plugin.la
+-@HAVE_GL_TRUE@am__append_250 = libglspectrum_plugin.la
+ @ENABLE_SOUT_TRUE@@HAVE_GCRYPT_TRUE@am__append_251 = libaccess_output_livehttp_plugin.la
+ @ENABLE_SOUT_TRUE@am__append_252 = libaccess_output_shout_plugin.la \
+ @ENABLE_SOUT_TRUE@	libaccess_output_srt_plugin.la \
+@@ -2028,13 +2027,7 @@ libgles2_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ 	$(libgles2_plugin_la_CFLAGS) $(CFLAGS) \
+ 	$(libgles2_plugin_la_LDFLAGS) $(LDFLAGS) -o $@
+-libglspectrum_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ 	$(am__DEPENDENCIES_1)
+-am_libglspectrum_plugin_la_OBJECTS = visualization/glspectrum.lo \
+-	visualization/visual/fft.lo visualization/visual/window.lo
+-libglspectrum_plugin_la_OBJECTS =  \
+-	$(am_libglspectrum_plugin_la_OBJECTS)
+-@HAVE_GL_TRUE@am_libglspectrum_plugin_la_rpath = -rpath $(visudir)
+ libglwin32_plugin_la_DEPENDENCIES = libchroma_copy.la \
+ 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_5)
+ am__objects_23 =  \
+@@ -6507,7 +6500,6 @@ am__depfiles_remade =  \
+ 	video_splitter/$(DEPDIR)/clone.Plo \
+ 	video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo \
+ 	video_splitter/$(DEPDIR)/wall.Plo \
+-	visualization/$(DEPDIR)/glspectrum.Plo \
+ 	visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo \
+ 	visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo \
+ 	visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo \
+@@ -6731,7 +6723,6 @@ SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
+ 	$(libglconv_vaapi_x11_plugin_la_SOURCES) \
+ 	$(libglconv_vdpau_plugin_la_SOURCES) \
+ 	$(libgles2_plugin_la_SOURCES) \
+-	$(libglspectrum_plugin_la_SOURCES) \
+ 	$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
+ 	$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
+ 	$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
+@@ -7130,7 +7121,6 @@ DIST_SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
+ 	$(libglconv_vaapi_x11_plugin_la_SOURCES) \
+ 	$(libglconv_vdpau_plugin_la_SOURCES) \
+ 	$(libgles2_plugin_la_SOURCES) \
+-	$(libglspectrum_plugin_la_SOURCES) \
+ 	$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
+ 	$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
+ 	$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
+@@ -12696,13 +12686,6 @@ libevent_thread_la_LDFLAGS = -static
+ visudir = $(pluginsdir)/visualization
+ visu_LTLIBRARIES = $(am__append_250) $(LTLIBgoom) $(LTLIBprojectm) \
+ 	libvisual_plugin.la $(LTLIBvsxu)
+-libglspectrum_plugin_la_SOURCES = \
+-	visualization/glspectrum.c \
+-	visualization/visual/fft.c visualization/visual/fft.h \
+-	visualization/visual/window.c visualization/visual/window.h \
+-	visualization/visual/window_presets.h
+-
+-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
+ libgoom_plugin_la_SOURCES = visualization/goom.c
+ libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
+ libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
+@@ -15715,8 +15698,6 @@ visualization/$(am__dirstamp):
+ visualization/$(DEPDIR)/$(am__dirstamp):
+ 	@$(MKDIR_P) visualization/$(DEPDIR)
+ 	@: > visualization/$(DEPDIR)/$(am__dirstamp)
+-visualization/glspectrum.lo: visualization/$(am__dirstamp) \
+-	visualization/$(DEPDIR)/$(am__dirstamp)
+ visualization/visual/$(am__dirstamp):
+ 	@$(MKDIR_P) visualization/visual
+ 	@: > visualization/visual/$(am__dirstamp)
+@@ -15728,8 +15709,6 @@ visualization/visual/fft.lo: visualization/visual/$(am__dirstamp) \
+ visualization/visual/window.lo: visualization/visual/$(am__dirstamp) \
+ 	visualization/visual/$(DEPDIR)/$(am__dirstamp)
+ 
+-libglspectrum_plugin.la: $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_DEPENDENCIES) $(EXTRA_libglspectrum_plugin_la_DEPENDENCIES) 
+-	$(AM_V_CCLD)$(LINK) $(am_libglspectrum_plugin_la_rpath) $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_LIBADD) $(LIBS)
+ video_output/opengl/libglwin32_plugin_la-vout_helper.lo:  \
+ 	video_output/opengl/$(am__dirstamp) \
+ 	video_output/opengl/$(DEPDIR)/$(am__dirstamp)
+@@ -21420,7 +21399,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/clone.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/wall.Plo@am__quote@ # am--include-marker
+-@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/glspectrum.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo@am__quote@ # am--include-marker
+@@ -30324,7 +30302,6 @@ distclean: distclean-recursive
+ 	-rm -f video_splitter/$(DEPDIR)/clone.Plo
+ 	-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
+ 	-rm -f video_splitter/$(DEPDIR)/wall.Plo
+-	-rm -f visualization/$(DEPDIR)/glspectrum.Plo
+ 	-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
+ 	-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
+ 	-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
+@@ -31722,7 +31699,6 @@ maintainer-clean: maintainer-clean-recursive
+ 	-rm -f video_splitter/$(DEPDIR)/clone.Plo
+ 	-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
+ 	-rm -f video_splitter/$(DEPDIR)/wall.Plo
+-	-rm -f visualization/$(DEPDIR)/glspectrum.Plo
+ 	-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
+ 	-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
+ 	-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
+diff --git a/modules/visualization/Makefile.am b/modules/visualization/Makefile.am
+index 10619e030..aafc97f87 100644
+--- a/modules/visualization/Makefile.am
++++ b/modules/visualization/Makefile.am
+@@ -1,16 +1,6 @@
+ visudir = $(pluginsdir)/visualization
+ visu_LTLIBRARIES =
+ 
+-libglspectrum_plugin_la_SOURCES = \
+-	visualization/glspectrum.c \
+-	visualization/visual/fft.c visualization/visual/fft.h \
+-	visualization/visual/window.c visualization/visual/window.h \
+-	visualization/visual/window_presets.h
+-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
+-if HAVE_GL
+-visu_LTLIBRARIES += libglspectrum_plugin.la
+-endif
+-
+ libgoom_plugin_la_SOURCES = visualization/goom.c
+ libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
+ libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
+-- 
+2.38.1
+

+ 43 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3006-codec-omxil_core.h-fix-multiple-definition-of.patch

@@ -0,0 +1,43 @@
+From fd4d233757cc46cd89f68b45ec4b059940dd84ae Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Fri, 9 Dec 2022 19:58:11 -0600
+Subject: [PATCH] codec: omxil_core.h fix multiple definition of
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
+
+Issue occurs during compilation as
+* pf_enable_graphic_buffers
+* pf_get_graphic_buffer_usage
+* pf_get_hal_format
+
+Apears to be defined multiple times as the omxil_core.h
+is included in multiple files.
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ modules/codec/omxil/omxil_core.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/modules/codec/omxil/omxil_core.h b/modules/codec/omxil/omxil_core.h
+index ac3db510b..f6e42f5ed 100644
+--- a/modules/codec/omxil/omxil_core.h
++++ b/modules/codec/omxil/omxil_core.h
+@@ -34,9 +34,9 @@ extern OMX_ERRORTYPE (*pf_component_enum)(OMX_STRING, OMX_U32, OMX_U32);
+ extern OMX_ERRORTYPE (*pf_get_roles_of_component)(OMX_STRING, OMX_U32 *, OMX_U8 **);
+ 
+ /* Extra IOMX android functions. Can be NULL if we don't link with libiomx */
+-OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
+-OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
+-OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
++extern OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
++extern OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
++extern OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
+ 
+ int InitOmxCore(vlc_object_t *p_this);
+ void DeinitOmxCore(void);
+-- 
+2.38.1
+

+ 36 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3007-remove-xorg-related-link-libs.patch

@@ -0,0 +1,36 @@
+From 34e4f4dad923095989ccb0ab8efb883c592bdbfd Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Fri, 9 Dec 2022 20:04:27 -0600
+Subject: [PATCH] remove xorg related link libs
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
+
+If x11 isn't defined in DISTRO_FEATURES
+required xorg related libs are not included
+in recipe-sysroot resulting in compilation
+failure.
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ modules/hw/mmal/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/hw/mmal/Makefile.am b/modules/hw/mmal/Makefile.am
+index 4abe68e2e..86dad2c2d 100644
+--- a/modules/hw/mmal/Makefile.am
++++ b/modules/hw/mmal/Makefile.am
+@@ -8,7 +8,7 @@ libmmal_vout_plugin_la_SOURCES = vout.c mmal_cma.c mmal_picture.c subpic.c\
+   mmal_cma.h mmal_picture.h subpic.h transform_ops.h\
+   mmal_piccpy_neon.S
+ libmmal_vout_plugin_la_CFLAGS = $(AM_CFLAGS)
+-libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm -lX11 -lXrandr
++libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm
+ libmmal_vout_plugin_la_LIBADD = $(LIBS_mmal)
+ mmal_LTLIBRARIES = libmmal_vout_plugin.la
+ 
+-- 
+2.38.1
+

+ 97 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3008-vo-Makefile.am-exclude-libgl_plugin.patch

@@ -0,0 +1,97 @@
+From 28917a258a4173af0abda0eef7faef5cbf95f123 Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Fri, 9 Dec 2022 21:28:48 -0600
+Subject: [PATCH] vo: Makefile.am exclude libgl_plugin
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches
+to enable raspiberry pi support.
+
+In the situation where opengl isn't included in
+DISTRO_FEATURES. We need to exclude the opengl
+vout plugin from being built.
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ modules/video_output/Makefile.am | 64 --------------------------------
+ 1 file changed, 64 deletions(-)
+
+diff --git a/modules/video_output/Makefile.am b/modules/video_output/Makefile.am
+index 78c06cfc4..14a330e68 100644
+--- a/modules/video_output/Makefile.am
++++ b/modules/video_output/Makefile.am
+@@ -57,70 +57,6 @@ if HAVE_TVOS
+ vout_LTLIBRARIES += libvout_ios_plugin.la libglconv_cvpx_plugin.la
+ endif
+ 
+-### OpenGL ###
+-libgles2_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
+-libgles2_plugin_la_CFLAGS = $(AM_CFLAGS) $(GLES2_CFLAGS) -DUSE_OPENGL_ES2 $(OPENGL_COMMONCLFAGS)
+-libgles2_plugin_la_LIBADD = $(GLES2_LIBS) $(LIBM) $(OPENGL_COMMONLIBS)
+-libgles2_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
+-
+-EXTRA_LTLIBRARIES += libgles2_plugin.la
+-vout_LTLIBRARIES += $(LTLIBgles2)
+-
+-libgl_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
+-libgl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) $(OPENGL_COMMONCLFAGS)
+-libgl_plugin_la_LIBADD = $(LIBM) $(OPENGL_COMMONLIBS)
+-if HAVE_WIN32
+-libgl_plugin_la_CFLAGS += -DHAVE_GL_CORE_SYMBOLS
+-libgl_plugin_la_LIBADD += $(GL_LIBS)
+-endif
+-
+-libglconv_vaapi_wl_plugin_la_SOURCES = video_output/opengl/converter_vaapi.c \
+-	video_output/opengl/converter.h \
+-	hw/vaapi/vlc_vaapi.c hw/vaapi/vlc_vaapi.h
+-libglconv_vaapi_wl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) -DHAVE_VA_WL $(LIBVA_WL_CFLAGS)
+-libglconv_vaapi_wl_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
+-	$(LIBVA_WL_LIBS)
+-
+-libglconv_vaapi_x11_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
+-libglconv_vaapi_x11_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_X11
+-libglconv_vaapi_x11_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
+-	$(LIBVA_X11_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
+-
+-libglconv_vaapi_drm_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
+-libglconv_vaapi_drm_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_DRM
+-libglconv_vaapi_drm_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
+-	$(LIBVA_DRM_LIBS)
+-
+-libglconv_vdpau_plugin_la_SOURCES = video_output/opengl/converter_vdpau.c \
+-	video_output/opengl/converter.h hw/vdpau/vlc_vdpau.h
+-libglconv_vdpau_plugin_la_CFLAGS = $(AM_CFLAGS) $(VDPAU_CFLAGS)
+-libglconv_vdpau_plugin_la_LIBADD = $(LIBDL) libvlc_vdpau.la $(X_LIBS) $(X_PRE_LIBS) -lX11
+-
+-if HAVE_GL
+-vout_LTLIBRARIES += libgl_plugin.la
+-if HAVE_EGL
+-if HAVE_VAAPI
+-if HAVE_WAYLAND_EGL
+-if HAVE_VAAPI_WL
+-vout_LTLIBRARIES += libglconv_vaapi_wl_plugin.la
+-endif
+-endif
+-if HAVE_XCB
+-if HAVE_VAAPI_X11
+-vout_LTLIBRARIES += libglconv_vaapi_x11_plugin.la
+-endif
+-endif
+-if HAVE_VAAPI_DRM
+-vout_LTLIBRARIES += libglconv_vaapi_drm_plugin.la
+-endif
+-endif
+-endif # HAVE_EGL
+-
+-if HAVE_VDPAU
+-vout_LTLIBRARIES += libglconv_vdpau_plugin.la
+-endif
+-endif # HAVE_GL
+-
+ ### XCB ###
+ libvlc_xcb_events_la_SOURCES = \
+ 	video_output/xcb/events.c video_output/xcb/events.h
+-- 
+2.38.1
+

+ 59 - 0
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch

@@ -0,0 +1,59 @@
+From 35276c4b02b9114436108e74727d192f1e21f239 Mon Sep 17 00:00:00 2001
+From: Vincent Davis Jr <vince@underview.tech>
+Date: Fri, 9 Dec 2022 23:31:33 -0600
+Subject: [PATCH] vo: converter_vaapi Fix EGL macro undeclared
+
+Upstream-Status: Inappropriate
+
+RPI-Distro repo forks original vlc and applies patches to enable
+raspiberry pi support.
+
+Fixes compiler issues related to EGL macro constant/enum value type
+not being defined
+
+Signed-off-by: Vincent Davis Jr <vince@underview.tech>
+---
+ modules/video_output/opengl/converter_vaapi.c | 27 +++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+diff --git a/modules/video_output/opengl/converter_vaapi.c b/modules/video_output/opengl/converter_vaapi.c
+index cd842f711..59245fe4c 100644
+--- a/modules/video_output/opengl/converter_vaapi.c
++++ b/modules/video_output/opengl/converter_vaapi.c
+@@ -55,6 +55,33 @@
+ 
+ #define DRM_FORMAT_MOD_INVALID  fourcc_mod_code(NONE, DRM_FORMAT_RESERVED)
+ 
++#define EGL_LINUX_DMA_BUF_EXT           0x3270
++#define EGL_LINUX_DRM_FOURCC_EXT        0x3271
++#define EGL_DMA_BUF_PLANE0_FD_EXT       0x3272
++#define EGL_DMA_BUF_PLANE0_OFFSET_EXT   0x3273
++#define EGL_DMA_BUF_PLANE0_PITCH_EXT    0x3274
++#define EGL_DMA_BUF_PLANE1_FD_EXT       0x3275
++#define EGL_DMA_BUF_PLANE1_OFFSET_EXT   0x3276
++#define EGL_DMA_BUF_PLANE1_PITCH_EXT    0x3277
++#define EGL_DMA_BUF_PLANE2_FD_EXT       0x3278
++#define EGL_DMA_BUF_PLANE2_OFFSET_EXT   0x3279
++#define EGL_DMA_BUF_PLANE2_PITCH_EXT    0x327A
++#define EGL_YUV_COLOR_SPACE_HINT_EXT    0x327B
++#define EGL_SAMPLE_RANGE_HINT_EXT       0x327C
++#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT  0x327D
++#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT    0x327E
++#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
++#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
++#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
++#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
++#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
++#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
++#define EGL_DMA_BUF_PLANE3_FD_EXT          0x3440
++#define EGL_DMA_BUF_PLANE3_OFFSET_EXT      0x3441
++#define EGL_DMA_BUF_PLANE3_PITCH_EXT       0x3442
++#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
++#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
++
+ struct priv
+ {
+     struct vlc_vaapi_instance *vainst;
+-- 
+2.38.1
+

+ 44 - 41
dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.12.bb → dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/rpidistro-vlc_3.0.17.bb

@@ -9,17 +9,25 @@ SRC_URI = "\
     git://git@github.com/RPi-Distro/vlc;protocol=https;branch=buster-rpt \
     file://0001-configure-fix-linking-on-RISC-V-ISA.patch \
     file://0002-Revert-configure-Require-libmodplug-0.8.9.patch \
-    file://0003-mmal_20.patch \
-    file://0004-mmal_exit_fix.patch \
-    file://0005-mmal_chain.patch \
-    file://0006-Use-packageconfig-to-detect-mmal-support.patch \
-    file://0007-use-vorbisidec.patch \
-    file://0008-fix-luaL-checkint.patch \
-    file://0009-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
-    file://0010-fix-numeric_limits-is-not-a-member-of-std.patch \
-"
-
-SRCREV = "f7fd69f12a3b89d03768fa3bd468e8f33cd1dc7c"
+    file://0003-CVE-2022-41325.patch \
+    file://0004-mmal_20.patch \
+    file://0005-mmal_exit_fix.patch \
+    file://0006-mmal_chain.patch \
+    file://0007-armv6.patch \
+    file://2001-fix-luaL-checkint.patch \
+    file://2002-use-vorbisidec.patch \
+    file://3001-configure.ac-setup-for-OE-usage.patch \
+    file://3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
+    file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
+    file://3004-use-GLESv2-headers-over-GL-headers.patch \
+    file://3005-modules-remove-glspectrum-usage.patch \
+    file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://3007-remove-xorg-related-link-libs.patch', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'file://3008-vo-Makefile.am-exclude-libgl_plugin.patch', d)} \
+    file://3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch \
+    "
+
+SRCREV = "b276eb0d7bc3213363e97dbb681ef7c927be6c73"
 
 S = "${WORKDIR}/git"
 
@@ -37,24 +45,29 @@ EXTRA_OECONF = "\
     --enable-run-as-root \
     --enable-xvideo \
     --disable-lua \
-    --disable-screen --disable-caca \
+    --disable-screen \
+    --disable-caca \
     --enable-vlm \
     --enable-tremor \
-    --disable-aa --disable-faad \
+    --disable-aa \
+    --disable-faad \
     --enable-dbus \
     --without-contrib \
     --without-kde-solid \
     --enable-realrtsp \
     --disable-libtar \
     --enable-avcodec \
-"
+    --disable-css \
+    "
 
 PACKAGECONFIG ?= "\
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
     ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mmal', d)} \
-    live555 dv1394 notify fontconfig fluidsynth freetype dvdread png udev \
-    x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 gles2 \
-"
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} \
+    ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11', 'notify', '', d)} \
+    live555 dv1394 fontconfig fluidsynth freetype png udev \
+    x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 \
+    "
 
 PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
 PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
@@ -65,13 +78,13 @@ PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${p
 PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
 PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
 PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
-PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
+#PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
 PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
 PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
 PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
-PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
+#PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
 PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
-PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
+#PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
 PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
 PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
 PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
@@ -84,14 +97,14 @@ PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
 PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
 PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
 PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
-PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
+#PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
 PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
-PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb,  xcb-util-keysyms libxpm libxinerama"
+PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
 PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
-PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
+#PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+#PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
 PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
-PACKAGECONFIG[dca] = "--enable-dca,,"
+#PACKAGECONFIG[dca] = "--enable-dca,--disable-dca,libdca"
 PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
 PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
 PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
@@ -105,25 +118,15 @@ PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
 PACKAGECONFIG[sdl-image] = "--enable-sdl-image,,libsdl-image"
 PACKAGECONFIG[v4l2] = "--enable-v4l2,,v4l-utils"
 
-# Workaround for modules/codec/omxil/omxil_core.h
-#   multiple definition of `pf_enable_graphic_buffers'
-#   multiple definition of `pf_get_graphic_buffer_usage'
-#   multiple definition of `pf_get_hal_format'
-TARGET_CFLAGS:append = " -fcommon"
-TARGET_CXXFLAGS:append = " -fcommon"
+TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
+TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-lGLESv2', '', d)}"
 
 # Ensures the --enable-mmal-avcodec flag is available for usage
 do_configure:prepend() {
     olddir=`pwd`
     cd ${S}
     ./bootstrap
-    cd $olddir
-}
-
-do_configure:append() {
-    # https://forums.raspberrypi.com/viewtopic.php?p=1601535
-    sed -i "/GLAPI void APIENTRY glShaderSource (/d" ${STAGING_INCDIR}/GL/glext.h
-    #sed -i -e s:'${top_builddir_slash}libtool':'${top_builddir_slash}'${TARGET_SYS}-libtool:g ${B}/doltlibtool
+    cd $olddir 
 }
 
 # This recipe packages vlc as a library as well, so qt4 dependencies
@@ -140,17 +143,17 @@ FILES:${PN} += "\
     ${datadir}/vlc \
     ${datadir}/icons \
     ${datadir}/metainfo/vlc.appdata.xml \
-"
+    "
 
 FILES:${PN}-dbg += "\
     ${libdir}/vlc/*/.debug \
     ${libdir}/vlc/plugins/*/.debug \
-"
+    "
 
 FILES:${PN}-staticdev += "\
     ${libdir}/vlc/plugins/*/*.a \
     ${libdir}/vlc/libcompat.a \
-"
+    "
 
 # Only enable it for rpi class of machines
 COMPATIBLE_HOST = "null"

部分文件因为文件数量过多而无法显示