Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (10)
......@@ -70,45 +70,44 @@ if get_option('oss').disable_auto_if(
endif
# JACK input module
if jack_dep.found()
vlc_modules += {
'name' : 'access_jack',
'sources' : files('jack.c'),
'dependencies' : [jack_dep]
}
endif
vlc_modules += {
'name' : 'access_jack',
'sources' : files('jack.c'),
'dependencies' : [jack_dep],
'enabled' : jack_dep.found(),
}
# Pulseaudio module
if pulse_dep.found()
vlc_modules += {
'name' : 'pulsesrc',
'sources' : files('pulse.c'),
'dependencies' : [pulse_dep],
'link_with' : [libvlc_pulse],
}
endif
vlc_modules += {
'name' : 'pulsesrc',
'sources' : files('pulse.c'),
'dependencies' : [pulse_dep],
'link_with' : [libvlc_pulse],
'enabled' : pulse_dep.found(),
}
# AVFoundation audio capture access
if have_osx
vlc_modules += {
'name' : 'avaudiocapture',
'sources' : files('avaudiocapture.m'),
'objc_args' : ['-fobjc-arc'],
'dependencies' : [avfoundation_dep, coremedia_dep, foundation_dep]
}
endif
vlc_modules += {
'name' : 'avaudiocapture',
'sources' : files('avaudiocapture.m'),
'objc_args' : ['-fobjc-arc'],
'dependencies' : [
frameworks['Foundation'],
frameworks['AVFoundation'],
frameworks['CoreMedia'],
],
'enabled' : have_osx,
}
# WASAPI access
if (get_option('wasapi')
.require(host_system == 'windows', error_message: 'WASAPI requires Windows')
.allowed() and ksuser_lib.found())
vlc_modules += {
'name' : 'access_wasapi',
'sources' : files('wasapi.c'),
'dependencies' : [ksuser_lib]
}
endif
vlc_modules += {
'name' : 'access_wasapi',
'sources' : files('wasapi.c'),
'dependencies' : [ksuser_lib],
'enabled' : get_option('wasapi')
.require(host_system == 'windows', error_message: 'WASAPI requires Windows')
.allowed() and ksuser_lib.found()
}
## Video capture
......@@ -120,7 +119,12 @@ if (get_option('macosx_avfoundation')
'name' : 'avcapture',
'sources' : files('avcapture.m'),
'objc_args' : ['-fobjc-arc'],
'dependencies' : [avfoundation_dep, coremedia_dep, foundation_dep, corevideo_dep],
'dependencies' : [
frameworks['Foundation'],
frameworks['AVFoundation'],
frameworks['CoreMedia'],
frameworks['CoreVideo'],
],
}
endif
......
......@@ -52,11 +52,11 @@ if have_osx
'name' : 'auhal',
'sources' : files('auhal.c', 'coreaudio_common.c'),
'dependencies' : [
corefoundation_dep,
audiounit_dep,
audiotoolbox_dep,
coreaudio_dep,
]
frameworks['CoreFoundation'],
frameworks['AudioUnit'],
frameworks['AudioToolbox'],
frameworks['CoreAudio'],
],
}
endif
......@@ -66,10 +66,10 @@ if have_ios or have_tvos
'name' : 'audiounit_ios',
'sources' : files('audiounit_ios.m', 'coreaudio_common.c'),
'dependencies' : [
foundation_dep,
avfoundation_dep,
audiotoolbox_dep,
coreaudio_dep,
]
frameworks['Foundation'],
frameworks['AVFoundation'],
frameworks['AudioToolbox'],
frameworks['CoreAudio'],
],
}
endif
......@@ -24,23 +24,21 @@ vlc_modules += {
# a52 codec
a52_lib = cc.find_library('a52', required: get_option('a52'))
if a52_lib.found()
vlc_modules += {
'name' : 'a52',
'sources' : files('a52.c'),
'dependencies' : [a52_lib]
}
endif
vlc_modules += {
'name' : 'a52',
'sources' : files('a52.c'),
'dependencies' : [a52_lib],
'enabled' : a52_lib.found(),
}
# DTS Coherent Acoustics decoder
dca_dep = dependency('libdca', version: '>= 0.0.5', required: get_option('dca'))
if dca_dep.found()
vlc_modules += {
'name' : 'dca',
'sources' : files('dca.c'),
'dependencies' : [dca_dep, m_lib]
}
endif
vlc_modules += {
'name' : 'dca',
'sources' : files('dca.c'),
'dependencies' : [dca_dep, m_lib],
'enabled' : dca_dep.found(),
}
# adpcm codec
vlc_modules += {
......@@ -62,13 +60,12 @@ vlc_modules += {
# faad decoder plugin
faad_lib = cc.find_library('faad', required: get_option('faad'))
if faad_lib.found()
vlc_modules += {
'name' : 'faad',
'sources' : files('faad.c'),
'dependencies' : [faad_lib, m_lib]
}
endif
vlc_modules += {
'name' : 'faad',
'sources' : files('faad.c'),
'dependencies' : [faad_lib, m_lib],
'enabled' : faad_lib.found(),
}
# g711 codec
vlc_modules += {
......@@ -96,23 +93,25 @@ else
fluidsynth_dep = dependency('', required: false)
endif
if fluidsynth_dep.found()
vlc_modules += {
'name' : 'fluidsynth',
'sources' : files('fluidsynth.c'),
'dependencies' : [fluidsynth_dep, m_lib],
'c_args' : fluidsynth_module_flags
}
endif
vlc_modules += {
'name' : 'fluidsynth',
'sources' : files('fluidsynth.c'),
'dependencies' : [fluidsynth_dep, m_lib],
'c_args' : fluidsynth_module_flags,
'enabled' : fluidsynth_dep.found(),
}
# Audiotoolbox MIDI plugin (Darwin only)
if have_osx
vlc_modules += {
'name' : 'audiotoolboxmidi',
'sources' : files('audiotoolbox_midi.c'),
'dependencies' : [corefoundation_dep, audiounit_dep, audiotoolbox_dep]
}
endif
vlc_modules += {
'name' : 'audiotoolboxmidi',
'sources' : files('audiotoolbox_midi.c'),
'dependencies' : [
frameworks['CoreFoundation'],
frameworks['AudioUnit'],
frameworks['AudioToolbox'],
],
'enabled' : have_osx,
}
# LPCM codec
vlc_modules += {
......@@ -122,23 +121,21 @@ vlc_modules += {
# libmad codec
mad_dep = dependency('mad', required: get_option('mad'))
if mad_dep.found()
vlc_modules += {
'name' : 'mad',
'sources' : files('mad.c'),
'dependencies' : [mad_dep]
}
endif
vlc_modules += {
'name' : 'mad',
'sources' : files('mad.c'),
'dependencies' : [mad_dep],
'enabled' : mad_dep.found(),
}
# libmpg123 decoder
mpg123_dep = dependency('libmpg123', required: get_option('mpg123'))
if mpg123_dep.found()
vlc_modules += {
'name' : 'mpg123',
'sources' : files('mpg123.c'),
'dependencies' : [mpg123_dep]
}
endif
vlc_modules += {
'name' : 'mpg123',
'sources' : files('mpg123.c'),
'dependencies' : [mpg123_dep],
'enabled' : mpg123_dep.found(),
}
# Ulead DV Audio codec
vlc_modules += {
......@@ -157,13 +154,12 @@ vlc_modules += {
# libmpeg2 decoder
mpeg2_dep = dependency('libmpeg2', version: '> 0.3.2', required: get_option('mpeg2'))
if mpeg2_dep.found()
vlc_modules += {
'name' : 'libmpeg2',
'sources' : files('libmpeg2.c', 'synchro.c'),
'dependencies' : [mpeg2_dep]
}
endif
vlc_modules += {
'name' : 'libmpeg2',
'sources' : files('libmpeg2.c', 'synchro.c'),
'dependencies' : [mpeg2_dep],
'enabled' : mpeg2_dep.found(),
}
# Raw video codec
vlc_modules += {
......@@ -181,13 +177,12 @@ vlc_modules += {
schroedinger_dep = dependency('schroedinger-1.0',
version: '>= 1.0.10',
required: get_option('schroedinger'))
if schroedinger_dep.found()
vlc_modules += {
'name' : 'schroedinger',
'sources' : files('schroedinger.c'),
'dependencies' : [schroedinger_dep]
}
endif
vlc_modules += {
'name' : 'schroedinger',
'sources' : files('schroedinger.c'),
'dependencies' : [schroedinger_dep],
'enabled' : schroedinger_dep.found(),
}
# RTP Raw video codec
vlc_modules += {
......@@ -199,57 +194,49 @@ vlc_modules += {
# PNG codec
png_dep = dependency('libpng', required: get_option('png'))
if png_dep.found()
vlc_modules += {
'name' : 'png',
'sources' : files('png.c'),
'dependencies' : [png_dep, m_lib]
}
endif
vlc_modules += {
'name' : 'png',
'sources' : files('png.c'),
'dependencies' : [png_dep, m_lib],
'enabled' : png_dep.found(),
}
# JPEG codec
jpeg_dep = dependency('libjpeg', required: get_option('jpeg'))
if jpeg_dep.found()
vlc_modules += {
'name' : 'jpeg',
'sources' : files('jpeg.c'),
'dependencies' : [jpeg_dep]
}
endif
vlc_modules += {
'name' : 'jpeg',
'sources' : files('jpeg.c'),
'dependencies' : [jpeg_dep],
'enabled' : jpeg_dep.found(),
}
# BPG codec
bpg_lib = cc.find_library('bpg', required: get_option('bpg'))
if bpg_lib.found()
vlc_modules += {
'name' : 'bpg',
'sources' : files('bpg.c'),
'dependencies' : [bpg_lib]
}
endif
vlc_modules += {
'name' : 'bpg',
'sources' : files('bpg.c'),
'dependencies' : [bpg_lib],
'enabled' : bpg_lib.found(),
}
# SVG image decoder
cairo_dep = dependency('cairo', version: '>= 1.13.1', required: get_option('cairo'))
if rsvg_dep.found() and cairo_dep.found()
vlc_modules += {
'name' : 'svgdec',
'sources' : files('svg.c'),
'dependencies' : [rsvg_dep, cairo_dep]
}
endif
vlc_modules += {
'name' : 'svgdec',
'sources' : files('svg.c'),
'dependencies' : [rsvg_dep, cairo_dep],
'enabled' : rsvg_dep.found() and cairo_dep.found(),
}
# xwd
if (get_option('xcb')
.disable_auto_if(host_system in ['darwin', 'windows'])
.allowed())
xproto_dep = dependency('xproto', required: get_option('xcb'))
if xproto_dep.found()
vlc_modules += {
'name' : 'xwd',
'sources' : files('xwd.c'),
'dependencies' : [xproto_dep]
}
endif
endif
xproto_dep = dependency('xproto', required: get_option('xcb')
.disable_auto_if(host_system in ['darwin', 'windows']))
vlc_modules += {
'name' : 'xwd',
'sources' : files('xwd.c'),
'dependencies' : [xproto_dep],
'enabled' : xproto_dep.found(),
}
## SPU codecs
......@@ -262,20 +249,24 @@ libass_dep = dependency('libass',
libass_deps = [libass_dep]
if host_system == 'darwin'
libass_deps += [corefoundation_dep, coregraphics_dep, coretext_dep]
libass_deps += [
frameworks['CoreFoundation'],
frameworks['CoreGraphics'],
frameworks['CoreText'],
]
endif
if libass_dep.found()
if freetype_dep.found()
libass_deps += freetype_dep
endif
vlc_modules += {
'name' : 'libass',
'sources' : files('libass.c'),
'dependencies' : libass_deps
}
endif
vlc_modules += {
'name' : 'libass',
'sources' : files('libass.c'),
'dependencies' : libass_deps,
'enabled' : libass_dep.found(),
}
# Closed captioning decoder
vlc_modules += {
......@@ -297,14 +288,13 @@ vlc_modules += {
# aribsub
aribb24_dep = dependency('aribb24', version: '>= 1.0.1', required: get_option('aribsub'))
if aribb24_dep.found()
vlc_modules += {
'name' : 'aribsub',
'sources' : files('arib/aribsub.c'),
'dependencies' : [aribb24_dep],
'cpp_args' : ['-DHAVE_ARIBB24']
}
endif
vlc_modules += {
'name' : 'aribsub',
'sources' : files('arib/aribsub.c'),
'dependencies' : [aribb24_dep],
'cpp_args' : ['-DHAVE_ARIBB24'],
'enabled' : aribb24_dep.found()
}
# scte18 decoder
vlc_modules += {
......@@ -369,22 +359,19 @@ vlc_modules += {
# zvbi
use_zvbi = zvbi_dep.found() and get_option('zvbi').enabled()
if use_zvbi
vlc_modules += {
'name' : 'zvbi',
'sources' : files('zvbi.c'),
'dependencies' : [zvbi_dep, socket_libs]
}
endif
vlc_modules += {
'name' : 'zvbi',
'sources' : files('zvbi.c'),
'dependencies' : [zvbi_dep, socket_libs],
'enabled' : use_zvbi,
}
# telx
if not use_zvbi and get_option('telx').enabled()
vlc_modules += {
'name' : 'telx',
'sources' : files('telx.c')
}
endif
vlc_modules += {
'name' : 'telx',
'sources' : files('telx.c'),
'enabled' : not use_zvbi and get_option('telx').enabled(),
}
# textst
vlc_modules += {
......@@ -459,97 +446,88 @@ endif
vlc_modules += {
'name' : 'webvtt',
'sources' : webvtt_sources,
'include_directories' : include_directories('webvtt')
'include_directories' : include_directories('webvtt'),
}
## Xiph.org codecs
ogg_dep = dependency('ogg', required: get_option('ogg'))
# FLAC codec
flac_dep = dependency('flac', required: get_option('flac'))
if flac_dep.found()
vlc_modules += {
'name' : 'flac',
'sources' : files('flac.c'),
'dependencies' : [flac_dep]
}
endif
vlc_modules += {
'name' : 'flac',
'sources' : files('flac.c'),
'dependencies' : [flac_dep],
'enabled' : flac_dep.found(),
}
# Kate codec
kate_dep = dependency('kate', version: '>= 0.3.0', required: get_option('kate'))
kate_deps = [kate_dep, m_lib]
kate_cpp_args = []
if kate_dep.found()
kate_deps = [kate_dep, m_lib]
kate_cpp_args = []
tiger_dep = dependency('tiger', version: '>= 0.3.1', required: get_option('tiger'))
if tiger_dep.found()
kate_cpp_args += ['-DHAVE_TIGER=1']
kate_deps += tiger_dep
endif
vlc_modules += {
'name' : 'kate',
'sources' : files('kate.c'),
'dependencies' : kate_deps,
'cpp_args' : kate_cpp_args
}
endif
vlc_modules += {
'name' : 'kate',
'sources' : files('kate.c'),
'dependencies' : kate_deps,
'cpp_args' : kate_cpp_args,
'enabled' : kate_dep.found(),
}
# Opus codec
opus_dep = dependency('opus', version: '>= 1.0.3', required: get_option('opus'))
if opus_dep.found() and ogg_dep.found()
vlc_modules += {
'name' : 'opus',
'sources' : files('opus.c', 'opus_header.c'),
'dependencies' : [opus_dep, ogg_dep]
}
endif
vlc_modules += {
'name' : 'opus',
'sources' : files('opus.c', 'opus_header.c'),
'dependencies' : [opus_dep, ogg_dep],
'enabled' : opus_dep.found() and ogg_dep.found(),
}
# Theora codec
theoraenc_dep = dependency('theoraenc', required: get_option('theoraenc'))
theoradec_dep = dependency('theoradec', version: '>= 1.0', required: get_option('theoradec'))
if theoraenc_dep.found() and theoradec_dep.found() and ogg_dep.found()
vlc_modules += {
'name' : 'theora',
'sources' : files('theora.c'),
'dependencies' : [theoraenc_dep, theoradec_dep, ogg_dep]
}
endif
vlc_modules += {
'name' : 'theora',
'sources' : files('theora.c'),
'dependencies' : [theoraenc_dep, theoradec_dep, ogg_dep],
'enabled' : theoraenc_dep.found() and theoradec_dep.found() and ogg_dep.found(),
}
# Daala codec plugin
daaladec_dep = dependency('daaladec', required: get_option('daaladec'))
daalaenc_dep = dependency('daalaenc', required: get_option('daalaenc'))
if daaladec_dep.found() and daalaenc_dep.found()
vlc_modules += {
'name' : 'daala',
'sources' : files('daala.c'),
'dependencies' : [daaladec_dep, daalaenc_dep]
}
endif
vlc_modules += {
'name' : 'daala',
'sources' : files('daala.c'),
'dependencies' : [daaladec_dep, daalaenc_dep],
'enabled' : daaladec_dep.found() and daalaenc_dep.found(),
}
# Vorbis codec
vorbis_dep = dependency('vorbis', version: '>= 1.1', required: get_option('vorbis'))
vorbisenc_dep = dependency('vorbisenc', version: '>= 1.1', required: get_option('vorbis'))
if vorbis_dep.found() and vorbisenc_dep.found() and ogg_dep.found()
vlc_modules += {
'name' : 'vorbis',
'sources' : files('vorbis.c'),
'dependencies' : [vorbis_dep, vorbisenc_dep, ogg_dep]
}
endif
vlc_modules += {
'name' : 'vorbis',
'sources' : files('vorbis.c'),
'dependencies' : [vorbis_dep, vorbisenc_dep, ogg_dep],
'enabled' : vorbis_dep.found() and vorbisenc_dep.found() and ogg_dep.found()
}
# OggSpots decoder
if ogg_dep.found()
vlc_modules += {
'name' : 'oggspots',
'sources' : files('oggspots.c'),
'dependencies' : [ogg_dep]
}
endif
vlc_modules += {
'name' : 'oggspots',
'sources' : files('oggspots.c'),
'dependencies' : [ogg_dep],
'enabled' : ogg_dep.found(),
}
# VideoToolbox (Apples hardware-accelerated video decoder/encoder)
# TODO: Set proper flags for minimum iOS/tvOS versions
......@@ -575,8 +553,12 @@ if host_system == 'darwin'
'../packetizer/h264_nal.c',
'../packetizer/hevc_nal.c'
),
'dependencies' : [videotoolbox_dep, foundation_dep, coremedia_dep,
corevideo_dep],
'dependencies' : [
frameworks['VideoToolbox'],
frameworks['Foundation'],
frameworks['CoreMedia'],
frameworks['CoreVideo'],
],
'link_with' : [libvlc_vtutils],
}
......@@ -591,8 +573,12 @@ if host_system == 'darwin'
'../packetizer/h264_nal.c',
'../packetizer/hevc_nal.c'
),
'dependencies' : [videotoolbox_dep, foundation_dep, coremedia_dep,
corevideo_dep],
'dependencies' : [
frameworks['VideoToolbox'],
frameworks['Foundation'],
frameworks['CoreMedia'],
frameworks['CoreVideo'],
],
'link_with' : [libvlc_vtutils],
}
......@@ -612,53 +598,51 @@ if avcodec_dep.found()
endif
# FFmpeg codec module
if avcodec_dep.found()
avcodec_extra_sources = []
if get_option('stream_outputs')
avcodec_extra_sources += 'avcodec/encoder.c'
endif
avcodec_extra_sources = []
if get_option('stream_outputs')
avcodec_extra_sources += 'avcodec/encoder.c'
endif
# TODO: Implement the merge-ffmpeg option
# TODO: Implement the merge-ffmpeg option
vlc_modules += {
'name' : 'avcodec',
'sources' : files(
'avcodec/video.c',
'avcodec/subtitle.c',
'avcodec/audio.c',
'avcodec/va.c',
'avcodec/avcodec.c',
'../packetizer/av1_obu.c',
'../packetizer/av1_obu.h',
'../packetizer/av1.h',
avcodec_extra_sources
),
'dependencies' : [avutil_dep, avcodec_dep],
'link_with' : [libavcodec_common],
'link_args' : symbolic_linkargs
}
endif
vlc_modules += {
'name' : 'avcodec',
'sources' : files(
'avcodec/video.c',
'avcodec/subtitle.c',
'avcodec/audio.c',
'avcodec/va.c',
'avcodec/avcodec.c',
'../packetizer/av1_obu.c',
'../packetizer/av1_obu.h',
'../packetizer/av1.h',
avcodec_extra_sources
),
'dependencies' : [avutil_dep, avcodec_dep],
'link_with' : [libavcodec_common],
'link_args' : symbolic_linkargs,
'enabled' : avcodec_dep.found(),
}
if get_option('libva').enabled() and get_option('avcodec').disabled()
error('-Dlibva=enabled and -Davcodec=disabled options are mutually exclusive. Use -Davcodec=disabled')
endif
libva_dep = dependency('libva', version: '>= 1.0', required: get_option('libva'))
if get_option('libva').require(
avcodec_dep.found() and avutil_dep.found(),
error_message: 'VAAPI requires avcodec').allowed() and libva_dep.found()
vlc_modules += {
'name' : 'vaapi',
'sources' : files(
'avcodec/vaapi.c',
'../hw/vaapi/vlc_vaapi.c',
'avcodec/va_surface.c',
),
'dependencies' : [avcodec_dep, libva_dep, avutil_dep]
}
vlc_modules += {
'name' : 'vaapi',
'sources' : files(
'avcodec/vaapi.c',
'../hw/vaapi/vlc_vaapi.c',
'avcodec/va_surface.c',
),
'dependencies' : [avcodec_dep, libva_dep, avutil_dep],
'enabled' : get_option('libva').require(
avcodec_dep.found() and avutil_dep.found(),
error_message: 'VAAPI requires avcodec').allowed() and
libva_dep.found()
}
endif
if host_system == 'windows'
d3d11_common_lib = static_library('d3d11_common',
......@@ -709,118 +693,112 @@ if host_system == 'windows'
endif
# OpenMAX IL codec
if get_option('omxil')
vlc_modules += {
'name' : 'omxil',
'sources' : files(
'omxil/utils.c',
'omxil/qcom.c',
'omxil/omxil.c',
'omxil/omxil_core.c',
'../packetizer/h264_nal.c',
'../packetizer/hevc_nal.c',
),
'link_with' : [chroma_copy_lib, dl_lib]
}
endif
vlc_modules += {
'name' : 'omxil',
'sources' : files(
'omxil/utils.c',
'omxil/qcom.c',
'omxil/omxil.c',
'omxil/omxil_core.c',
'../packetizer/h264_nal.c',
'../packetizer/hevc_nal.c',
),
'dependencies' : [dl_lib],
'link_with' : [chroma_copy_lib],
'enabled' : get_option('omxil'),
}
## x26X encoders
# x265 encoder
x265_dep = dependency('x265', required: get_option('x265'))
if x265_dep.found()
vlc_modules += {
'name' : 'x265',
'sources' : files('x265.c'),
'dependencies' : [x265_dep]
}
endif
vlc_modules += {
'name' : 'x265',
'sources' : files('x265.c'),
'dependencies' : [x265_dep],
'enabled' : x265_dep.found(),
}
# x262 encoder
x262_dep = dependency('x262', required: get_option('x262'))
if x262_dep.found()
vlc_modules += {
'name' : 'x262',
'sources' : files('x264.c'),
'dependencies' : [x262_dep],
'c_args' : ['-DPLUGIN_X262'],
'link_args' : symbolic_linkargs
}
endif
vlc_modules += {
'name' : 'x262',
'sources' : files('x264.c'),
'dependencies' : [x262_dep],
'c_args' : ['-DPLUGIN_X262'],
'link_args' : symbolic_linkargs,
'enabled' : x262_dep.found(),
}
# x264 10-bit encoder (requires x264 >= 0.153)
x26410b_dep = dependency('x264', version: '>= 0.153', required: get_option('x264'))
if x26410b_dep.found()
vlc_modules += {
'name' : 'x26410b',
'sources' : files('x264.c'),
'dependencies' : [x26410b_dep],
'c_args' : ['-DPLUGIN_X264_10B'],
'link_args' : symbolic_linkargs
}
endif
vlc_modules += {
'name' : 'x26410b',
'sources' : files('x264.c'),
'dependencies' : [x26410b_dep],
'c_args' : ['-DPLUGIN_X264_10B'],
'link_args' : symbolic_linkargs,
'enabled' : x26410b_dep.found(),
}
# x264 encoder
x264_dep = dependency('x264', version: '>= 0.148', required: get_option('x264'))
if x264_dep.found()
vlc_modules += {
'name' : 'x264',
'sources' : files('x264.c'),
'dependencies' : [x264_dep],
'c_args' : ['-DPLUGIN_X264'],
'link_args' : symbolic_linkargs
}
endif
vlc_modules += {
'name' : 'x264',
'sources' : files('x264.c'),
'dependencies' : [x264_dep],
'c_args' : ['-DPLUGIN_X264'],
'link_args' : symbolic_linkargs,
'enabled' : x264_dep.found(),
}
## Misc codecs
# fdkaac encoder
fdkaac_dep = dependency('fdk-aac', required: get_option('fdk-aac'))
if fdkaac_dep.found()
vlc_modules += {
'name' : 'fdkaac',
'sources' : files('fdkaac.c'),
'dependencies' : [fdkaac_dep]
}
endif
vlc_modules += {
'name' : 'fdkaac',
'sources' : files('fdkaac.c'),
'dependencies' : [fdkaac_dep],
'enabled' : fdkaac_dep.found(),
}
# Shine MPEG Audio Layer 3 encoder
shine_dep = dependency('shine', version: '>= 3.0.0', required: get_option('shine'))
if shine_dep.found()
vlc_modules += {
'name' : 'shine',
'sources' : files('shine.c'),
'dependencies' : [shine_dep]
}
endif
vlc_modules += {
'name' : 'shine',
'sources' : files('shine.c'),
'dependencies' : [shine_dep],
'enabled' : shine_dep.found(),
}
# VP8/VP9 encoder/decoder (libvpx)
vpx_c_args = []
vpx_dep = dependency('vpx', version: '>= 1.5.0', required: get_option('vpx'))
if vpx_dep.found()
vpx_c_args = []
if cc.has_function('vpx_codec_vp8_dx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP8_DECODER'
endif
if cc.has_function('vpx_codec_vp9_dx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP9_DECODER'
endif
if cc.has_function('vpx_codec_vp8_cx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP8_ENCODER'
endif
if cc.has_function('vpx_codec_vp9_cx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP9_ENCODER'
endif
vlc_modules += {
'name' : 'vpx',
'sources' : files('vpx.c'),
'c_args' : vpx_c_args,
'dependencies' : [vpx_dep]
}
if cc.has_function('vpx_codec_vp8_dx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP8_DECODER'
endif
if cc.has_function('vpx_codec_vp9_dx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP9_DECODER'
endif
if cc.has_function('vpx_codec_vp8_cx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP8_ENCODER'
endif
if cc.has_function('vpx_codec_vp9_cx', dependencies: [vpx_dep])
vpx_c_args += '-DENABLE_VP9_ENCODER'
endif
endif
vlc_modules += {
'name' : 'vpx',
'sources' : files('vpx.c'),
'c_args' : vpx_c_args,
'dependencies' : [vpx_dep],
'enabled' : vpx_dep.found(),
}
# VP8/VP9 with alpha pseudo-decoder
vpx_alpha_sources = files('vpx_alpha.c')
vpx_alpha_with = [ ]
......@@ -834,61 +812,55 @@ vlc_modules += {
'link_with' : vpx_alpha_with
}
# libaom AV1 codec
aom_dep = dependency('aom', required: get_option('aom'))
if aom_dep.found()
vlc_modules += {
'name' : 'aom',
'sources' : files('aom.c'),
'dependencies' : [aom_dep]
}
endif
vlc_modules += {
'name' : 'aom',
'sources' : files('aom.c'),
'dependencies' : [aom_dep],
'enabled' : aom_dep.found(),
}
rav1e_dep = dependency('rav1e', required: get_option('rav1e'))
if rav1e_dep.found()
vlc_modules += {
'name' : 'rav1e',
'sources' : files('rav1e.c'),
'dependencies' : [rav1e_dep]
}
endif
vlc_modules += {
'name' : 'rav1e',
'sources' : files('rav1e.c'),
'dependencies' : [rav1e_dep],
'enabled' : rav1e_dep.found(),
}
# Twolame MPEG Audio Layer 2 encoder
twolame_dep = dependency('twolame', required: get_option('twolame'))
if twolame_dep.found()
vlc_modules += {
'name' : 'twolame',
'sources' : files('twolame.c'),
'dependencies' : [twolame_dep],
'c_args' : ['-DLIBTWOLAME_STATIC']
}
endif
vlc_modules += {
'name' : 'twolame',
'sources' : files('twolame.c'),
'dependencies' : [twolame_dep],
'c_args' : ['-DLIBTWOLAME_STATIC'],
'enabled' : twolame_dep.found(),
}
# dav1d AV1 decoder
dav1d_dep = dependency('dav1d', version: '>= 0.5.0', required: get_option('dav1d'))
if dav1d_dep.found()
vlc_modules += {
'name' : 'dav1d',
'sources' : files(
'dav1d.c',
'../packetizer/av1_obu.c'
),
'dependencies' : [dav1d_dep]
}
endif
vlc_modules += {
'name' : 'dav1d',
'sources' : files(
'dav1d.c',
'../packetizer/av1_obu.c'
),
'dependencies' : [dav1d_dep],
'enabled' : dav1d_dep.found(),
}
## Hardware encoders
# QSV encoder
qsv_dep = dependency('libmfx', required: get_option('mfx'))
if qsv_dep.found()
vlc_modules += {
'name' : 'qsv',
'sources' : files('qsv.c'),
'dependencies' : [qsv_dep]
}
endif
vlc_modules += {
'name' : 'qsv',
'sources' : files('qsv.c'),
'dependencies' : [qsv_dep],
'enabled' : qsv_dep.found(),
}
## External frameworks
......@@ -76,44 +76,88 @@ if not jack_dep.found()
required: false)
endif
frameworks = {}
framework_conditions = [
{
'frameworks': [
'Foundation',
'CoreFoundation',
'Security',
'CoreMedia',
'AVFoundation',
'CoreVideo',
'VideoToolbox',
'AudioToolbox',
'IOKit',
'QuartzCore',
'QuartzText',
'CoreText',
'CoreAudio',
'CoreImage',
'CoreGraphics',
'AVKit',
],
'condition': host_system == 'darwin'
},
{
'frameworks': [
'Cocoa',
'OpenGL',
'AudioUnit',
],
'condition': have_osx
},
{
'frameworks': [
'UIKit',
'OpenGLES',
],
'condition': have_ios or have_tvos
},
]
foreach framework_spec : framework_conditions
foreach framework_name : framework_spec['frameworks']
if framework_spec['condition']
# Not-found dependency
frameworks += { framework_name: disabler() }
else
frameworks += { framework_name: dependency(framework_name, required: framework_spec['condition']) }
endif
endforeach
endforeach
# Darwin-specific dependencies
if host_system == 'darwin'
security_dep = dependency('Security', required: true)
coremedia_dep = dependency('CoreMedia', required: true)
avfoundation_dep = dependency('AVFoundation', required: true)
corevideo_dep = dependency('CoreVideo', required: true)
videotoolbox_dep = dependency('VideoToolbox', required: true)
audiotoolbox_dep = dependency('AudioToolbox', required: true)
iokit_dep = dependency('IOKit', required: true)
quartz_dep = dependency('QuartzCore', required: true)
coretext_dep = dependency('CoreText', required: true)
coreaudio_dep = dependency('CoreAudio', required: true)
coreimage_dep = dependency('CoreImage', required: true)
coregraphics_dep = dependency('CoreGraphics', required: true)
avkit_dep = dependency('AVKit', required: true)
endif
security_dep = frameworks['Security']
coremedia_dep = frameworks['CoreMedia']
avfoundation_dep = frameworks['AVFoundation']
corevideo_dep = frameworks['CoreVideo']
videotoolbox_dep = frameworks['VideoToolbox']
audiotoolbox_dep = frameworks['AudioToolbox']
iokit_dep = frameworks['IOKit']
quartz_dep = frameworks['QuartzCore']
coretext_dep = frameworks['CoreText']
coreaudio_dep = frameworks['CoreAudio']
coreimage_dep = frameworks['CoreImage']
coregraphics_dep = frameworks['CoreGraphics']
avkit_dep = frameworks['AVKit']
# macOS specific dependencies
if have_osx
cocoa_dep = dependency('Cocoa', required: true)
opengl_dep = dependency('OpenGL', required: true)
audiounit_dep = dependency('AudioUnit', required: true)
endif
cocoa_dep = frameworks['Cocoa']
opengl_dep = frameworks['OpenGL']
audiounit_dep = frameworks['AudioUnit']
# iOS/tvOS specific dependencies
if have_ios or have_tvos
uikit_dep = dependency('UIKit', required: true)
opengles_dep = dependency('OpenGLES', required: true)
endif
uikit_dep = frameworks['UIKit']
opengles_dep = frameworks['OpenGLES']
# Windows-specific dependencies
if host_system == 'windows'
# WASAPI-related dependency
ksuser_lib = cc.find_library('ksuser',
has_headers: ['audioclient.h'],
required: get_option('wasapi'))
endif
# WASAPI-related dependency
ksuser_lib = cc.find_library('ksuser',
has_headers: ['audioclient.h'],
required: host_system == 'windows' and get_option('wasapi'))
# Helper libraries for modules
# These are helper libraries used by some modules
......@@ -157,6 +201,9 @@ libgcrypt_dep = dependency('libgcrypt',
# Array that holds all enabled VLC module dicts
vlc_modules = []
# video chroma modules
subdir('video_chroma')
# codec modules
subdir('codec')
......@@ -214,9 +261,6 @@ subdir('spu')
# text renderer modules
subdir('text_renderer')
# video chroma modules
subdir('video_chroma')
# video filter modules
subdir('video_filter')
......@@ -258,6 +302,7 @@ endif
# entry with the needed build definition for a VLC plugin.
#
vlc_plugins_targets = {}
vlc_plugins_manifest = {}
foreach module : vlc_modules
if not module.has_key('name')
error('Got invalid vlc_modules entry without \'name\' key')
......@@ -280,6 +325,7 @@ foreach module : vlc_modules
'cpp_args',
'objc_args',
'extra_files',
'enabled',
]
foreach key : module.keys()
if key not in valid_dict_keys
......@@ -288,6 +334,10 @@ foreach module : vlc_modules
endif
endforeach
if not module.get('enabled', true)
continue
endif
common_args = [
'-DMODULE_STRING="@0@"'.format(module['name']),
'-DVLC_DYNAMIC_PLUGIN'
......@@ -296,7 +346,7 @@ foreach module : vlc_modules
kwargs = {}
if module.has_key('link_language')
kwargs += { link_language: module.get('link_language') }
kwargs += { link_language: module.get('link_language') }
endif
vlc_plugin = library(
......@@ -319,4 +369,7 @@ foreach module : vlc_modules
vlc_plugins_targets += {
module['name']: vlc_plugin
}
vlc_plugins_manifest += {
module['name']: module
}
endforeach
......@@ -113,19 +113,22 @@ vlc_modules += {
}
# CVPX chroma converter
if host_system == 'darwin'
# TODO: Set minimum versions for tvOS and iOS
vlc_modules += {
'name' : 'cvpx',
'sources' : files(
'../codec/vt_utils.c',
'cvpx.c',
),
'link_with' : [chroma_copy_lib],
'dependencies' : [videotoolbox_dep, foundation_dep, coremedia_dep, corevideo_dep]
}
endif
# TODO: Set minimum versions for tvOS and iOS
vlc_modules += {
'name' : 'cvpx',
'sources' : files(
'../codec/vt_utils.c',
'cvpx.c',
),
'link_with' : [chroma_copy_lib],
'dependencies' : [
frameworks['VideoToolbox'],
frameworks['Foundation'],
frameworks['CoreMedia'],
frameworks['CoreVideo'],
],
'enabled' : host_system == 'darwin',
}
## Tests
......
......@@ -245,21 +245,19 @@ vlc_modules += {
}
# macOS/iOS accelerated video filters (CoreImage)
if host_system == 'darwin'
vlc_modules += {
'name' : 'ci_filters',
'sources' : files('ci_filters.m', '../codec/vt_utils.c'),
'dependencies' : [
foundation_dep,
coregraphics_dep,
coreimage_dep,
corevideo_dep,
(have_osx) ? dependency('gl', required: true) : opengles_dep
],
'include_directories' : [include_directories('../codec')]
}
endif
vlc_modules += {
'name' : 'ci_filters',
'sources' : files('ci_filters.m', '../codec/vt_utils.c'),
'dependencies' : [
frameworks['Foundation'],
frameworks['CoreGraphics'],
frameworks['CoreImage'],
frameworks['CoreVideo'],
(have_osx) ? dependency('gl', required: true) : frameworks['OpenGLES'],
],
'include_directories' : [include_directories('../codec')],
'enabled' : host_system == 'darwin',
}
# deinterlace common helper lib
deinterlacecommon_lib = static_library(
......
......@@ -17,13 +17,18 @@ vlc_modules += {
'../../codec/vt_utils.c'
),
'objc_args' : ['-fobjc-arc'],
'dependencies' : [foundation_dep, corefoundation_dep, corevideo_dep, darwingl_dep],
'dependencies' : [
frameworks['Foundation'],
frameworks['CoreFoundation'],
frameworks['CoreVideo'],
darwingl_dep,
],
}
if have_osx
uifwk_dep = cocoa_dep
uifwk_dep = frameworks['Cocoa']
else
uifwk_dep = uikit_dep
uifwk_dep = frameworks['UIKit']
endif
vlc_modules += {
......@@ -42,13 +47,21 @@ if have_ios or have_tvos
'name' : 'caeagl',
'sources' : files('VLCOpenGLES2VideoView.m'),
'objc_args' : ['-fobjc-arc'],
'dependencies' : [foundation_dep, uikit_dep, quartz_dep, opengles_dep],
'dependencies' : [
frameworks['Foundation'],
frameworks['UIKit'],
frameworks['QuartzCore'],
frameworks['OpenGLES']
],
}
vlc_modules += {
'name' : 'uiview',
'sources' : files('VLCVideoUIView.m'),
'objc_args' : ['-fobjc-arc'],
'dependencies' : [foundation_dep, uikit_dep],
'dependencies' : [
frameworks['Foundation'],
frameworks['UIKit'],
],
}
endif
......@@ -37,6 +37,7 @@ foreach vlc_test: vlc_tests
'-DTOP_SRCDIR="@0@"'.format(vlc_src_root),
]
disabled_dependencies = []
test_modules_deps = []
foreach module_name : vlc_test.get('module_depends', [])
if module_name not in vlc_plugins_targets.keys()
......@@ -44,8 +45,16 @@ foreach vlc_test: vlc_tests
.format(vlc_test['name'], module_name))
endif
test_modules_deps += vlc_plugins_targets[module_name]
if vlc_plugins_manifest[module_name].get('enabled', true)
disabled_dependencies += module_name
endif
endforeach
if disabled_dependencies != []
# TODO: mark as skipped
continue
endif
moc_sources = []
if vlc_test.has_key('moc_headers') and qt5_dep.found()
moc_sources += qt5.preprocess(moc_headers: vlc_test['moc_headers'],
......