[vlc-commits] [Git][videolan/vlc][master] 5 commits: meson: add Windows/Android vulkan vout modules

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon Sep 28 08:50:28 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
309a947e by Steve Lhomme at 2026-09-28T09:43:35+02:00
meson: add Windows/Android vulkan vout modules

- - - - -
27fa78f1 by Wassim Lalaoui at 2026-09-28T09:43:35+02:00
meson: install RTP parse plugins in plugins/access on Windows

For some reason on Linux make install puts them in plugins/rtp/access
but for Windows builds make install puts them in plugins/access.

- - - - -
5bd48e12 by Wassim Lalaoui at 2026-09-28T09:43:35+02:00
meson: lua: fix the scripts installation directories

The installation directory was made by appending 'lua' to a directory
path without a separator, so the scripts ended up in <libdir>/vlclua.
This went unnoticed on Windows, where the packaging script configures
with --prefix=/.

<pkglibdir> is not where VLC looks for them either. Like the autotools
build, install the byte-compiled scripts in <pkglibexecdir>/lua and the
files of the HTTP interface in <pkgdatadir>/lua, the directories
searched by vlclua_dir_list(). On Windows, both stay in the lua
directory next to the executable.

(cherry picked from commit dad38a96dce790e4b65bbaf4985800bf40e754f0)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>

- - - - -
6895d8ba by Wassim Lalaoui at 2026-09-28T09:43:35+02:00
meson: skins2: fix the data files installation

The data files were installed at the top of <datadir>: the fonts in
<datadir>/fonts, among the system fonts, and the DTD, catalog and
winamp2.xml directly in <datadir>. The module looks for them in
<pkgdatadir>/skins2, where the autotools build installs them.

They were also only installed when the module was explicitly enabled,
not when it was built with the default auto value.

(cherry picked from commit 765dd621c45a81fdcbb326c5c408bf59e981dfb3)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>

- - - - -
bdaed9f0 by Steve Lhomme at 2026-09-28T09:43:35+02:00
package/win32: properly exclude PDB/.dll.a files

- - - - -


5 changed files:

- extras/package/win32/NSIS/helpers/install.nsh
- modules/access/rtp/meson.build
- modules/gui/skins2/meson.build
- modules/lua/meson.build
- modules/video_output/meson.build


Changes:

=====================================
extras/package/win32/NSIS/helpers/install.nsh
=====================================
@@ -31,7 +31,7 @@
 
 !macro InstallFolder FOLDER
   SetOutPath "$INSTDIR\${FOLDER}"
-  File /r /x "${FOLDER}\*.pdb" /x "${FOLDER}\*.dll.a" "${FOLDER}\*.*"
+  File /r /x "*.pdb" /x "*.dll.a" "${FOLDER}\*.*"
   SetOutPath "$INSTDIR"
   Push "${FOLDER}"
   Call InstallFolderInternal
@@ -39,7 +39,7 @@
 
 !macro InstallFolderOptional FOLDER
   SetOutPath "$INSTDIR\${FOLDER}"
-  File /nonfatal /r /x "${FOLDER}\*.pdb" /x "${FOLDER}\*.dll.a" "${FOLDER}\*.*"
+  File /nonfatal /r /x "*.pdb" /x "*.dll.a" "${FOLDER}\*.*"
   SetOutPath "$INSTDIR"
   Push "${FOLDER}"
   Call InstallFolderInternal


=====================================
modules/access/rtp/meson.build
=====================================
@@ -40,56 +40,58 @@ vlc_modules += {
     'plugin_dir' : 'access',
 }
 
+rtpparsedir = host_system == 'windows' ? 'access' : 'access/rtp'
+
 vlc_modules += {
     'name': 'rtp_ac3',
     'sources': files('ac3.c'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_mpeg12',
     'sources': files('mpeg12.c'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_mpeg4',
     'sources': files('mpeg4.c'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_pcm',
     'sources': files('pcm.c'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_raw',
     'sources': files('raw.c'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_h264',
     'sources': files('h264.c', 'h26x.h'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_h265',
     'sources': files('h265.c', 'h26x.h'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_opus',
     'sources': files('opus.c'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }
 
 vlc_modules += {
     'name': 'rtp_xiph',
     'sources': files('xiph.c'),
-    'plugin_dir' : 'access/rtp',
+    'plugin_dir' : rtpparsedir,
 }


=====================================
modules/gui/skins2/meson.build
=====================================
@@ -194,11 +194,11 @@ if host_system == 'darwin' and skins2_feasible
     }
 endif
 
-if skins2_enabled
+if skins2_feasible
     if host_system == 'windows'
         skinsdatadir_path = prefix_path / 'skins'
     else
-        skinsdatadir_path = prefix_path / get_option('datadir')
+        skinsdatadir_path = pkgdatadir_path / 'skins2'
     endif
 
     install_data('../../../share/skins2/fonts/FreeSans.ttf',     install_dir: skinsdatadir_path / 'fonts')


=====================================
modules/lua/meson.build
=====================================
@@ -68,9 +68,12 @@ vlc_modules += {
 
 if lua_dep.found() and get_option('lua').allowed()
   if host_system == 'windows'
-    luadatadir_path = prefix_path + 'lua'
+    # VLC looks for everything next to the executable on Windows
+    luac_install_dir = prefix_path / 'lua'
+    lua_pkgdata_install_dir = prefix_path / 'lua'
   else
-    luadatadir_path = pkglibdir_path + 'lua'
+    luac_install_dir = pkglibexecdir_path / 'lua'
+    lua_pkgdata_install_dir = pkgdatadir_path / 'lua'
   endif
 
   luac = find_program('luac', required: true)
@@ -130,7 +133,7 @@ if lua_dep.found() and get_option('lua').allowed()
                   build_by_default: true,
                   build_subdir: subdir,
                   install: true,
-                  install_dir: luadatadir_path / subdir,
+                  install_dir: luac_install_dir / subdir,
                   command: [luac, '-o', '@OUTPUT@', '@INPUT0@'])
   endforeach
 
@@ -201,7 +204,7 @@ if lua_dep.found() and get_option('lua').allowed()
   foreach m : lua_pkgdata
     splitpath = m.full_path().replace(vlc_src_root / 'share/lua/', '').split('/')
     subdir = '/'.join(splitpath.slice(0, splitpath.length() - 1))
-    install_data(m, install_dir: luadatadir_path / subdir)
+    install_data(m, install_dir: lua_pkgdata_install_dir / subdir)
   endforeach
 
 endif
\ No newline at end of file


=====================================
modules/video_output/meson.build
=====================================
@@ -227,6 +227,29 @@ if caca_dep.found()
     }
 endif
 
+#
+# Vulkan video outputs
+#
+if vulkan_dep.found()
+    vlc_modules += {
+        'name' : 'vk_win32',
+        'sources' : files('vulkan/platform.c', 'vulkan/platform_win32.c'),
+        'c_args' : ['-DVK_USE_PLATFORM_WIN32_KHR', '-DPLATFORM_NAME=Win32'],
+        'dependencies' : [vulkan_dep],
+        'plugin_dir' : 'video_output',
+        'enabled': host_system == 'windows' and not have_win_store,
+    }
+
+    vlc_modules += {
+        'name' : 'vk_android',
+        'sources' : files('vulkan/platform.c', 'vulkan/platform_android.c'),
+        'c_args' : ['-DVK_USE_PLATFORM_ANDROID_KHR', '-DPLATFORM_NAME=Android'],
+        'dependencies' : [vulkan_dep],
+        'plugin_dir' : 'video_output',
+        'enabled': host_system == 'android'
+    }
+endif
+
 #
 # x11 video outputs
 #



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2c33cd9cca31af6951b0e677bc12303b128d6623...bdaed9f014f2a41ea5da0461360dccd0b5940108

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2c33cd9cca31af6951b0e677bc12303b128d6623...bdaed9f014f2a41ea5da0461360dccd0b5940108
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list