[vlc-commits] [Git][videolan/vlc][master] 6 commits: meson: add DSM access module
Steve Lhomme (@robUx4)
gitlab at videolan.org
Tue Nov 19 14:41:54 UTC 2024
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
d47a7d98 by Alexandre Janniaux at 2024-11-19T14:11:44+00:00
meson: add DSM access module
Co-authored-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
5799e79a by Alexandre Janniaux at 2024-11-19T14:11:44+00:00
meson: add live555 access module
The version check is simplified compared to the ancient code in configure.ac.
The pkg-config support was added in 16bf702b95d00888edf28752f732229841b8e137 (2013).
The version number check is based on 768cafce8ddda08d12685319381b17f548e4c8e3.
VLC 3 uses 2016.11.28.
Co-authored-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
70bfbba4 by Alexandre Janniaux at 2024-11-19T14:11:44+00:00
meson: add decklink access module
Co-authored-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
abf56073 by Steve Lhomme at 2024-11-19T14:11:44+00:00
meson: add decklinkoutput module
- - - - -
0d25ac31 by Steve Lhomme at 2024-11-19T14:11:44+00:00
meson: add sdi stream output module
- - - - -
e053987d by Alexandre Janniaux at 2024-11-19T14:11:44+00:00
meson: add nfs access module
Co-authored-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
4 changed files:
- meson_options.txt
- modules/access/meson.build
- modules/stream_out/meson.build
- modules/video_output/meson.build
Changes:
=====================================
meson_options.txt
=====================================
@@ -625,6 +625,16 @@ option('udev',
value: 'auto',
description: 'Linux udev services discovery')
+option('dsm',
+ type: 'feature',
+ value: 'auto',
+ description: 'SMB/CIFS access/sd support')
+
+option('live555',
+ type: 'feature',
+ value: 'auto',
+ description: 'RTSP input through live555')
+
option('rist',
type: 'feature',
value: 'auto',
@@ -730,9 +740,17 @@ option('nvdec',
value: 'auto',
description: 'NVDEC decoder support')
-# TODO: Missing live555
+option('decklink',
+ type: 'feature',
+ value: 'auto',
+ description: 'DeckLink support')
+
+option('nfs',
+ type: 'feature',
+ value: 'auto',
+ description: 'support nfs protocol via libnfs')
+
# TODO: Missing v4l2
-# TODO: Missing decklink
# TODO: Missing rpi-omxil
# TODO: Missing gst-decode
# TODO: Missing merge-ffmpeg
@@ -755,6 +773,5 @@ option('nvdec',
# TODO: Missing vsxu
# TODO: Missing kwallet
# TODO: Missing osx_notifications
-# TODO: Missing dsm
# TODO: Missing asdcplib
# TODO: Missing chromecast
=====================================
modules/access/meson.build
=====================================
@@ -8,6 +8,30 @@ vlc_modules += {
'sources' : files('data.c')
}
+decklink_dep = disabler()
+if get_option('decklink').allowed()
+decklink_cpp_args = []
+if host_system == 'windows'
+ decklink_cpp_args += libcom_cppflags
+endif
+# TODO allow providing a custom location for the DeckLink SDK
+if contrib_dir != ''
+ decklink_dep = declare_dependency(
+ link_args: '-L' + contrib_libdir,
+ compile_args: [f'-I at contrib_incdir@/decklink'])
+ if not cpp.check_header('DeckLinkAPI.h', dependencies: [ decklink_dep ])
+ decklink_dep = disabler()
+ endif
+endif
+vlc_modules += {
+ 'name' : 'decklink',
+ 'sources' : files('decklink.cpp', 'sdi.c', 'sdi.h', 'vlc_decklink.h'),
+ 'dependencies' : [dl_lib, decklink_dep],
+ 'cpp_args' : decklink_cpp_args,
+ 'enabled' : decklink_dep.found(),
+}
+endif
+
# Filesystem access module
vlc_modules += {
'name' : 'filesystem',
@@ -169,6 +193,18 @@ if (get_option('linsys')
endif
endif
+live555_dep = dependency('live555', version: '>= 2011.12.23', required: get_option('live555'))
+# TODO support without pkg-config
+vlc_modules += {
+ 'name' : 'live555',
+ 'sources' : files('live555.cpp', 'live555_dtsgen.h',
+ 'mms/asf.c', 'mms/asf.h',
+ 'mms/buffer.c', 'mms/buffer.h',
+ '../codec/opus_header.c', '../codec/opus_header.h'),
+ 'dependencies' : [live555_dep, socket_libs],
+ 'enabled' : live555_dep.found(),
+}
+
# Shared memory frame buffer capture
vlc_modules += {
'name' : 'shm',
@@ -353,9 +389,27 @@ if host_system == 'windows' and have_win_desktop
}
endif
+# vlc_access_cache helper lib
+vlc_access_cache_lib = static_library(
+ 'vlc_access_cache',
+ files('cache.c',),
+ include_directories: [vlc_include_dirs],
+ pic: true,
+ install: false
+)
## Network stream access modules
+# Smb v1
+libdsm_dep = dependency('libdsm', version: '>= 0.2.0', required: get_option('dsm'))
+vlc_modules += {
+ 'name' : 'dsm',
+ 'sources' : files('dsm/access.c', 'dsm/sd.c', 'smb_common.h'),
+ 'dependencies' : [libdsm_dep],
+ 'link_with' : [vlc_access_cache_lib],
+ 'enabled' : libdsm_dep.found(),
+}
+
# FTP
vlc_modules += {
'name' : 'ftp',
@@ -389,6 +443,15 @@ vlc_modules += {
# New HTTP(S)
subdir('http')
+# Network file sharing
+nfs_dep = dependency('libnfs', version: '>= 1.10.0', required: get_option('nfs'))
+vlc_modules += {
+ 'name' : 'nfs',
+ 'sources' : files('nfs.c'),
+ 'dependencies' : [nfs_dep, socket_libs],
+ 'enabled' : nfs_dep.found(),
+}
+
# TCP
vlc_modules += {
'name' : 'tcp',
=====================================
modules/stream_out/meson.build
=====================================
@@ -147,6 +147,36 @@ vlc_modules += {
'enabled' : libchromaprint_dep.found(),
}
+
+vlc_modules += {
+ 'name' : 'stream_out_sdi',
+ 'sources' : files(
+ 'sdi/sdiout.cpp',
+ 'sdi/sdiout.hpp',
+ 'sdi/Ancillary.cpp',
+ 'sdi/Ancillary.hpp',
+ 'sdi/AES3Audio.cpp',
+ 'sdi/AES3Audio.hpp',
+ 'sdi/DBMHelper.cpp',
+ 'sdi/DBMHelper.hpp',
+ 'sdi/DBMSDIOutput.cpp',
+ 'sdi/DBMSDIOutput.hpp',
+ 'sdi/SDIAudioMultiplex.cpp',
+ 'sdi/SDIAudioMultiplex.hpp',
+ 'sdi/SDIGenerator.cpp',
+ 'sdi/SDIGenerator.hpp',
+ 'sdi/SDIOutput.cpp',
+ 'sdi/SDIOutput.hpp',
+ 'sdi/SDIStream.cpp',
+ 'sdi/SDIStream.hpp',
+ 'sdi/V210.cpp',
+ 'sdi/V210.hpp'
+ ),
+ 'dependencies' : [dl_lib, decklink_dep],
+ 'cpp_args' : decklink_cpp_args,
+ 'enabled' : decklink_dep.found(),
+}
+
# Chromecast module
subdir('chromecast')
=====================================
modules/video_output/meson.build
=====================================
@@ -93,6 +93,22 @@ vlc_modules += {
'sources' : files('vgl.c')
}
+vlc_modules += {
+ 'name' : 'decklinkoutput',
+ 'sources' : files('decklink.cpp',
+ '../stream_out/sdi/Ancillary.cpp',
+ '../stream_out/sdi/Ancillary.hpp',
+ '../stream_out/sdi/DBMHelper.cpp',
+ '../stream_out/sdi/DBMHelper.hpp',
+ '../stream_out/sdi/SDIGenerator.cpp',
+ '../stream_out/sdi/SDIGenerator.hpp',
+ '../stream_out/sdi/V210.cpp',
+ '../stream_out/sdi/V210.hpp'),
+ 'dependencies' : [dl_lib, decklink_dep],
+ 'cpp_args' : decklink_cpp_args,
+ 'enabled' : decklink_dep.found(),
+}
+
# Kernel Mode Setting
drm_dep = dependency('libdrm', version: '>= 2.4.83', required: get_option('drm'))
if drm_dep.found()
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/d0f9cb8d122fa707d90543f38f6c4e1e261bd057...e053987d940ccae7004ad7d6d74dd0429ec145fa
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/d0f9cb8d122fa707d90543f38f6c4e1e261bd057...e053987d940ccae7004ad7d6d74dd0429ec145fa
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