Commit Graph

41 Commits

Author SHA1 Message Date
3dd5f4ebfd dbus: use sdbus-c++ for dbus communications
Change-Id: If10740b4fd192a1043c5f83adc9072fe67df7862
2023-05-29 11:57:03 -04:00
aa1d8707c9 cmake: "libjami-daemon" -> "libjami" (used in other build systems)
Change-Id: I9ef704107897a0a057e7d43feeb24d5e2eb73679
2023-05-25 13:36:34 -04:00
02867f1a74 cmake: install jamid to libexec
Change-Id: Ief19e95693560eb1db50a90a446106e201860680
2023-05-05 10:03:28 -04:00
11aafbbdf6 cmake: install libjami, jamid
GitLab: #848
Change-Id: I94da5dedff8f29e38f7aa517cf2212f5142d8f30
2023-04-26 13:14:51 -04:00
3b0def0923 DRT: swarm components
-created buckets for sockets
-created routing table that can have one or more buckets
-created a swarm protocol
-added swarm channel handler
-added manager which includes all the components above
-updated the makefile

Change-Id: I7973b2bb5e950a9dddd8dedb788f01e0c26f5f9f
2023-04-13 09:16:19 -04:00
89d4efbe18 buils/cmake: use pkgconfig to find jsoncpp
The cmake module might not always be provided.

Change-Id: Ie0561da113f31a3cdf0cdd669ed73cde76b51c8a
2023-03-10 20:16:18 -05:00
5eb9247b91 build/cmake: resolve natpmp lookup fallback name
Change-Id: I676b928b27c9ebf8cfc17433fc7313032891ebd4
2023-03-06 12:54:35 -05:00
68055744f2 build: fix native Windows build
There is no pkg-config style dependency detection for webrtc_ap on Windows.

Change-Id: Ic94cacea21c7828925997cc7d96c573cd7fbecda
2023-03-01 12:25:43 -05:00
b256d64959 build/cmake: fix on macOS
Change-Id: I728827c5515095f355c000d4a9a76f0a1a6eb78b
2023-02-24 14:11:02 -05:00
3e28557e98 build/cmake: use -j$(nproc) to build contrib
Change-Id: I1307012cc7b26c620b141deda0049bcea66860c3
2023-02-01 15:48:42 -05:00
9dd1a40591 build/cmake: build jamid (DBUS binding)
Change-Id: I3f22b989d406eabd4f2715c95a94df1618f8df0d
2023-01-18 17:08:13 -05:00
61dfbe4190 build/cmake: define PACKAGE_VERSION
Change-Id: I1b0148d46fb2e20d0f5708cfa72b472427fd9e91
2023-01-18 17:08:13 -05:00
f576fe9eca windows: fix contrib build
Change-Id: I3276506fbcf2a8092e2175daed806d90f0963f3f
2023-01-17 11:53:07 -03:00
5f335b3a9b build/cmake: build contrib and daemon tools
Change-Id: I23f3687eaa641af4c9fb78293e875a55665c3746
2023-01-13 10:43:25 -05:00
6a27ca07a3 windows: fix build
Change-Id: Ic42d861235b21cf8ba94ead88dd7b0ae4ea8daa4
2023-01-13 09:33:54 -03:00
a5fcd271e8 build/cmake: allow to build JNI layer for Android
Change-Id: I7b22ee47240a0d17175492b30369e51bdf657358
2023-01-12 15:02:05 -05:00
ac7ce59c42 connectivity: initial split from jami-related components
As a measure of refactorization of the code and to prepare to the
development of dhtnet, the following changes aims at seperating
jami-specific code to connectivity-specific code.

GitLab: #778
Change-Id: Iaa08100f7d61c80292f039a5aae66819cc85b0e9
2022-11-04 11:00:17 -04:00
76226044f5 Revert "fileutils: migrate to boost::nowide"
Causes issues with yaml-cpp. Reverting temporarily until we fix the issue.

Change-Id: I2df0823554ad87880bc965bdff4f4707a6129789
2022-09-08 14:23:55 -04:00
05ff5b3bfe fileutils: migrate to boost::nowide
Change-Id: Iceae2a19ce3febce62f7916af8b4242e06a7e1d4
2022-09-08 13:13:13 -04:00
6ff875cb59 audio: add voice activity detection
* rename EchoCanceller to AudioProcessor
* enable echo cancellation and voice activity detection
* add minimum active duration and trigger time to voice activation

Gitlab: #741
Change-Id: I98662462c17539fca1d042482e97fdb3eff86130
2022-08-09 14:09:13 -04:00
7a888cf04e misc: windows link static ffmpeg
Change-Id: I2d8d29077e15967f3869ffc341eda07852aa8fe8
2022-08-02 13:12:33 -04:00
a990260c74 contrib(msc): fix Windows natpmp build
The natpmp CMake build has no installation specified, so currently
we use the root source directory which contains the header files as
an include path in the daemon build. This may cause issues as case
insensative header includes for the standard library <version> will
incorrectly load natpmp's 'VERSION' file.

This patch copies the project's headers to an include directory
post-build, and adjusts the daemon's include path.

Change-Id: I4b318fb0309c72b94f4ea4e757035780ee2a8a63
2022-08-01 15:28:52 -04:00
72a7d2339a contrib: update msgpack, use C++17
Change-Id: Ic7ce824e1c14f9a3dc45c24d48381cbf1b9d818e
2022-06-29 09:14:54 -04:00
ba3a411ca3 daemon: Rename dring occurrences in code and file names to jamid.
Automated using the following commands:

  $ mv src/{dring,jami}
  $ git grep -l src/dring | xargs sed -i 's,src/dring,src/jami,g'
  $ git grep -l '#include "dring/' | \
    xargs sed -i 's,#include "dring/,#include "jami/,g'
  $ git grep -l 'dring.h' | xargs sed -i 's,dring.h,jami.h,g'

And finally,

  $ git grep -l 'dring' | xargs sed -i 's,dring,jami,g'

  $ files=$(find -name '*dring*' | sort)
  $ for f in $files; do mkdir -p "$(dirname "$f")"; \
      mv "$f" "$(echo $f | sed 's/dring/jami/g')"; done

To resolve a bad renaming favorably:

  $ git grep -l -i AlsaCarjami | \
    xargs sed -i -E 's/([Aa])lsaCarjami/\1lsaCardRingtone/g'

The above renaming command is not perfect, so some hand-tuning was
required to complete it.

* src/manager.cpp (Manager::ManagerPimpl::retrieveConfigPath):
Preserve the dring.yml configuration file name, until we add something
to migrate (rename) it to jami.yml.
* man/dring.pod: Delete.
* bin/dbus/jamid.pod: Move to ...
* man/jamid.pod: here.
* bin/dbus/meson.build (jamid_targets): Normalize man section to the
pre-existing 1 and adjust accordingly.
* src/jami/def.h (dring_EXPORTS): Rename to ...
(jami_EXPORTS): ... this.

change-Id: I9828be6da9c711ab2f22c4d1b9539fea89d7b6fb
2021-07-15 10:57:26 -04:00
224da96899 cmake: rename windows static library output to jami
Windows fixup post https://review.jami.net/c/jami-client-qt/+/18383

Change-Id: Id3b4b11ad49f09bfc0be22155145080b661aceeb
2021-06-29 22:41:27 -04:00
c9e467cc94 contrib(win32): add flag to update __cplusplus macro in msvc
Change-Id: Id259c9f57b4ae2a85a15c353b32afc290533800b
2021-05-13 18:11:02 -04:00
c4e912dd89 dependencies: add libgit2 as a dependency
Needed by the swarm chat in the future

Change-Id: Ic5802a0de8091c12b6f5ed666ee488c620723149
2021-03-30 13:49:07 -04:00
29799dbadf contrib(win32): use WASAPI as the only PortAudio host api
The DirectSound host api implementation in PortAudio has multiple
issues:
- requires utf8 support patch
- can't enumerate the default communication devices
- reports incorrect default sample-rates for devices

The WASAPI host api implementation needs to be patched to access
the default comm devices, but functions better out-of-the-box.

Change-Id: Ie27ee3e1418dd6d734ad6ad7685f2dc44db86007
Gitlab: #463
2021-03-15 18:21:40 -04:00
854362a8c2 aec: add initial webrtc-audio-processing implementation
- Enables high-pass filter, AEC, AGC, NS.
- Disables system AEC for Windows

Gitlab: #464
Change-Id: Ife6261a815395263abeca482bb78ad2c90133db3
2021-03-15 17:19:39 -05:00
e787de4ea5 aec: move aec implementations into EchoCanceller
Hide speexdsp's echo cancellation implementation details behind an
EchoCanceller derived class. An AudioLayer may now instantiate
implementations of the EchoCanceller. This may be platform specific
compile-time or swapped out at runtime.

Introduces a null echo canceller for testing. As the speexdsp aec
is not currently functional, the null echo canceller is replaced
as the default implementation.

GitLab: #454
Change-Id: I169f1e9758afbed884fc42d9d78a69ce28d12fe2
2021-03-15 16:58:58 -04:00
3b14731deb misc: omit cmake ZERO_CHECK to accommodate new vs update
daemon cmake ZERO_CHECK reference from ring-daemon vcxproj file
will cause the build to fail for client qt sln on windows when
using the newest Visual Studio

Change-Id: I0488f65a636b28ab1ba9a2add4550d5ce9a52ca1
2021-02-19 12:04:59 -05:00
0350064a32 contrib(win32): bump opendht and openssl build
- Uses 1.1.1 stable branch of https://github.com/openssl/openssl
  instead of https://github.com/microsoft/openssl. Note that this
  build will not pass app certification for the Windows store.
- bumps opendht to support the new OpenSSL build and removes some
  unused linkage
- adds a 'use_cmake' key to the package.json windows contrib
  build system
- allows us to shave about 4.5 min off openssl build time by
  defining MAKE_TOOL to jom.exe to override nmake
- adds /FS to force synchronous PDB writes

Change-Id: Idd06a0805b45fa19551c15d1859cbccca49e6bb6
2020-10-21 10:04:11 -04:00
69b4ccc788 libarchive: speed up build on windows by avoiding cmake configure
The cmake configure for libarchive takes forever, so it's bypassed
by using a pregenerated config.h and .vcxproj. Should speed up the
contrib build on windows by roughly 5 to 7 min according to single
core performance.

Change-Id: Ibbe2eed2848a5af97e1166fb6b75984b2142d3da
2020-08-21 11:04:42 -04:00
746d256f23 cmake: make default cxx standard to be c++ 17
Change-Id: I2a4a3aa1fc4fbfea771556bf7f652aee335a66ce
2020-07-24 15:52:35 -04:00
04278ccbf1 misc: cmake changes for windows client adaption
Change-Id: I720705ed96b8754f039170eca132e952c8ca92a3
2020-06-26 10:53:09 -04:00
03ed99103d plugin: libarchive and plugins as default for linux
fix preferences set in first plugin loading
small logic changes in libraries loading
related to: https://review.jami.net/c/ring-project/+/14433

Change-Id: I4730f279ee38d337e3ef94dd9562a5dfc1a63c32
2020-06-05 10:17:10 -04:00
f1ff4c3e11 archiver: add libarchive
Change-Id: I2ff7d879de55e18bedcbddce74f743ffe8755ca6
2020-05-26 11:04:10 -04:00
989ff0b4e8 cmake: add NDEBUG macro to disable assert
Change-Id: I70582a67ea62a4b5f1735cff7915fe845bdf4789
2020-04-08 14:54:29 -04:00
3b1f043633 audiolayer: use Speex AEC
Change-Id: Ieb36dc5b97e8a451160b59079353c82f07d049be
2020-03-25 23:44:59 -04:00
4c5bf01207 msvc: move MSVC to compat folder and ignore cmake generated files
Change-Id: I5d1d0ac43221264a6cd756894dde07648382f6c3
2020-02-12 16:36:53 -05:00
7d2e5506cf project: use cmake to generate ring-daemon vcxproj
Change-Id: Ib1d736c241849415eaef957c9e6565e78cda45f1
2019-12-31 15:36:16 -05:00