aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhrxi <hrrrxi@gmail.com>2023-06-20 19:46:41 +0200
committerfiaxh <fiaxh@users.noreply.github.com>2023-10-06 15:25:12 +0200
commite6938c29653743974eb4f03d2a988cef50d0adbc (patch)
tree510560a0e0144578a250bc54b47115cde6f56311
parent715fabb5bb793f35926180363bd6f9236d904f42 (diff)
downloaddino-e6938c29653743974eb4f03d2a988cef50d0adbc.tar.gz
dino-e6938c29653743974eb4f03d2a988cef50d0adbc.zip
meson: Add rtp plugin
-rw-r--r--meson.build8
-rw-r--r--plugins/meson.build1
-rw-r--r--plugins/rtp/meson.build41
-rw-r--r--plugins/rtp/vapi/webrtc-audio-processing.vapi0
4 files changed, 49 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index 887397c2..e3c6b72e 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('xmpp-vala', 'vala')
+project('xmpp-vala', 'c', 'cpp', 'vala')
fs = import('fs')
gnome = import('gnome')
@@ -12,6 +12,11 @@ dep_glib = dependency('glib-2.0')
dep_gnutls = dependency('gnutls')
dep_gmodule = dependency('gmodule-2.0')
dep_gpgme = dependency('gpgme')
+dep_gstreamer = dependency('gstreamer-1.0')
+dep_gstreamer_app = dependency('gstreamer-app-1.0')
+dep_gstreamer_audio = dependency('gstreamer-audio-1.0')
+dep_gstreamer_rtp = dependency('gstreamer-rtp-1.0')
+dep_gstreamer_video = dependency('gstreamer-video-1.0')
dep_gtk4 = dependency('gtk4')
dep_icu_uc = dependency('icu-uc')
dep_libadwaita = dependency('libadwaita-1')
@@ -27,6 +32,7 @@ dep_libsoup = dependency('libsoup-3.0')
dep_nice = dependency('nice', version: '>=0.1.15')
dep_m = meson.get_compiler('c').find_library('m', required: false)
dep_sqlite3 = dependency('sqlite3', version: '>=3.24')
+dep_webrtc_audio_processing = dependency('webrtc-audio-processing', version: ['>=0.2', '<0.4'])
prog_git = find_program('git', required: false)
prog_python = python.find_installation()
diff --git a/plugins/meson.build b/plugins/meson.build
index cf47aea8..196e3634 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -3,3 +3,4 @@ subdir('ice')
subdir('notification-sound')
subdir('omemo')
subdir('openpgp')
+subdir('rtp')
diff --git a/plugins/rtp/meson.build b/plugins/rtp/meson.build
new file mode 100644
index 00000000..d4d37e36
--- /dev/null
+++ b/plugins/rtp/meson.build
@@ -0,0 +1,41 @@
+dependencies = [
+ dep_gee,
+ dep_glib,
+ dep_gmodule,
+ dep_gnutls,
+ dep_gtk4,
+ dep_gstreamer,
+ dep_gstreamer_app,
+ dep_gstreamer_audio,
+ dep_gstreamer_rtp,
+ dep_gstreamer_video,
+ dep_crypto_vala,
+ dep_dino,
+ dep_qlite,
+ dep_webrtc_audio_processing,
+ dep_xmpp_vala,
+]
+sources = files(
+ 'src/codec_util.vala',
+ 'src/device.vala',
+ 'src/gst_fixes.c',
+ 'src/module.vala',
+ 'src/plugin.vala',
+ 'src/register_plugin.vala',
+ 'src/stream.vala',
+ 'src/video_widget.vala',
+ 'src/voice_processor.vala',
+ 'src/voice_processor_native.cpp',
+)
+c_args = [
+ '-DGST_1_16',
+ '-DGST_1_18',
+ '-DGST_1_20',
+ '-DWITH_VOICE_PROCESSOR',
+ '-DG_LOG_DOMAIN="rtp"',
+]
+vala_args = [
+ '--vapidir', meson.current_source_dir() / 'vapi',
+]
+lib_rtp = shared_library('rtp', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / 'dino/plugins')
+dep_rtp = declare_dependency(link_with: lib_rtp, include_directories: include_directories('.'))
diff --git a/plugins/rtp/vapi/webrtc-audio-processing.vapi b/plugins/rtp/vapi/webrtc-audio-processing.vapi
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/plugins/rtp/vapi/webrtc-audio-processing.vapi