diff --git a/meson_options.txt b/meson_options.txt index 2bd7380d8e..d18e28d45b 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -439,6 +439,11 @@ option('libdvbpsi', value : 'auto', description : 'Enable/disable libdvbpsi support') +option('dvbcsa', + type : 'feature', + value : 'auto', + description : 'Enable/disable libdvbcsa support') + option('aribb24', type : 'feature', value : 'auto', diff --git a/modules/demux/meson.build b/modules/demux/meson.build index 5662b93502..f302b7b42f 100644 --- a/modules/demux/meson.build +++ b/modules/demux/meson.build @@ -352,6 +352,16 @@ vlc_modules += { # TS demux aribb24_dep = dependency('aribb24', version: '>= 1.0.1', required: get_option('aribb24')) libdvbpsi_dep = dependency('libdvbpsi', version: '>= 1.2.0', required: get_option('libdvbpsi')) + +libdvbpsi_c_args = [] +libdvbcsa_dep = dependency('dvbcsa', required: get_option('dvbcsa')) +if libdvbcsa_dep.found() + if cc.has_function('dvbcsa_decrypt', dependencies: [libdvbcsa_dep]) and \ + cc.check_header('dvbcsa/dvbcsa.h', dependencies: [libdvbcsa_dep]) + libdvbpsi_c_args += ['-DHAVE_DVBCSA'] + endif +endif + if libdvbpsi_dep.found() vlc_modules += { 'name' : 'ts', @@ -378,7 +388,8 @@ if libdvbpsi_dep.found() '../codec/atsc_a65.c', '../codec/opus_header.c', ), - 'dependencies' : [libdvbpsi_dep, aribb24_dep], + 'dependencies' : [libdvbpsi_dep, aribb24_dep, libdvbcsa_dep], + 'c_args' : libdvbpsi_c_args, } endif diff --git a/modules/mux/meson.build b/modules/mux/meson.build index 8ce656cd2f..6064af856c 100644 --- a/modules/mux/meson.build +++ b/modules/mux/meson.build @@ -55,7 +55,7 @@ vlc_modules += { 'mpeg/tsutil.c', 'mpeg/ts.c', ), - 'dependencies': [ libdvbpsi_dep ], + 'dependencies': [ libdvbpsi_dep, libdvbcsa_dep ], 'enabled': libdvbpsi_dep.found(), }