2020-06-27 04:37:39 +00:00
|
|
|
webrtc_sources = files([
|
2017-01-31 09:56:59 +00:00
|
|
|
'dtlstransport.c',
|
2022-04-18 17:55:13 +00:00
|
|
|
'ice.c',
|
|
|
|
'icestream.c',
|
2017-01-31 09:56:59 +00:00
|
|
|
'icetransport.c',
|
|
|
|
'rtcsessiondescription.c',
|
|
|
|
'rtpreceiver.c',
|
|
|
|
'rtpsender.c',
|
|
|
|
'rtptransceiver.c',
|
2020-06-01 11:46:03 +00:00
|
|
|
'datachannel.c',
|
2021-05-07 06:12:25 +00:00
|
|
|
'sctptransport.c',
|
2022-01-28 17:11:41 +00:00
|
|
|
'webrtc.c',
|
2020-06-27 04:37:39 +00:00
|
|
|
])
|
2017-01-31 09:56:59 +00:00
|
|
|
|
2020-06-27 04:37:39 +00:00
|
|
|
webrtc_headers = files([
|
2017-01-31 09:56:59 +00:00
|
|
|
'dtlstransport.h',
|
2022-04-18 17:55:13 +00:00
|
|
|
'ice.h',
|
|
|
|
'icestream.h',
|
2017-01-31 09:56:59 +00:00
|
|
|
'icetransport.h',
|
|
|
|
'rtcsessiondescription.h',
|
|
|
|
'rtpreceiver.h',
|
|
|
|
'rtpsender.h',
|
|
|
|
'rtptransceiver.h',
|
2020-06-01 11:46:03 +00:00
|
|
|
'datachannel.h',
|
2017-01-31 09:56:59 +00:00
|
|
|
'webrtc_fwd.h',
|
|
|
|
'webrtc.h',
|
2021-05-07 06:12:25 +00:00
|
|
|
'sctptransport.h',
|
2020-06-27 04:37:39 +00:00
|
|
|
])
|
2017-01-31 09:56:59 +00:00
|
|
|
|
2020-06-27 04:37:39 +00:00
|
|
|
webrtc_enumtypes_headers = files([
|
2017-01-31 09:56:59 +00:00
|
|
|
'dtlstransport.h',
|
2022-04-18 17:55:13 +00:00
|
|
|
'ice.h',
|
|
|
|
'icestream.h',
|
2017-01-31 09:56:59 +00:00
|
|
|
'icetransport.h',
|
|
|
|
'rtptransceiver.h',
|
|
|
|
'webrtc_fwd.h',
|
2020-06-27 04:37:39 +00:00
|
|
|
])
|
2017-01-31 09:56:59 +00:00
|
|
|
|
2018-03-22 14:07:53 +00:00
|
|
|
webrtc_enums = gnome.mkenums_simple('webrtc-enumtypes',
|
|
|
|
sources : webrtc_enumtypes_headers,
|
2018-09-24 10:52:22 +00:00
|
|
|
body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
|
2018-03-22 14:07:53 +00:00
|
|
|
header_prefix : '#include <gst/webrtc/webrtc_fwd.h>',
|
|
|
|
decorator: 'GST_WEBRTC_API',
|
|
|
|
install_header: true,
|
2018-08-10 11:57:47 +00:00
|
|
|
install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/webrtc/'))
|
|
|
|
|
2018-03-22 14:07:53 +00:00
|
|
|
gstwebrtc_c = webrtc_enums[0]
|
|
|
|
gstwebrtc_h = webrtc_enums[1]
|
2017-01-31 09:56:59 +00:00
|
|
|
|
|
|
|
webrtc_gen_sources = [gstwebrtc_h]
|
|
|
|
|
2018-03-15 10:04:00 +00:00
|
|
|
gstwebrtc_dependencies = [gstbase_dep, gstsdp_dep]
|
2017-01-31 09:56:59 +00:00
|
|
|
|
|
|
|
gstwebrtc = library('gstwebrtc-' + api_version,
|
|
|
|
webrtc_sources, gstwebrtc_c, gstwebrtc_h,
|
2021-10-01 14:31:18 +00:00
|
|
|
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_WEBRTC', '-DG_LOG_DOMAIN="GStreamer-WebRTC"'],
|
2017-01-31 09:56:59 +00:00
|
|
|
include_directories : [configinc, libsinc],
|
|
|
|
version : libversion,
|
|
|
|
soversion : soversion,
|
2018-08-31 09:07:46 +00:00
|
|
|
darwin_versions : osxversion,
|
2017-01-31 09:56:59 +00:00
|
|
|
install : true,
|
|
|
|
dependencies : gstwebrtc_dependencies,
|
|
|
|
)
|
|
|
|
|
2020-06-27 04:39:00 +00:00
|
|
|
library_def = {'lib': gstwebrtc}
|
|
|
|
pkg_name = 'gstreamer-webrtc-1.0'
|
2018-04-07 20:33:47 +00:00
|
|
|
pkgconfig.generate(gstwebrtc,
|
|
|
|
libraries : [gst_dep, gstbase_dep],
|
|
|
|
variables : pkgconfig_variables,
|
|
|
|
subdirs : pkgconfig_subdirs,
|
2020-06-27 04:39:00 +00:00
|
|
|
name : pkg_name,
|
2018-04-07 20:33:47 +00:00
|
|
|
description : 'GStreamer WebRTC support',
|
|
|
|
)
|
|
|
|
|
2018-03-15 10:04:00 +00:00
|
|
|
if build_gir
|
2020-06-27 04:39:00 +00:00
|
|
|
gir = {
|
|
|
|
'sources' : webrtc_sources + webrtc_headers + [gstwebrtc_h],
|
|
|
|
'namespace' : 'GstWebRTC',
|
|
|
|
'nsversion' : api_version,
|
|
|
|
'identifier_prefix' : 'Gst',
|
|
|
|
'symbol_prefix' : 'gst',
|
|
|
|
'export_packages' : pkg_name,
|
|
|
|
'includes' : ['Gst-1.0', 'GstSdp-1.0'],
|
|
|
|
'install' : true,
|
|
|
|
'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'] + ['--c-include=gst/webrtc/webrtc.h'],
|
|
|
|
'dependencies' : gstwebrtc_dependencies,
|
|
|
|
}
|
|
|
|
library_def = {'lib': library_def['lib'], 'gir': [gir]}
|
|
|
|
if not static_build
|
|
|
|
webrtc_gir = gnome.generate_gir(gstwebrtc, kwargs: gir)
|
|
|
|
webrtc_gen_sources += webrtc_gir
|
|
|
|
endif
|
2018-03-15 10:04:00 +00:00
|
|
|
endif
|
2020-06-27 04:39:00 +00:00
|
|
|
libraries += [[pkg_name, library_def]]
|
2018-03-15 10:04:00 +00:00
|
|
|
|
2017-01-31 09:56:59 +00:00
|
|
|
install_headers(webrtc_headers, subdir : 'gstreamer-1.0/gst/webrtc')
|
|
|
|
|
|
|
|
gstwebrtc_dep = declare_dependency(link_with: gstwebrtc,
|
|
|
|
include_directories : libsinc,
|
2018-03-15 10:04:00 +00:00
|
|
|
sources: webrtc_gen_sources,
|
2017-01-31 09:56:59 +00:00
|
|
|
dependencies: gstwebrtc_dependencies)
|
2018-04-07 20:33:47 +00:00
|
|
|
|
2020-06-27 04:39:00 +00:00
|
|
|
meson.override_dependency(pkg_name, gstwebrtc_dep)
|
2022-04-18 17:55:13 +00:00
|
|
|
|
|
|
|
subdir('nice')
|