[vlc-commits] [Git][videolan/vlc][master] 7 commits: meson: add archive stream extractor module

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Nov 14 10:43:23 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
4ef7c161 by Steve Lhomme at 2024-11-14T10:31:47+00:00
meson: add archive stream extractor module

- - - - -
0d288c76 by Steve Lhomme at 2024-11-14T10:31:47+00:00
meson: add have_win_store check on prefetch

- - - - -
381510d7 by Steve Lhomme at 2024-11-14T10:31:47+00:00
meson: add aribcam module

- - - - -
a00ecb3c by Steve Lhomme at 2024-11-14T10:31:47+00:00
meson: add libaribcaption module

- - - - -
32ec3806 by Steve Lhomme at 2024-11-14T10:31:47+00:00
meson: fix caca dependency on x11

Do not use it on Windows or Darwin, as done in autotools.

- - - - -
ffc853d3 by Steve Lhomme at 2024-11-14T10:31:47+00:00
meson: fix libmad dependency

- - - - -
92269a1d by Steve Lhomme at 2024-11-14T10:31:47+00:00
meson: use the same stream_out_chromecast module name as autotools

- - - - -


7 changed files:

- meson_options.txt
- modules/codec/meson.build
- modules/meson.build
- + modules/stream_extractor/meson.build
- modules/stream_filter/meson.build
- modules/stream_out/chromecast/meson.build
- modules/video_output/meson.build


Changes:

=====================================
meson_options.txt
=====================================
@@ -685,6 +685,22 @@ option('sftp',
     value: 'auto',
     description: 'SFTP file transfer via libssh2')
 
+option('archive',
+    type: 'feature',
+    value: 'auto',
+    description: 'libarchive support')
+
+option('aribb25',
+    type: 'feature',
+    value: 'auto',
+    description: 'ARIB STD-B25 support')
+
+option('aribcaption',
+    type: 'feature',
+    value: 'auto',
+    description: 'ARIB caption decoder/renderer support')
+
+
 # TODO: Missing live555
 # TODO: Missing v4l2
 # TODO: Missing nvdec


=====================================
modules/codec/meson.build
=====================================
@@ -102,7 +102,19 @@ vlc_modules += {
 }
 
 # libmad codec
-mad_dep = dependency('mad', required: get_option('mad'))
+if get_option('mad').allowed()
+mad_dep = disabler()
+# TODO add support for a custom folder for libmad
+if cc.check_header('mad.h')
+    mad_dep = cc.find_library('mad')
+elif cc.check_header('mad.h', include_directories: include_directories( contrib_incdir ) )
+    if cc.find_library('mad', dirs: contrib_libdir).found()
+        mad_dep = declare_dependency(
+            dependencies: [cc.find_library('mad', dirs: contrib_libdir)],
+            include_directories: [include_directories( contrib_incdir )])
+    endif
+endif
+endif
 vlc_modules += {
     'name' : 'mad',
     'sources' : files('mad.c'),
@@ -271,6 +283,14 @@ vlc_modules += {
     'enabled' : aribb24_dep.found()
 }
 
+libaribcaption_dep = dependency('libaribcaption', required: get_option('aribcaption'))
+vlc_modules += {
+    'name' : 'aribcaption',
+    'sources' : files('arib/libaribcaption.c'),
+    'dependencies' : [libaribcaption_dep],
+    'enabled' : libaribcaption_dep.found()
+}
+
 # scte18 decoder
 vlc_modules += {
     'name' : 'scte18',


=====================================
modules/meson.build
=====================================
@@ -296,6 +296,9 @@ subdir('services_discovery')
 # stream output modules
 subdir('stream_out')
 
+# stream extractor modules
+subdir('stream_extractor')
+
 # stream filter modules
 subdir('stream_filter')
 


=====================================
modules/stream_extractor/meson.build
=====================================
@@ -0,0 +1,7 @@
+libarchive_dep = dependency('libarchive', version: '>= 3.1.0', required: get_option('archive'))
+vlc_modules += {
+    'name' : 'archive',
+    'sources' : files('archive.c'),
+    'dependencies' : [libarchive_dep],
+    'enabled': libarchive_dep.found(),
+}


=====================================
modules/stream_filter/meson.build
=====================================
@@ -19,10 +19,10 @@ if z_dep.found()
   }
 endif
 
-# TODO: Add !HAVE_WINSTORE check
 vlc_modules += {
     'name' : 'prefetch',
-    'sources' : files('prefetch.c')
+    'sources' : files('prefetch.c'),
+    'enabled' : not have_win_store
 }
 
 vlc_modules += {
@@ -44,3 +44,11 @@ vlc_modules += {
     'name' : 'skiptags',
     'sources' : files('skiptags.c')
 }
+
+aribb25_dep = dependency('aribb25', version:'>= 0.2.6', required: get_option('aribb25'))
+vlc_modules += {
+    'name' : 'aribcam',
+    'sources' : files('aribcam.c'),
+    'dependencies' : [aribb25_dep],
+    'enabled': aribb25_dep.found(),
+}


=====================================
modules/stream_out/chromecast/meson.build
=====================================
@@ -49,7 +49,7 @@ vlc_modules += {
 }
 
 vlc_modules += {
-    'name' : 'chromecast',
+    'name' : 'stream_out_chromecast',
     'sources' : files(
         'cast.cpp',
         'chromecast.h',


=====================================
modules/video_output/meson.build
=====================================
@@ -105,12 +105,15 @@ endif
 
 # Coloured ASCII art (Caca)
 caca_dep = dependency('caca', version: '>= 0.99.beta14', required: get_option('caca'))
+caca_deps = [ caca_dep ]
+if not (host_system in ['windows', 'darwin'])
+    caca_deps += x11_dep
+endif
 if caca_dep.found()
     vlc_modules += {
         'name' : 'caca',
         'sources' : files('caca.c'),
-        'dependencies' : [caca_dep, x11_dep]
-        # TODO: Properly conditonalize X11 dependency
+        'dependencies' : [caca_deps],
     }
 endif
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/b6ad458368fbd80e2554c509e1d530188f224305...92269a1de6f47daed2ccc401c0872b2162306d3e

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/b6ad458368fbd80e2554c509e1d530188f224305...92269a1de6f47daed2ccc401c0872b2162306d3e
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