summaryrefslogtreecommitdiff
path: root/media-video
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-04 08:06:08 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-04 08:06:08 +0100
commit2a8d2f71d1d9963368e0ef3d641d75979a689d12 (patch)
tree83e283f960ab2ebbc1a042b8ed6c37b78d47b37b /media-video
parent8435c842b9e8fbb2bcc80397ab3aa655000459e2 (diff)
gentoo auto-resync : 04:07:2024 - 08:06:07
Diffstat (limited to 'media-video')
-rw-r--r--media-video/Manifest.gzbin23841 -> 23843 bytes
-rw-r--r--media-video/pipewire/Manifest4
-rw-r--r--media-video/pipewire/pipewire-1.0.7-r1.ebuild (renamed from media-video/pipewire/pipewire-1.0.7.ebuild)0
-rw-r--r--media-video/pipewire/pipewire-1.2.0-r1.ebuild (renamed from media-video/pipewire/pipewire-1.2.0.ebuild)0
-rw-r--r--media-video/vlc/Manifest3
-rw-r--r--media-video/vlc/files/vlc-3.0.21-freerdp-2.patch230
-rw-r--r--media-video/vlc/vlc-3.0.21.ebuild516
7 files changed, 751 insertions, 2 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index eb849ffa0ab3..72d2031f3732 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 8438a5cc03c2..c434e7546592 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -16,7 +16,7 @@ DIST pipewire-1.2.0.tar.bz2 1810104 BLAKE2B a20caae515d800f80f607aeba585609ce9f4
EBUILD pipewire-1.0.5-r1.ebuild 19283 BLAKE2B c873436b2f3cad35aa2d6797085823cc215d621b275634c25c3b79e00a56121a97824f3092df74b13809a9ea7639b669710fb9ae7476441209c9f7aff1496827 SHA512 f290058849e339a64bb897e831618b9f886b9c6b7754a0f3b4301fc94be929c0531ffd6c98754228c30bc308371e508021fa907252028d6a5a57d14314d4b5b6
EBUILD pipewire-1.0.5.ebuild 19988 BLAKE2B 49df8fcf2e136537401ebab8673c0815a275c2deb29a2779306a77536d2db0688c81e69bbf768061a2ee3e94888da5e77e12055594bf84b14951fd28f12e248c SHA512 5d6506afa393f6286ba33a88cdf17f739a265e2f09baf1b7f9ff5fb239a7b4d87b32ce553d366bfaf6ba36f4384982cf73a521488118d2e5f33d87b4cc9467e3
EBUILD pipewire-1.0.6.ebuild 19283 BLAKE2B c873436b2f3cad35aa2d6797085823cc215d621b275634c25c3b79e00a56121a97824f3092df74b13809a9ea7639b669710fb9ae7476441209c9f7aff1496827 SHA512 f290058849e339a64bb897e831618b9f886b9c6b7754a0f3b4301fc94be929c0531ffd6c98754228c30bc308371e508021fa907252028d6a5a57d14314d4b5b6
-EBUILD pipewire-1.0.7.ebuild 19565 BLAKE2B c0250fdcf5157412d74ef4c020d64b571f84cf75296fe900a4fa964352782f440bc05b413df6475e227c42b526b9e423f23aafa19debc65d18018a43a85452cf SHA512 77f9b34964a14f34a855a8061860b4ce5a6de0ad75f99bc1d599c9c0ad318b6e4604b449e7a0c0483cc4439ce39d4233d2a2cedc1f92ad2b7c3e12ba317841bc
-EBUILD pipewire-1.2.0.ebuild 19711 BLAKE2B 65857f3b19d08a242973dc65fc333556b8ec0d8e91f56e712706ff8a217f3aa5cecdaa7dd43002e8391b61feb96e818c852d68a8cf4d9930906cd7fbf3d228f1 SHA512 bc94f1000e8ad0b7ba91199d240fa8ac15e55f50bab175be6390d040238f8682df5235a5871aa528c5cd36c429a8bc1a7a838660614265696862389ac9cea6c9
+EBUILD pipewire-1.0.7-r1.ebuild 19565 BLAKE2B c0250fdcf5157412d74ef4c020d64b571f84cf75296fe900a4fa964352782f440bc05b413df6475e227c42b526b9e423f23aafa19debc65d18018a43a85452cf SHA512 77f9b34964a14f34a855a8061860b4ce5a6de0ad75f99bc1d599c9c0ad318b6e4604b449e7a0c0483cc4439ce39d4233d2a2cedc1f92ad2b7c3e12ba317841bc
+EBUILD pipewire-1.2.0-r1.ebuild 19711 BLAKE2B 65857f3b19d08a242973dc65fc333556b8ec0d8e91f56e712706ff8a217f3aa5cecdaa7dd43002e8391b61feb96e818c852d68a8cf4d9930906cd7fbf3d228f1 SHA512 bc94f1000e8ad0b7ba91199d240fa8ac15e55f50bab175be6390d040238f8682df5235a5871aa528c5cd36c429a8bc1a7a838660614265696862389ac9cea6c9
EBUILD pipewire-9999.ebuild 19591 BLAKE2B 4c2d6315cad7fb2746817dbc15fe29f3a2007e8abc83a338952ee0f82a1113dbfd8d0426595fd6d5c3c1ea7e4a1d7b87e135b2202e563b95a06ad4403cf684e9 SHA512 f8341246a2c4403375f8493966d42801d1a4846d2a3a6e9464421a50bddf95dca5c3b7832c042e63ef68773550e009235e55d98f3a90178419ee15c73ddad936
MISC metadata.xml 2156 BLAKE2B 974459115e0f3cf4e4c3ac15159740b42e01a093da37d8a27f80e122c9ab2a3fe9194443eaf08f9b66d613db90a14465abbe1b76816bce90e11a46c8409c7513 SHA512 cfe0fdb86c993f167507e22635878d6d7d5dcd48f4c23323231263551ceff986fc454700428ecb7d2ee2abe82093c35d8e7bd491020fd6dd3f3889c09e9020bb
diff --git a/media-video/pipewire/pipewire-1.0.7.ebuild b/media-video/pipewire/pipewire-1.0.7-r1.ebuild
index fa900f161e78..fa900f161e78 100644
--- a/media-video/pipewire/pipewire-1.0.7.ebuild
+++ b/media-video/pipewire/pipewire-1.0.7-r1.ebuild
diff --git a/media-video/pipewire/pipewire-1.2.0.ebuild b/media-video/pipewire/pipewire-1.2.0-r1.ebuild
index f4aeba1f7ea4..f4aeba1f7ea4 100644
--- a/media-video/pipewire/pipewire-1.2.0.ebuild
+++ b/media-video/pipewire/pipewire-1.2.0-r1.ebuild
diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest
index 1f2d295be450..c8515d6149f6 100644
--- a/media-video/vlc/Manifest
+++ b/media-video/vlc/Manifest
@@ -5,12 +5,15 @@ AUX vlc-3.0.11.1-configure_lua_version.patch 1598 BLAKE2B 589c90d0c805ff516b7957
AUX vlc-3.0.18-drop-minizip-dep.patch 1024 BLAKE2B f00df51fe46743b760785151fdc4b770347331b80fcb4208860b4cf99555504e634959384c236a3539c9235547d5eb54c0a1b18e0183b0864e0c4fc070359e15 SHA512 5911e0e64d07fd23a67b142adaec684c581125f06295a64dee9aade31e780b6010538007c7477ea9ef69e4e7b4aeb1cc30891dd22bf273c18407f694111a66f8
AUX vlc-3.0.20-c99-2.patch 1062 BLAKE2B 5af148382216fbea0a5fa0e8431c340946eb11a2615cd46dac6ea656c7248ca0c3b274c4f4306f068702a1729a44ddc55b0983e95f16093582ac63554175da40 SHA512 1b5d40171ca9247fe144284eef8bf832626700d3daae76a7b7b2928c774de54e3e646da0ffcc8f2f0874d7fa1f289fa027c44cdc4b8461e0b2f9cdd8bc049f3f
AUX vlc-3.0.20-c99.patch 5600 BLAKE2B 60abb31fde0687232f9d77808836a76e63945a2f805a7830a85b8bc374b2413ee1988d55cd992ad0d39644e66f5ba68f94620d13cb1213c00216539a809d5c43 SHA512 2b609afab28bf57adca34e11d9eeb120d6c61c7d3d3b06c999bac13987d1d4116819ce18d5af68e737c4f2eda727d619d129640d240ffdccdc634eeac91dd27a
+AUX vlc-3.0.21-freerdp-2.patch 8386 BLAKE2B ad8abf54cbf62cac4e67a000c40595a2f1ed13d57c8039aa7a9309dbe3d213e3d6838d31faf2f36d031aa25fd1a5f97fc26435b1dc4e7e082a2e517ed629b285 SHA512 7a43186c6f37aa4d4b2b971f91789c4a9c8d5d192cd9c1ed3fa9609b2d713f47420b983865d0906ca0dd6d15bc1ae6b22e84b03909c0c8e0024b779362d26c92
AUX vlc-3.0.6-fdk-aac-2.0.0.patch 3436 BLAKE2B 022201ed10fef189feeb36f44ab4194ab7994e4fdd8bad922070b54688d34d051fac28177a0e648d55670e0b9f0c6b45f9a05650476b0ae12ebfe759dd561e28 SHA512 68964adda04cd88e80b586984f1af0cfdccff5dbf8529070d5ab985b23402dfb7380b5d39eacfea433c1ba03434139e4f394c1c25d6b426489883d3a42cb7b5b
AUX vlc-9999-configure-lua-version.patch 1840 BLAKE2B 1b9f11c05ed58e12616732c73a8418917870515f9612467b2839e8414f553ba3d0d9ede4c38e15957cc9b271aecae9364961103dafd72b80c6088a826f18777b SHA512 fa6350a02a92b65e5cc1c7b8e65e14045ca279d9d6f3f1ae255ab2a8ac88b3b3ff16102aa7e91e51e65e2500712bd7fccbdc987e760a5753581098afb1259eb9
AUX vlc-9999-fix-libtremor-libs.patch 480 BLAKE2B 86102dc088705f546185023b2f941520b5435f852e0b0e7cdb8763e15df645cdc794087c188fb17ee331be7ba4d953311276583886e3fe0f93d6de32e63e3207 SHA512 93893a0accecc3470f33e505ef2ce86aeb5f2a3a6524adc7de354366bb8e51def2d67957be4ea705ff20c1510e7274691e587e70740d4b3657b35f5c91de7280
AUX vlc-9999-libupnp-slot-1.8.patch 763 BLAKE2B 6bc8cf46f029db27d6d30d96e871d3bcfddee004e4e8469e1526a6a38fb5cc11a24a19888443e5f9062d7145665d594e142c12f3a9693967f195bab3b33ada38 SHA512 dd3375997a1935d3a227231785f35e300e3f992034da6a9c3019e28c68c1f005cbdd67190672264b342abc719e69005f965599f7af975e2bbd4cfccd89e3770d
DIST vlc-3.0.20.tar.xz 25596392 BLAKE2B 4537d6b4b3445a28366cdb7ed7e12d0dc864e19a53d34efcdc0a62226642ec8653cf8d5b74d4aea30c9f324c34166e8fa71653b3b298f5abdebe29c4f21f2865 SHA512 02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406
+DIST vlc-3.0.21.tar.xz 25649288 BLAKE2B 0ad05282d624611ba8a2b6ca062c68aabeac8f37410dd427cc9b8c0d107af48ed203b73978e2fe83e8171ea6b78caa51394f3497061b561447dbb41058e1af9f SHA512 cb1af76c8056648c331d7e6e0680d161ed1849eb635987504f45eae02531e9b432651034317fa7e02b0722905dfb9f0f5dad67b5924cc62edcaf0d173ac36aee
EBUILD vlc-3.0.20-r11.ebuild 13702 BLAKE2B 209d3e1221dcb353400383c6d9e4d1fbec3d9ac337eacfcb478473b46706868551bce7604c0c70d58c7bc10da74f60d4a381d7736a9eb680473385bbaf88eb2d SHA512 0c0b1383526fff2093b93a3afe002026a1766408b55ed589ca36ff9a8d720aa5b956850a4b739c98bab864993a72a1a54d10ef4eb7064047456e8ff972e61d18
+EBUILD vlc-3.0.21.ebuild 13637 BLAKE2B 992cc2ef7fa0eab7e8fe9fde4de7eafdc1b5e3335d374506686d968d914c42a08543819759ecc4da75cd3d66f3b2c5edf1b0f9ee933dd82a9d87d563fe1acc36 SHA512 feee6f0bb3912cb27b5727078a97bf83113c0446ee81fb470c67e426d8150cddeacbaba734cc81f0a03ff4ee8aa9d297b036b07b9f8766dc71bd96c064c7eb4f
EBUILD vlc-3.0.9999.ebuild 13629 BLAKE2B 8ae0d493b94834e7209a14f2d2162bdaf6e5f64b0a29ae538ae58da3c41edeaa5bd2262e353d1f021c0edc5d2bfbeaa812ab5438a5ad813501c20c205b06f97f SHA512 01432aeafddf27949afac97047d072031e9254291c7ef840451b22216aa408ecccf072c45a05158cc236ca2b817e94a06dc9254baa1a938990f94541d6b95e8a
EBUILD vlc-9999.ebuild 13457 BLAKE2B d9b3a9ddda3a2cbf86e8091523d836a5611f54320d17ce3881a23b49668c1bbc3c872d49170c1ea38e0b2c3b92be05bfd6480ae63e9500976557c392c71b259c SHA512 a01a3430cb81d03d61b190da4b2dfbcdf0dfe3448d2605c995b7df05910917e4e719dd02f69f06d0e4208f9eaa563483cda2a24d47428136b734802296f2dd28
MISC metadata.xml 4815 BLAKE2B 90ef1af4058b83694f6b233c0b2daf46f45f6d23517103923b324db6ca167bb0e04226cae62162fc86a39bca5666b969b13f9d53d8b967a14af2595943d8c4e6 SHA512 544df4a6e4ed05f055f0aababa8c396932440f21336705818cbbce1397d0810ea5050ec16cdf2e3ebf0d7d63b70e77cd07c35edffeecde182ae2ecc571a1dbf7
diff --git a/media-video/vlc/files/vlc-3.0.21-freerdp-2.patch b/media-video/vlc/files/vlc-3.0.21-freerdp-2.patch
new file mode 100644
index 000000000000..2c2311d352c4
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.21-freerdp-2.patch
@@ -0,0 +1,230 @@
+https://bugs.gentoo.org/590164
+https://bugs.gentoo.org/919296
+https://code.videolan.org/videolan/vlc/-/commit/95e7bba6105bd8c2b8ea9cabc02c8dfe7411cab2
+
+diff --git a/configure.ac b/configure.ac
+index 4870d9f718..ce656be9ae 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2159,7 +2159,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 >= 2.0.0], (RDP/Remote Desktop client support) )
+
+ dnl
+ dnl AVFoundation
+diff --git a/modules/access/rdp.c b/modules/access/rdp.c
+index 51b63ae942..87a55310cb 100644
+--- a/modules/access/rdp.c
++++ b/modules/access/rdp.c
+@@ -45,18 +45,6 @@
+ # include <freerdp/version.h>
+ #endif
+
+-#if !defined(FREERDP_VERSION_MAJOR) || \
+- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
+-# define SoftwareGdi sw_gdi
+-# define Fullscreen fullscreen
+-# define ServerHostname hostname
+-# define Username username
+-# define Password password
+-# define ServerPort port
+-# define EncryptionMethods encryption
+-# define ContextSize context_size
+-#endif
+-
+ #include <errno.h>
+ #ifdef HAVE_POLL_H
+ # include <poll.h>
+@@ -75,6 +63,8 @@
+
+ #define CFG_PREFIX "rdp-"
+
++#define FREERDP_PIXEL_BPP(_format) (_format >> 24)
++
+ /*****************************************************************************
+ * Module descriptor
+ *****************************************************************************/
+@@ -136,11 +126,12 @@ typedef struct vlcrdp_context_t vlcrdp_context_t;
+
+ /* updates handlers */
+
+-static void desktopResizeHandler( rdpContext *p_context )
++static BOOL desktopResizeHandler( rdpContext *p_context )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+ rdpGdi *p_gdi = p_context->gdi;
++ int i_colordepth = FREERDP_PIXEL_BPP( p_gdi->dstFormat );
+
+ if ( p_sys->es )
+ {
+@@ -148,11 +139,13 @@ static void desktopResizeHandler( rdpContext *p_context )
+ p_sys->es = NULL;
+ }
+
+- /* Now init and fill es format */
+ vlc_fourcc_t i_chroma;
+- switch( p_gdi->bytesPerPixel )
++ /* Now init and fill es format */
++ switch ( i_colordepth )
+ {
+ default:
++ msg_Dbg( p_vlccontext->p_demux, "invalid color depth %d", i_colordepth);
++ /* fallthrough */
+ case 16:
+ i_chroma = VLC_CODEC_RGB16;
+ break;
+@@ -160,7 +153,7 @@ static void desktopResizeHandler( rdpContext *p_context )
+ i_chroma = VLC_CODEC_RGB24;
+ break;
+ case 32:
+- i_chroma = VLC_CODEC_RGB32;
++ i_chroma = VLC_CODEC_ARGB;
+ break;
+ }
+ es_format_t fmt;
+@@ -173,7 +166,7 @@ static void desktopResizeHandler( rdpContext *p_context )
+ fmt.video.i_height = p_gdi->height;
+ fmt.video.i_frame_rate_base = 1000;
+ fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
+- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
++ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * (i_colordepth >> 3);
+
+ if ( p_sys->p_block )
+ p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize );
+@@ -181,20 +174,21 @@ static void desktopResizeHandler( rdpContext *p_context )
+ p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
+
+ p_sys->es = es_out_Add( p_vlccontext->p_demux->out, &fmt );
++ return TRUE;
+ }
+
+-static void beginPaintHandler( rdpContext *p_context )
++static BOOL beginPaintHandler( rdpContext *p_context )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+ rdpGdi *p_gdi = p_context->gdi;
+- p_gdi->primary->hdc->hwnd->invalid->null = 1;
+- p_gdi->primary->hdc->hwnd->ninvalid = 0;
++ p_gdi->primary->hdc->hwnd->invalid->null = TRUE;
+ if ( ! p_sys->p_block && p_sys->i_framebuffersize )
+ p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
++ return TRUE;
+ }
+
+-static void endPaintHandler( rdpContext *p_context )
++static BOOL endPaintHandler( rdpContext *p_context )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+@@ -205,11 +199,12 @@ static void endPaintHandler( rdpContext *p_context )
+ p_sys->p_block->i_buffer = p_sys->i_framebuffersize;
+ memcpy( p_sys->p_block->p_buffer, p_gdi->primary_buffer, p_sys->p_block->i_buffer );
+ }
++ return TRUE;
+ }
+
+ /* instance handlers */
+
+-static bool preConnectHandler( freerdp *p_instance )
++static BOOL preConnectHandler( freerdp *p_instance )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+@@ -226,49 +221,54 @@ static bool preConnectHandler( freerdp *p_instance )
+ p_instance->settings->EncryptionMethods =
+ var_InheritBool( p_vlccontext->p_demux, CFG_PREFIX "encrypt" );
+
+- return true;
++ return TRUE;
+ }
+
+-static bool postConnectHandler( freerdp *p_instance )
++static BOOL postConnectHandler( freerdp *p_instance )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+
+ msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
+-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
+ p_instance->settings->DesktopWidth,
+ p_instance->settings->DesktopHeight,
+ p_instance->settings->ColorDepth
+-#else
+- p_instance->settings->width,
+- p_instance->settings->height,
+- p_instance->settings->color_depth
+-#endif
+ );
+
+ p_instance->update->DesktopResize = desktopResizeHandler;
+ p_instance->update->BeginPaint = beginPaintHandler;
+ p_instance->update->EndPaint = endPaintHandler;
++ UINT32 format;
++ switch ( p_instance->settings->ColorDepth )
++ {
++ default:
++ msg_Dbg( p_vlccontext->p_demux, "no valid pixel format found for color depth %d bpp", p_instance->settings->ColorDepth);
++ /* fallthrough */
++ case 16:
++ format = PIXEL_FORMAT_RGB16;
++ break;
++ case 24:
++ format = PIXEL_FORMAT_RGB24;
++ break;
++ case 32:
++ format = PIXEL_FORMAT_ARGB32;
++ break;
++ }
+
+ gdi_init( p_instance,
+- CLRBUF_16BPP |
+-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
+- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
+- CLRBUF_24BPP |
+-#endif
+- CLRBUF_32BPP, NULL );
++ format );
+
+ desktopResizeHandler( p_instance->context );
+- return true;
++ return TRUE;
+ }
+
+-static bool authenticateHandler( freerdp *p_instance, char** ppsz_username,
++static BOOL authenticateHandler( freerdp *p_instance, char** ppsz_username,
+ char** ppsz_password, char** ppsz_domain )
+ {
+ VLC_UNUSED(ppsz_domain);
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+ *ppsz_username = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "user" );
+ *ppsz_password = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "password" );
+- return true;
++ return TRUE;
+ }
+
+ /*****************************************************************************
+@@ -431,10 +431,6 @@ static int Open( vlc_object_t *p_this )
+ if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
+ p_sys->i_frame_interval = CLOCK_FREQ / p_sys->f_fps;
+
+-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
+- freerdp_channels_global_init();
+-#endif
+-
+ p_sys->p_instance = freerdp_new();
+ if ( !p_sys->p_instance )
+ {
+@@ -507,9 +503,6 @@ static void Close( vlc_object_t *p_this )
+
+ freerdp_disconnect( p_sys->p_instance );
+ freerdp_free( p_sys->p_instance );
+-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
+- freerdp_channels_global_uninit();
+-#endif
+
+ if ( p_sys->p_block )
+ block_Release( p_sys->p_block );
diff --git a/media-video/vlc/vlc-3.0.21.ebuild b/media-video/vlc/vlc-3.0.21.ebuild
new file mode 100644
index 000000000000..68f0efe4be9a
--- /dev/null
+++ b/media-video/vlc/vlc-3.0.21.ebuild
@@ -0,0 +1,516 @@
+# Copyright 2000-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..2} )
+
+MY_PV="${PV/_/-}"
+MY_PV="${MY_PV/-beta/-test}"
+MY_P="${PN}-${MY_PV}"
+if [[ ${PV} = *9999 ]] ; then
+ if [[ ${PV%.9999} != ${PV} ]] ; then
+ EGIT_BRANCH="3.0.x"
+ fi
+ EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git"
+ inherit git-r3
+else
+ if [[ ${MY_P} = ${P} ]] ; then
+ SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz"
+ else
+ SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
+ fi
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv -sparc ~x86"
+fi
+inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
+
+DESCRIPTION="Media player and framework with support for most multimedia files and streaming"
+HOMEPAGE="https://www.videolan.org/vlc/"
+
+S="${WORKDIR}/${MY_P}"
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0/5-9" # vlc - vlccore
+
+IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast dav1d dbus
+ dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth
+ fontconfig +gcrypt gme keyring gstreamer +gui ieee1394 jack jpeg kate
+ libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua
+ macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses nfs ogg
+ omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba sdl-image
+ sftp shout sid skins soxr speex srt ssl svg taglib theora tremor truetype twolame
+ udev upnp vaapi v4l vdpau vnc vpx wayland +X x264 x265 xml zeroconf zvbi
+ cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse
+"
+REQUIRED_USE="
+ chromecast? ( encode )
+ directx? ( ffmpeg )
+ fontconfig? ( truetype )
+ libcaca? ( X )
+ libtar? ( skins )
+ libtiger? ( kate )
+ lua? ( ${LUA_REQUIRED_USE} )
+ skins? ( archive gui truetype X xml )
+ ssl? ( gcrypt )
+ vaapi? ( ffmpeg X )
+ vdpau? ( ffmpeg X )
+"
+BDEPEND="
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ lua? ( ${LUA_DEPS} )
+ amd64? ( dev-lang/yasm )
+ wayland? ( dev-util/wayland-scanner )
+ x86? ( dev-lang/yasm )
+"
+# <ffmpeg-5 dep for USE="ffmpeg vaapi" for bug #864721
+RDEPEND="
+ media-libs/libvorbis
+ net-dns/libidn:=
+ sys-libs/zlib
+ virtual/libintl
+ virtual/opengl
+ a52? ( media-libs/a52dec )
+ alsa? ( media-libs/alsa-lib )
+ aom? ( media-libs/libaom:= )
+ archive? ( app-arch/libarchive:= )
+ aribsub? ( media-libs/aribb24 )
+ bidi? (
+ dev-libs/fribidi
+ media-libs/freetype:2[harfbuzz]
+ media-libs/harfbuzz:=
+ virtual/ttf-fonts
+ )
+ bluray? ( >=media-libs/libbluray-1.3.0:= )
+ cddb? ( media-libs/libcddb )
+ chromaprint? ( media-libs/chromaprint:= )
+ chromecast? (
+ >=dev-libs/protobuf-2.5.0:=
+ >=net-libs/libmicrodns-0.1.2:=
+ )
+ dav1d? ( media-libs/dav1d:= )
+ dbus? ( sys-apps/dbus )
+ dc1394? (
+ media-libs/libdc1394:2
+ sys-libs/libraw1394
+ )
+ dts? ( media-libs/libdca )
+ dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= )
+ dvd? (
+ >=media-libs/libdvdnav-6.1.1:=
+ >=media-libs/libdvdread-6.1.2:=
+ )
+ faad? ( media-libs/faad2 )
+ fdk? ( media-libs/fdk-aac:= )
+ ffmpeg? ( >=media-video/ffmpeg-3.1.3:=[postproc,vaapi?,vdpau?] )
+ flac? (
+ media-libs/flac:=
+ media-libs/libogg
+ )
+ fluidsynth? ( media-sound/fluidsynth:= )
+ fontconfig? ( media-libs/fontconfig:1.0 )
+ gcrypt? (
+ dev-libs/libgcrypt:=
+ dev-libs/libgpg-error
+ )
+ gme? ( media-libs/game-music-emu )
+ keyring? ( app-crypt/libsecret )
+ gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
+ ieee1394? (
+ sys-libs/libavc1394
+ sys-libs/libraw1394
+ )
+ jack? ( virtual/jack )
+ jpeg? ( media-libs/libjpeg-turbo:0 )
+ kate? ( media-libs/libkate )
+ libass? (
+ media-libs/fontconfig:1.0
+ media-libs/libass:=
+ )
+ libcaca? ( media-libs/libcaca )
+ libnotify? (
+ dev-libs/glib:2
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libnotify
+ )
+ libsamplerate? ( media-libs/libsamplerate )
+ libtar? ( dev-libs/libtar )
+ libtiger? ( media-libs/libtiger )
+ linsys? ( media-libs/zvbi )
+ lirc? ( app-misc/lirc )
+ live? ( media-plugins/live:= )
+ lua? ( ${LUA_DEPS} )
+ mad? ( media-libs/libmad )
+ matroska? (
+ >=dev-libs/libebml-1.4.2:=
+ media-libs/libmatroska:=
+ )
+ modplug? ( >=media-libs/libmodplug-0.8.9.0 )
+ mp3? ( media-sound/mpg123-base )
+ mpeg? ( media-libs/libmpeg2 )
+ mtp? ( media-libs/libmtp:= )
+ musepack? ( media-sound/musepack-tools )
+ ncurses? ( sys-libs/ncurses:=[unicode(+)] )
+ nfs? ( >=net-fs/libnfs-0.10.0:= )
+ ogg? ( media-libs/libogg )
+ opus? ( >=media-libs/opus-1.0.3 )
+ png? ( media-libs/libpng:0= )
+ projectm? (
+ media-fonts/dejavu
+ >=media-libs/libprojectm-3.1.12:0=
+ )
+ pulseaudio? ( media-libs/libpulse )
+ rdp? ( >=net-misc/freerdp-2.0.0_rc0:2= )
+ samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
+ sdl-image? ( media-libs/sdl-image )
+ sftp? ( net-libs/libssh2 )
+ shout? ( media-libs/libshout )
+ sid? ( media-libs/libsidplay:2 )
+ skins? (
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXpm
+ )
+ soxr? ( >=media-libs/soxr-0.1.2 )
+ speex? (
+ >=media-libs/speex-1.2.0
+ media-libs/speexdsp
+ )
+ srt? ( >=net-libs/srt-1.4.2:= )
+ ssl? ( net-libs/gnutls:= )
+ svg? (
+ gnome-base/librsvg:2
+ x11-libs/cairo
+ )
+ taglib? ( >=media-libs/taglib-1.9 )
+ theora? ( media-libs/libtheora )
+ tremor? ( media-libs/tremor )
+ truetype? (
+ media-libs/freetype:2
+ virtual/ttf-fonts
+ !fontconfig? ( media-fonts/dejavu )
+ )
+ twolame? ( media-sound/twolame )
+ udev? ( virtual/udev )
+ upnp? ( net-libs/libupnp:=[ipv6(+)] )
+ v4l? ( media-libs/libv4l:= )
+ vaapi? (
+ <media-video/ffmpeg-5
+ media-libs/libva:=[drm(+),wayland?,X?]
+ )
+ vdpau? ( x11-libs/libvdpau )
+ vnc? ( net-libs/libvncserver )
+ vpx? ( media-libs/libvpx:= )
+ wayland? (
+ >=dev-libs/wayland-1.15
+ dev-libs/wayland-protocols
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/xcb-util
+ x11-libs/xcb-util-keysyms
+ )
+ x264? ( >=media-libs/x264-0.0.20190214:= )
+ x265? ( media-libs/x265:= )
+ xml? ( dev-libs/libxml2:2 )
+ zeroconf? ( net-dns/avahi[dbus] )
+ zvbi? ( media-libs/zvbi )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system
+ "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290
+ "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch
+ "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+ "${FILESDIR}"/${PN}-3.0.21-freerdp-2.patch # bug 919296, 590164
+)
+
+DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
+
+pkg_setup() {
+ if use lua; then
+ lua-single_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # bug 608256
+ xdg_environment_reset
+
+ has_version 'net-libs/libupnp:1.8' && \
+ eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch
+
+ # Bootstrap when we are on a git checkout.
+ if [[ ${PV} = *9999 ]] ; then
+ ./bootstrap
+ fi
+
+ # Make it build with libtool 1.5
+ rm m4/lt* m4/libtool.m4 || die
+
+ # We are not in a real git checkout due to the absence of a .git directory.
+ touch src/revision.txt || die
+
+ # Don't use --started-from-file when not using dbus.
+ if ! use dbus ; then
+ sed -i 's/ --started-from-file//' share/vlc.desktop.in || die
+ fi
+
+ # Disable running of vlc-cache-gen, we do that in pkg_postinst
+ sed -e "/test.*build.*host/s/\$(host)/nothanks/" \
+ -i Makefile.am -i bin/Makefile.am || die "Failed to disable vlc-cache-gen"
+
+ # Fix gettext version mismatch errors.
+ sed -i -e s/GETTEXT_VERSION/GETTEXT_REQUIRE_VERSION/ configure.ac || die
+
+ eautoreconf
+
+ # Disable automatic running of tests.
+ find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die
+}
+
+src_configure() {
+ local -x BUILDCC="$(tc-getBUILD_CC)"
+
+ local myeconfargs=(
+ --disable-aa
+ --disable-optimizations
+ --disable-rpath
+ --disable-update-check
+ --enable-fast-install
+ --enable-screen
+ --enable-vcd
+ --enable-vlc
+ --enable-vorbis
+ $(use_enable a52)
+ $(use_enable alsa)
+ $(use_enable aom)
+ $(use_enable archive)
+ $(use_enable aribsub)
+ $(use_enable bidi fribidi)
+ $(use_enable bidi harfbuzz)
+ $(use_enable bluray)
+ $(use_enable cddb libcddb)
+ $(use_enable chromaprint)
+ $(use_enable chromecast)
+ $(use_enable chromecast microdns)
+ $(use_enable cpu_flags_arm_neon neon)
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable cpu_flags_x86_mmx mmx)
+ $(use_enable cpu_flags_x86_sse sse)
+ $(use_enable dav1d)
+ $(use_enable dbus)
+ $(use_enable dbus kwallet)
+ $(use_enable dc1394)
+ $(use_enable debug)
+ $(use_enable directx)
+ $(use_enable directx d3d11va)
+ $(use_enable directx dxva2)
+ $(use_enable dts dca)
+ $(use_enable dvbpsi)
+ $(use_enable dvd dvdnav)
+ $(use_enable dvd dvdread)
+ $(use_enable encode sout)
+ $(use_enable encode vlm)
+ $(use_enable faad)
+ $(use_enable fdk fdkaac)
+ $(use_enable ffmpeg avcodec)
+ $(use_enable ffmpeg avformat)
+ $(use_enable ffmpeg postproc)
+ $(use_enable ffmpeg swscale)
+ $(use_enable flac)
+ $(use_enable fluidsynth)
+ $(use_enable fontconfig)
+ $(use_enable gcrypt libgcrypt)
+ $(use_enable gme)
+ $(use_enable keyring secret)
+ $(use_enable gstreamer gst-decode)
+ $(use_enable gui qt)
+ $(use_enable ieee1394 dv1394)
+ $(use_enable jack)
+ $(use_enable jpeg)
+ $(use_enable kate)
+ $(use_enable libass)
+ $(use_enable libcaca caca)
+ $(use_enable libnotify notify)
+ $(use_enable libsamplerate samplerate)
+ $(use_enable libtar)
+ $(use_enable libtiger tiger)
+ $(use_enable linsys)
+ $(use_enable lirc)
+ $(use_enable live live555)
+ $(use_enable lua)
+ $(use_enable macosx-notifications osx-notifications)
+ $(use_enable mad)
+ $(use_enable matroska)
+ $(use_enable modplug mod)
+ $(use_enable mp3 mpg123)
+ $(use_enable mpeg libmpeg2)
+ $(use_enable mtp)
+ $(use_enable musepack mpc)
+ $(use_enable ncurses)
+ $(use_enable nfs)
+ $(use_enable ogg)
+ $(use_enable omxil)
+ $(use_enable omxil omxil-vout)
+ $(use_enable optimisememory optimize-memory)
+ $(use_enable opus)
+ $(use_enable png)
+ $(use_enable projectm)
+ $(use_enable pulseaudio pulse)
+ $(use_enable rdp freerdp)
+ $(use_enable run-as-root)
+ $(use_enable samba smbclient)
+ $(use_enable sdl-image)
+ $(use_enable sftp)
+ $(use_enable shout)
+ $(use_enable sid)
+ $(use_enable skins skins2)
+ $(use_enable soxr)
+ $(use_enable speex)
+ $(use_enable srt)
+ $(use_enable ssl gnutls)
+ $(use_enable svg)
+ $(use_enable svg svgdec)
+ $(use_enable taglib)
+ $(use_enable theora)
+ $(use_enable tremor)
+ $(use_enable twolame)
+ $(use_enable udev)
+ $(use_enable upnp)
+ $(use_enable v4l v4l2)
+ $(use_enable vaapi libva)
+ $(use_enable vdpau)
+ $(use_enable vnc)
+ $(use_enable vpx)
+ $(use_enable wayland)
+ $(use_with X x)
+ $(use_enable X xcb)
+ $(use_enable X xvideo)
+ $(use_enable x264)
+ $(use_enable x264 x26410b)
+ $(use_enable x265)
+ $(use_enable xml libxml2)
+ $(use_enable zeroconf avahi)
+ $(use_enable zvbi)
+ $(use_enable !zvbi telx)
+ --with-kde-solid="${EPREFIX}"/usr/share/solid/actions
+ --disable-asdcp
+ --disable-coverage
+ --disable-cprof
+ --disable-crystalhd
+ --disable-decklink
+ --disable-gles2
+ --disable-goom
+ --disable-kai
+ --disable-kva
+ --disable-libplacebo
+ --disable-maintainer-mode
+ --disable-merge-ffmpeg
+ --disable-mfx
+ --disable-mmal
+ --disable-opencv
+ --disable-opensles
+ --disable-oss
+ --disable-rpi-omxil
+ --disable-schroedinger
+ --disable-shine
+ --disable-sndio
+ --disable-spatialaudio
+ --disable-vsxu
+ --disable-wasapi
+ --disable-wma-fixed
+ )
+ # ^ We don't have these disabled libraries in the Portage tree yet.
+
+ # https://code.videolan.org/videolan/vlc/-/issues/17626 (bug #861143)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Compatibility fix for Samba 4.
+ use samba && append-cppflags "-I${ESYSROOT}/usr/include/samba-4.0"
+
+ if use x86; then
+ # We need to disable -fstack-check if use >=gcc 4.8.0. bug #499996
+ append-cflags $(test-flags-CC -fno-stack-check)
+ # Bug 569774
+ replace-flags -Os -O2
+ fi
+
+ # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
+
+ if use riscv; then
+ # bug #803473
+ append-libs -latomic
+ fi
+
+ if use truetype || use bidi; then
+ myeconfargs+=( --enable-freetype )
+ else
+ myeconfargs+=( --disable-freetype )
+ fi
+
+ if use truetype || use projectm; then
+ local dejavu="${EPREFIX}/usr/share/fonts/dejavu/"
+ myeconfargs+=(
+ --with-default-font=${dejavu}/DejaVuSans.ttf
+ --with-default-font-family=Sans
+ --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf
+ --with-default-monospace-font-family=Monospace
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+
+ # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo.
+ # Other values may break the build (bug 523144), so definition should not be removed.
+ # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the start of config.h
+ sed -i '1i#undef _FORTIFY_SOURCE' config.h || die
+}
+
+src_test() {
+ virtx emake check-TESTS
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then
+ einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ else
+ ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)"
+ ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually"
+ ewarn "If you do not do it, vlc will take a long time to load."
+ fi
+
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then
+ rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat"
+ fi
+
+ xdg_pkg_postrm
+}