Add building via meson, remove outdated options

Co-authored-by: Thulinma <jaron@vietors.com>
Change-Id: I2a620c8d98aca7203f6742c66c3f82afe91b5c3c
This commit is contained in:
Gijs Peskens 2022-09-20 15:40:08 +02:00 committed by Thulinma
parent ca9724f1f8
commit 529adbfaf6
23 changed files with 855 additions and 82 deletions

133
src/output/meson.build Normal file
View file

@ -0,0 +1,133 @@
outputs = [
{'name' : 'RTMP', 'format' : 'rtmp'},
{'name' : 'DTSC', 'format' : 'dtsc'},
{'name' : 'OGG', 'format' : 'ogg', 'extra': ['http']},
{'name' : 'FLV', 'format' : 'flv', 'extra': ['http'] },
{'name' : 'HTTPMinimalServer', 'format' : 'http_minimalserver', 'extra': ['http']},
{'name' : 'MP4', 'format' : 'mp4', 'extra': ['http']},
{'name' : 'AAC', 'format' : 'aac', 'extra': ['http']},
{'name' : 'MP3', 'format' : 'mp3', 'extra': ['http']},
{'name' : 'H264', 'format' : 'h264', 'extra': ['http']},
{'name' : 'HDS', 'format' : 'hds', 'extra': ['http']},
{'name' : 'SRT', 'format' : 'srt', 'extra': ['http']},
{'name' : 'JSON', 'format' : 'json', 'extra': ['http']},
{'name' : 'TS', 'format' : 'ts', 'extra': ['ts']},
{'name' : 'HTTPTS', 'format' : 'httpts', 'extra': ['http', 'ts']},
{'name' : 'HLS', 'format' : 'hls', 'extra': ['http', 'ts']},
{'name' : 'CMAF', 'format' : 'cmaf', 'extra': ['http']},
{'name' : 'EBML', 'format' : 'ebml', 'extra': ['http']},
{'name' : 'RTSP', 'format' : 'rtsp'},
{'name' : 'WAV', 'format' : 'wav', 'extra': ['http']},
{'name' : 'SDP', 'format' : 'sdp', 'extra': ['http']},
]
if usessl
outputs += [
{'name' : 'HTTPS', 'format' : 'https'},
{'name' : 'WebRTC', 'format' : 'webrtc', 'extra': ['http','jpg']}
]
endif
if have_librist
outputs += {'name' : 'TSRIST', 'format' : 'tsrist', 'extra': ['ts', 'debased', 'with_rist']}
endif
if have_srt
outputs += {'name' : 'TSSRT', 'format' : 'tssrt', 'extra': ['ts', 'debased', 'with_srt']}
endif
if get_option('WITH_JPG')
outputs += {'name' : 'JPG', 'format' : 'jpg', 'extra': ['http','jpg']}
endif
if get_option('WITH_SANITY')
outputs += {'name' : 'SanityCheck', 'format' : 'sanitycheck'}
endif
#Referenced by targets in process
output_ebml_cpp = files('output_ebml.cpp')
output_http_cpp = files('output_http.cpp')
output_ts_base_cpp = files('output_ts_base.cpp')
output_cpp = files('output.cpp')
outputs_tgts = []
foreach output : outputs
link_libs = [libmist]
deps = []
base = files('mist_out.cpp')
tsBaseClass = 'Output'
extra_tgt_dep = []
sources = [
files('output.cpp',
'output_'+output.get('format')+'.cpp'),
io_cpp
]
if output.has_key('extra')
extra = output.get('extra')
if not extra.contains('debased')
sources += base
endif
if extra.contains('http')
sources += files('output_http.cpp')
if extra.contains('ts')
tsBaseClass = 'HTTPOutput'
endif
endif
if extra.contains('jpg')
extra_tgt_dep = embed_tgts
endif
if extra.contains('ts')
sources += files('output_ts_base.cpp')
endif
if extra.contains('with_rist')
deps += librist
endif
if extra.contains('with_srt')
link_libs += libmist_srt
deps += libsrt
endif
else
sources += base
endif
if output.get('name').contains('HTTPS')
deps += ssl_deps
endif
executables += {
'name': 'MistOut'+output.get('name'),
'sources' : [
sources,
extra_tgt_dep,
header_tgts
],
'link' : link_libs,
'deps' : deps,
'defines' : [
string_opt.format('OUTPUTTYPE', 'output_'+output.get('format')+'.h'),
'-DTS_BASECLASS='+tsBaseClass
]
}
endforeach
executables += {
'name' : 'MistOutHTTP',
'sources' : [
files(
'mist_out.cpp',
'output.cpp',
'output_http.cpp',
'output_http_internal.cpp',
),
io_cpp,
header_tgts,
embed_tgts,
],
'link' : libmist,
'defines' :[
string_opt.format('OUTPUTTYPE', 'output_http_internal.h')
],
'deps' : []
}