mirror of
git://git.yoctoproject.org/meta-raspberrypi.git
synced 2025-07-19 21:09:03 +02:00
rpidistro-vlc: add rpidistro VLC build (with MMAL enabled)
This adds support for building rpidistro version of VLC with hardware acceleration through MMAL. The version of VLC located in meta-openembedded/meta-multimedia/recipes-multimedia/vlc uses mainline VLC and doesn't give all the proper flags. The series of patches attached to commit gives necessarly vlc mmal flags. * https://code.videolan.org/videolan/vlc/-/issues/24617 * https://bugs.gentoo.org/723006 The build fails with errors such as "multiple definition of `pf_enable_graphic_buffers'" when omxil is enabled. The issue seems to be due to compiler flags. Adding -fcommon to both cflags and cxxflags yields a full compile. Signed-off-by: Vincent Davis Jr <vince@underview.tech>
This commit is contained in:
parent
ba965e3b67
commit
8f88bfa824
|
@ -0,0 +1,19 @@
|
||||||
|
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
|
||||||
|
---
|
||||||
|
configure.ac | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -113,6 +113,7 @@ case "${host_os}" in
|
||||||
|
;;
|
||||||
|
linux*)
|
||||||
|
SYS=linux
|
||||||
|
+ test "${host_cpu}" = "riscv64" && CFLAGS="${CFLAGS} -pthread"
|
||||||
|
;;
|
||||||
|
bsdi*)
|
||||||
|
SYS=bsdi
|
|
@ -0,0 +1,22 @@
|
||||||
|
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: Pending
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -2207,7 +2207,7 @@ AC_ARG_ENABLE(mod,
|
||||||
|
[AS_HELP_STRING([--disable-mod],
|
||||||
|
[do not use libmodplug (default auto)])])
|
||||||
|
if test "${enable_mod}" != "no" ; then
|
||||||
|
- PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.9.0], [
|
||||||
|
+ PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
|
||||||
|
VLC_ADD_PLUGIN([mod])
|
||||||
|
VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
|
||||||
|
VLC_ADD_CFLAGS([mod],[$LIBMODPLUG_CFLAGS]) #modules/demux/mod.c needs CFLAGS_mod, not CXXFLAGS_mod
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,16 @@
|
||||||
|
Upstream-status: Pending
|
||||||
|
|
||||||
|
--- a/bin/vlc.c
|
||||||
|
+++ b/bin/vlc.c
|
||||||
|
@@ -106,7 +106,10 @@ static void vlc_kill (void *data)
|
||||||
|
static void exit_timeout (int signum)
|
||||||
|
{
|
||||||
|
(void) signum;
|
||||||
|
- signal (SIGINT, SIG_DFL);
|
||||||
|
+// This doesn't seem to be strong enough to reliably kill us if we fail to exit
|
||||||
|
+// in a timely fashion - so upgrade to _exit().
|
||||||
|
+// signal (SIGINT, SIG_DFL);
|
||||||
|
+ _exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************
|
|
@ -0,0 +1,16 @@
|
||||||
|
Upstream-status: Pending
|
||||||
|
|
||||||
|
--- 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 );
|
||||||
|
+ msg_Dbg( p_filter, "Trying to build chroma+resize, then transform" );
|
||||||
|
+ es_format_Copy( &fmt_mid, &p_filter->fmt_out );
|
||||||
|
+ video_format_TransformTo(&fmt_mid.video, p_filter->fmt_in.video.orientation);
|
||||||
|
i_ret = CreateChain( p_filter, &fmt_mid );
|
||||||
|
es_format_Clean( &fmt_mid );
|
||||||
|
if( i_ret == VLC_SUCCESS )
|
|
@ -0,0 +1,56 @@
|
||||||
|
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"])
|
|
@ -0,0 +1,18 @@
|
||||||
|
* 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,0 +1,233 @@
|
||||||
|
* luaL_checkint and luaL_optint were deprecated in lua 5.3
|
||||||
|
* replacement functions are luaL_checkinteger and luaL_optinteger
|
||||||
|
|
||||||
|
Upstream-status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
|
||||||
|
|
||||||
|
--- a/modules/lua/demux.c
|
||||||
|
+++ b/modules/lua/demux.c
|
||||||
|
@@ -52,7 +52,7 @@ struct vlclua_playlist
|
||||||
|
static int vlclua_demux_peek( lua_State *L )
|
||||||
|
{
|
||||||
|
stream_t *s = (stream_t *)vlclua_get_this(L);
|
||||||
|
- int n = luaL_checkint( L, 1 );
|
||||||
|
+ int n = luaL_checkinteger( L, 1 );
|
||||||
|
const uint8_t *p_peek;
|
||||||
|
|
||||||
|
ssize_t val = vlc_stream_Peek(s->p_source, &p_peek, n);
|
||||||
|
@@ -66,7 +66,7 @@ static int vlclua_demux_peek( lua_State
|
||||||
|
static int vlclua_demux_read( lua_State *L )
|
||||||
|
{
|
||||||
|
stream_t *s = (stream_t *)vlclua_get_this(L);
|
||||||
|
- int n = luaL_checkint( L, 1 );
|
||||||
|
+ int n = luaL_checkinteger( L, 1 );
|
||||||
|
char *buf = malloc(n);
|
||||||
|
|
||||||
|
if (buf != NULL)
|
||||||
|
--- a/modules/lua/libs/net.c
|
||||||
|
+++ b/modules/lua/libs/net.c
|
||||||
|
@@ -179,7 +179,7 @@ static int vlclua_net_listen_tcp( lua_St
|
||||||
|
{
|
||||||
|
vlc_object_t *p_this = vlclua_get_this( L );
|
||||||
|
const char *psz_host = luaL_checkstring( L, 1 );
|
||||||
|
- int i_port = luaL_checkint( L, 2 );
|
||||||
|
+ int i_port = luaL_checkinteger( L, 2 );
|
||||||
|
int *pi_fd = net_ListenTCP( p_this, psz_host, i_port );
|
||||||
|
if( pi_fd == NULL )
|
||||||
|
return luaL_error( L, "Cannot listen on %s:%d", psz_host, i_port );
|
||||||
|
@@ -251,7 +251,7 @@ static int vlclua_net_connect_tcp( lua_S
|
||||||
|
{
|
||||||
|
vlc_object_t *p_this = vlclua_get_this( L );
|
||||||
|
const char *psz_host = luaL_checkstring( L, 1 );
|
||||||
|
- int i_port = luaL_checkint( L, 2 );
|
||||||
|
+ int i_port = luaL_checkinteger( L, 2 );
|
||||||
|
int i_fd = net_ConnectTCP( p_this, psz_host, i_port );
|
||||||
|
lua_pushinteger( L, vlclua_fd_map_safe( L, i_fd ) );
|
||||||
|
return 1;
|
||||||
|
@@ -259,14 +259,14 @@ static int vlclua_net_connect_tcp( lua_S
|
||||||
|
|
||||||
|
static int vlclua_net_close( lua_State *L )
|
||||||
|
{
|
||||||
|
- int i_fd = luaL_checkint( L, 1 );
|
||||||
|
+ int i_fd = luaL_checkinteger( L, 1 );
|
||||||
|
vlclua_fd_unmap_safe( L, i_fd );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int vlclua_net_send( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len;
|
||||||
|
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
|
||||||
|
|
||||||
|
@@ -278,7 +278,7 @@ static int vlclua_net_send( lua_State *L
|
||||||
|
|
||||||
|
static int vlclua_net_recv( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
|
||||||
|
char psz_buffer[i_len];
|
||||||
|
|
||||||
|
@@ -312,7 +312,7 @@ static int vlclua_net_poll( lua_State *L
|
||||||
|
lua_pushnil( L );
|
||||||
|
for( int i = 0; lua_next( L, 1 ); i++ )
|
||||||
|
{
|
||||||
|
- luafds[i] = luaL_checkint( L, -2 );
|
||||||
|
+ luafds[i] = luaL_checkinteger( L, -2 );
|
||||||
|
p_fds[i].fd = vlclua_fd_get( L, luafds[i] );
|
||||||
|
p_fds[i].events = luaL_checkinteger( L, -1 );
|
||||||
|
p_fds[i].events &= POLLIN | POLLOUT | POLLPRI;
|
||||||
|
@@ -360,7 +360,7 @@ static int vlclua_fd_open( lua_State *L
|
||||||
|
#ifndef _WIN32
|
||||||
|
static int vlclua_fd_write( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len;
|
||||||
|
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
|
||||||
|
|
||||||
|
@@ -371,7 +371,7 @@ static int vlclua_fd_write( lua_State *L
|
||||||
|
|
||||||
|
static int vlclua_fd_read( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
|
||||||
|
char psz_buffer[i_len];
|
||||||
|
|
||||||
|
--- a/modules/lua/libs/osd.c
|
||||||
|
+++ b/modules/lua/libs/osd.c
|
||||||
|
@@ -154,7 +154,7 @@ static int vlc_osd_slider_type_from_stri
|
||||||
|
|
||||||
|
static int vlclua_osd_slider( lua_State *L )
|
||||||
|
{
|
||||||
|
- int i_position = luaL_checkint( L, 1 );
|
||||||
|
+ int i_position = luaL_checkinteger( L, 1 );
|
||||||
|
const char *psz_type = luaL_checkstring( L, 2 );
|
||||||
|
int i_type = vlc_osd_slider_type_from_string( psz_type );
|
||||||
|
int i_chan = (int)luaL_optinteger( L, 3, VOUT_SPU_CHANNEL_OSD );
|
||||||
|
@@ -198,7 +198,7 @@ static int vlclua_spu_channel_register(
|
||||||
|
|
||||||
|
static int vlclua_spu_channel_clear( lua_State *L )
|
||||||
|
{
|
||||||
|
- int i_chan = luaL_checkint( L, 1 );
|
||||||
|
+ int i_chan = luaL_checkinteger( L, 1 );
|
||||||
|
input_thread_t *p_input = vlclua_get_input_internal( L );
|
||||||
|
if( !p_input )
|
||||||
|
return luaL_error( L, "Unable to find input." );
|
||||||
|
--- a/modules/lua/libs/playlist.c
|
||||||
|
+++ b/modules/lua/libs/playlist.c
|
||||||
|
@@ -69,7 +69,7 @@ static int vlclua_playlist_next( lua_Sta
|
||||||
|
|
||||||
|
static int vlclua_playlist_skip( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_skip = luaL_checkint( L, 1 );
|
||||||
|
+ int i_skip = luaL_checkinteger( L, 1 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
playlist_Skip( p_playlist, i_skip );
|
||||||
|
return 0;
|
||||||
|
@@ -127,7 +127,7 @@ static int vlclua_playlist_random( lua_S
|
||||||
|
|
||||||
|
static int vlclua_playlist_gotoitem( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_id = luaL_checkint( L, 1 );
|
||||||
|
+ int i_id = luaL_checkinteger( L, 1 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
PL_LOCK;
|
||||||
|
playlist_ViewPlay( p_playlist, NULL,
|
||||||
|
@@ -138,7 +138,7 @@ static int vlclua_playlist_gotoitem( lua
|
||||||
|
|
||||||
|
static int vlclua_playlist_delete( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_id = luaL_checkint( L, 1 );
|
||||||
|
+ int i_id = luaL_checkinteger( L, 1 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
|
||||||
|
PL_LOCK;
|
||||||
|
@@ -152,8 +152,8 @@ static int vlclua_playlist_delete( lua_S
|
||||||
|
|
||||||
|
static int vlclua_playlist_move( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_item = luaL_checkint( L, 1 );
|
||||||
|
- int i_target = luaL_checkint( L, 2 );
|
||||||
|
+ int i_item = luaL_checkinteger( L, 1 );
|
||||||
|
+ int i_target = luaL_checkinteger( L, 2 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
PL_LOCK;
|
||||||
|
playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_item );
|
||||||
|
--- a/modules/lua/libs/stream.c
|
||||||
|
+++ b/modules/lua/libs/stream.c
|
||||||
|
@@ -123,7 +123,7 @@ static int vlclua_stream_read( lua_State
|
||||||
|
{
|
||||||
|
int i_read;
|
||||||
|
stream_t **pp_stream = (stream_t **)luaL_checkudata( L, 1, "stream" );
|
||||||
|
- int n = luaL_checkint( L, 2 );
|
||||||
|
+ int n = luaL_checkinteger( L, 2 );
|
||||||
|
uint8_t *p_read = malloc( n );
|
||||||
|
if( !p_read ) return vlclua_error( L );
|
||||||
|
|
||||||
|
--- a/modules/lua/libs/volume.c
|
||||||
|
+++ b/modules/lua/libs/volume.c
|
||||||
|
@@ -48,7 +48,7 @@
|
||||||
|
static int vlclua_volume_set( lua_State *L )
|
||||||
|
{
|
||||||
|
playlist_t *p_this = vlclua_get_playlist_internal( L );
|
||||||
|
- int i_volume = luaL_checkint( L, 1 );
|
||||||
|
+ int i_volume = luaL_checkinteger( L, 1 );
|
||||||
|
if( i_volume < 0 )
|
||||||
|
i_volume = 0;
|
||||||
|
int i_ret = playlist_VolumeSet( p_this, i_volume/(float)AOUT_VOLUME_DEFAULT );
|
||||||
|
--- a/modules/lua/libs/dialog.c
|
||||||
|
+++ b/modules/lua/libs/dialog.c
|
||||||
|
@@ -382,7 +382,7 @@ static int lua_GetDialogUpdate( lua_Stat
|
||||||
|
/* Read entry in the Lua registry */
|
||||||
|
lua_pushlightuserdata( L, (void*) &key_update );
|
||||||
|
lua_gettable( L, LUA_REGISTRYINDEX );
|
||||||
|
- return luaL_checkint( L, -1 );
|
||||||
|
+ return luaL_checkinteger( L, -1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Manually update a dialog
|
||||||
|
@@ -573,22 +573,22 @@ static int vlclua_create_widget_inner( l
|
||||||
|
|
||||||
|
/* Set common arguments: col, row, hspan, vspan, width, height */
|
||||||
|
if( lua_isnumber( L, arg ) )
|
||||||
|
- p_widget->i_column = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_column = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_row = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_row = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_horiz_span = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_horiz_span = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_vert_span = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_vert_span = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_width = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_width = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_height = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_height = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
|
||||||
|
end_of_args:
|
||||||
|
--- a/modules/lua/libs/io.c
|
||||||
|
+++ b/modules/lua/libs/io.c
|
||||||
|
@@ -139,7 +139,7 @@ static int vlclua_io_file_seek( lua_Stat
|
||||||
|
const char* psz_mode = luaL_optstring( L, 2, NULL );
|
||||||
|
if ( psz_mode != NULL )
|
||||||
|
{
|
||||||
|
- long i_offset = luaL_optlong( L, 3, 0 );
|
||||||
|
+ long i_offset = (long)luaL_optinteger( L, 3, 0 );
|
||||||
|
int i_mode;
|
||||||
|
if ( !strcmp( psz_mode, "set" ) )
|
||||||
|
i_mode = SEEK_SET;
|
|
@ -0,0 +1,58 @@
|
||||||
|
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
|
||||||
|
|
||||||
|
* 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
|
||||||
|
--- a/modules/hw/mmal/converter_mmal.c
|
||||||
|
+++ b/modules/hw/mmal/converter_mmal.c
|
||||||
|
@@ -28,6 +28,34 @@
|
||||||
|
|
||||||
|
#define TRACE_ALL 0
|
||||||
|
|
||||||
|
+// Pass Yocto related build errors
|
||||||
|
+#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
|
||||||
|
+
|
||||||
|
typedef struct mmal_gl_converter_s
|
||||||
|
{
|
||||||
|
EGLint drm_fourcc;
|
||||||
|
@@ -199,7 +227,7 @@ static tex_context_t * get_tex_context(const opengl_tex_converter_t * const tc,
|
||||||
|
|
||||||
|
*a = EGL_NONE;
|
||||||
|
|
||||||
|
- const EGLImage image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
|
||||||
|
+ const EGLImageKHR image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
|
||||||
|
if (!image) {
|
||||||
|
msg_Err(tc, "Failed to import fd %d: Err=%#x", fd, tc->vt->GetError());
|
||||||
|
goto fail;
|
|
@ -0,0 +1,35 @@
|
||||||
|
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;
|
|
@ -0,0 +1,154 @@
|
||||||
|
DESCRIPTION = "Video player and streamer - davinci edition"
|
||||||
|
HOMEPAGE = "http://www.videolan.org"
|
||||||
|
SECTION = "multimedia"
|
||||||
|
|
||||||
|
LICENSE = "GPL-2.0-only"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
PROVIDES = "vlc"
|
||||||
|
RPROVIDES:${PN} = "${PROVIDES}"
|
||||||
|
DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
|
||||||
|
dbus libxml2 gnutls tremor faad2 ffmpeg flac alsa-lib libidn \
|
||||||
|
jpeg xz libmodplug mpeg2dec libmtp libopus orc libsamplerate0 \
|
||||||
|
avahi libusb1 schroedinger taglib tiff"
|
||||||
|
|
||||||
|
inherit autotools gettext pkgconfig mime-xdg
|
||||||
|
|
||||||
|
export BUILDCC = "${BUILD_CC} -std=c11"
|
||||||
|
EXTRA_OECONF = "\
|
||||||
|
--enable-run-as-root \
|
||||||
|
--enable-xvideo \
|
||||||
|
--disable-lua \
|
||||||
|
--disable-screen --disable-caca \
|
||||||
|
--enable-vlm \
|
||||||
|
--enable-tremor \
|
||||||
|
--disable-aa --disable-faad \
|
||||||
|
--enable-dbus \
|
||||||
|
--without-contrib \
|
||||||
|
--without-kde-solid \
|
||||||
|
--enable-realrtsp \
|
||||||
|
--disable-libtar \
|
||||||
|
--enable-avcodec \
|
||||||
|
"
|
||||||
|
|
||||||
|
PACKAGECONFIG ?= "\
|
||||||
|
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
|
||||||
|
live555 dv1394 notify fontconfig fluidsynth freetype dvdread png udev \
|
||||||
|
x264 alsa mmal harfbuzz jack neon fribidi dvbpsi a52 v4l2 gles2 \
|
||||||
|
"
|
||||||
|
|
||||||
|
PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
|
||||||
|
PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
|
||||||
|
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
|
||||||
|
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
|
||||||
|
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
|
||||||
|
PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
|
||||||
|
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[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[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
|
||||||
|
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"
|
||||||
|
PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
|
||||||
|
PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
|
||||||
|
PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
|
||||||
|
PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
|
||||||
|
PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
|
||||||
|
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[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
|
||||||
|
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[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
|
||||||
|
PACKAGECONFIG[dca] = "--enable-dca,,"
|
||||||
|
PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
|
||||||
|
PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
|
||||||
|
PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
|
||||||
|
PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
|
||||||
|
PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
|
||||||
|
PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,"
|
||||||
|
PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
|
||||||
|
PACKAGECONFIG[ncurses] = "--enable-ncurses,--disable-ncurses,ncurses"
|
||||||
|
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
|
||||||
|
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"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
}
|
||||||
|
|
||||||
|
# This recipe packages vlc as a library as well, so qt4 dependencies
|
||||||
|
# can be avoided when only the library is installed.
|
||||||
|
PACKAGES =+ "libvlc"
|
||||||
|
|
||||||
|
LEAD_SONAME_libvlc = "libvlc.so.5"
|
||||||
|
FILES:libvlc = "${libdir}/lib*.so.*"
|
||||||
|
|
||||||
|
FILES:${PN} += "\
|
||||||
|
${bindir}/vlc \
|
||||||
|
${libdir}/vlc \
|
||||||
|
${datadir}/applications \
|
||||||
|
${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 \
|
||||||
|
"
|
||||||
|
|
||||||
|
INSANE_SKIP:${PN} = "dev-so"
|
Loading…
Reference in New Issue
Block a user