[vlc-commits] [Git][videolan/vlc][master] meson: add pipewire support

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon May 26 08:16:17 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
20fe1d35 by Ayush Dey at 2025-05-26T07:54:01+00:00
meson: add pipewire support

- - - - -


5 changed files:

- meson_options.txt
- modules/access/meson.build
- modules/audio_output/meson.build
- modules/meson.build
- modules/services_discovery/meson.build


Changes:

=====================================
meson_options.txt
=====================================
@@ -209,6 +209,11 @@ option('alsa',
     value : 'auto',
     description : 'Enable/disable ALSA support')
 
+option('pipewire',
+    type : 'feature',
+    value : 'auto',
+    description : 'Enable/disable PipeWire support')
+
 option('pulse',
     type : 'feature',
     value : 'auto',


=====================================
modules/access/meson.build
=====================================
@@ -106,6 +106,15 @@ vlc_modules += {
     'enabled' : jack_dep.found(),
 }
 
+# PipeWire module
+vlc_modules += {
+    'name' : 'pipewiresrc',
+    'sources' : files('pipewire.c'),
+    'dependencies' : [pipewire_dep],
+    'link_with' : [libvlc_pipewire],
+    'enabled' : pipewire_dep.found(),
+}
+
 # Pulseaudio module
 vlc_modules += {
     'name' : 'pulsesrc',


=====================================
modules/audio_output/meson.build
=====================================
@@ -18,6 +18,15 @@ vlc_modules += {
     'sources' : files('amem.c')
 }
 
+# PipeWire output
+vlc_modules += {
+    'name' : 'aout_pipewire',
+    'sources' : files('pipewire.c'),
+    'dependencies' : [m_lib, pipewire_dep],
+    'link_with' : [libvlc_pipewire],
+    'enabled' : pipewire_dep.found(),
+}
+
 # Pulseaudio output
 if pulse_dep.found()
     vlc_modules += {


=====================================
modules/meson.build
=====================================
@@ -59,6 +59,9 @@ else
     have_wayland = false
 endif
 
+# PipeWire
+pipewire_dep = dependency('libpipewire-0.3', version: '>= 0.3.64', required: get_option('pipewire'))
+
 # Pulse audio
 pulse_dep = dependency('libpulse', version: '>= 6.0', required: get_option('pulse'))
 
@@ -157,6 +160,20 @@ ksuser_lib = cc.find_library('ksuser',
 
 # Helper libraries for modules
 # These are helper libraries used by some modules
+
+# PipeWire helper library
+if pipewire_dep.found()
+    libvlc_pipewire = library('vlc_pipewire',
+        files('audio_output/vlc_pipewire.c'),
+        include_directories: [include_directories('audio_output'), vlc_include_dirs],
+        dependencies: [libvlccore_dep, pipewire_dep],
+        link_with: [vlc_libcompat],
+    )
+else
+    libvlc_pipewire = disabler()
+endif
+
+# Pulse audio helper library
 if pulse_dep.found()
     libvlc_pulse = library('vlc_pulse',
         files('audio_output/vlcpulse.c'),


=====================================
modules/services_discovery/meson.build
=====================================
@@ -54,6 +54,15 @@ if upnp_dep.found()
     }
 endif
 
+# PipeWire device list
+vlc_modules += {
+    'name' : 'pipewirelist',
+    'sources' : files('pipewire.c'),
+    'link_with' : [libvlc_pipewire],
+    'dependencies' : [pipewire_dep],
+    'enabled' : pipewire_dep.found(),
+}
+
 # Pulse device list
 if pulse_dep.found()
     vlc_modules += {



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/20fe1d3535e2800b2c54dc94d67be018fce708fc

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/20fe1d3535e2800b2c54dc94d67be018fce708fc
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list