Commit Graph

15073 Commits

Author SHA1 Message Date
048cf25458 api: remove unused importAccounts exportAccounts
Change-Id: I7df89a3a8d6f138c5bc88d164116d395cd9c3e5f
2021-04-14 16:15:55 -04:00
df279c1a4d swarm: add callHistory and transfer messages
Change-Id: I30a9d8ca23e50fa5499ba9098cbf062032cc08f8
GitLab: #367
2021-04-14 14:47:31 -04:00
9a7e88327b swarm: add conversation member event signal
Change-Id: I2fb22051230d9a1afc46020f81f1d72bc99d175b
GitLab: #362
2021-04-14 14:47:10 -04:00
fade584743 swarm: add support for modes
Actually just one to one and invites only will be authorized.

Change-Id: I84189cc86b4f91be449cda090d891bc782f06353
GitLab: #360
2021-04-14 14:47:01 -04:00
515cd963cd swarm: fetch validation
Before merging a remote branch for the conversation, each
commit is validated. This avoid to get unwanted commits.

Change-Id: I8bfe559df3ceec406293da0a586b35cf1b67ef99
GitLab: #345
2021-04-14 14:46:46 -04:00
ce61749408 swarm: remove a user/device from the conversation
TODO

Change-Id: I23b5d00e9b69dcc667cb52543d528171f9f34fdc
GitLab: #298
GitLab: #299
2021-04-14 14:46:19 -04:00
1169de91fb more use of {fmt}
Change-Id: Ia6df7343576af586ed1beff8f6600a9b9af34e2a
2021-04-14 14:45:32 -04:00
2a04f3e0ab use dht::toHex for crls
Change-Id: I0c4514f9676dc0c29d309c9176e116643e48d198
2021-04-14 14:45:23 -04:00
4b6a085120 use {fmt} instead of stringstream
Change-Id: I77f0e24c97efc199ab83c517559d5588880b0215
2021-04-14 14:45:07 -04:00
65bc8ba203 avoid stringstream if reasonable
Change-Id: Iacaa19d82eb6a4517c85ac668bdfc01c43a22792
2021-04-14 14:44:56 -04:00
fe90d939ea alsa: use echo cancellation
Change-Id: Ied9f4a735da074e3519083b2faaac4a1b5551ab7
2021-04-14 14:44:47 -04:00
3d43703b59 alsa: implement audio stream lifecycle
Change-Id: I66713cbcfefb391c32c0d1e5e8afeaedf60c2b6b
2021-04-14 14:42:05 -04:00
f5ee4d5159 upnp: don't schedule update if no igd
Change-Id: I1eec857f388df386bb8d69cbdc865551a4c10c85
2021-04-13 15:20:54 -04:00
8329f312fa sipcall: fix getVideoReceiver
It was always returning nullptr

Change-Id: I122db004d63b7844b05589f7de596d50140a1795
2021-04-13 15:11:26 -04:00
7852d43122 ice: add basic test for IceTransport
Change-Id: I285b553701126f50e8b9f50d371a11fb3ccd6933
2021-04-13 13:38:52 -04:00
26cb970460 cmake: add missing source files
Change-Id: Ie501a79935ea5368a9df85cab2ff9a79ed5e7453
2021-04-13 11:32:34 -04:00
77a69e76c0 multi-stream: add new signals for media change
Add a 'mediaNegotiationStatus' signal to report media negotiation (SD)
status (SUCCES/FAIL).

Gitlab: #380

Change-Id: Id3ecb14484466ce80be716e05071a1eb31d50c2a
2021-04-12 14:11:03 -04:00
9028b7b2e7 callmanager: fix build
Change-Id: I928e682b4d22583b1a6ac7c710c31706bb5d2714
2021-04-12 13:15:10 -04:00
668954bd0e nodejs: build for Node v14
Change-Id: Ia4e4bcaab538ddd9a5fd2c256e7f323c87b3108a
2021-04-10 18:18:31 -04:00
1b779e7dec configure.ac: Clear the implicit default C and C++ flags.
They were being added by Autoconf following our own defaults, leading
to the erroneous -g -O3 -g -O2 options being passed to GCC.  This is
documented in the C Compiler and C++ Compiler sections of the Autoconf
manual.

* configure.ac: Clear the default CFLAGS and CXXFLAGS variables.

Reported-by: Adrien Beraud <adrien.beraud@savoirfairelinux.com>
Change-Id: Id5e24cb2544ac4492b229746ad7ea1dee7cbb963
2021-04-10 00:03:54 -04:00
03c5b7528f swarm: remove conversation, first version
Link removeConversation. For this feature there is two possibilities:
+ If we are the last member, remove all the files.
+ If not, wait for another user to sync.

Change-Id: I387a20fe93a72524ae701e7e98d66633d91a9ede
GitLab: #305
2021-04-09 18:02:39 -04:00
c582529f2d tools: add swarm.py to play with swarms
Introduce a new tool using dringctrl to interact with swarms

Change-Id: I067c05a21544a78e4b897025d0b5ebaf52feb7ea
2021-04-09 18:02:39 -04:00
5d15eb24ff swarm: first implementation for conversation's requests
Implement getConversationsRequests and syncing

Gitlab: #302
Change-Id: I98287d807eb1c11ddad0fa776e275ca092ee589b
2021-04-09 18:02:39 -04:00
24b19c67eb swarm: synchronize conversations between devices
Change-Id: I9116f86f9bd008be14c0ccfaebd831839a5e4f63
Gitlab: #311
2021-04-09 18:02:39 -04:00
1527828d79 swarm chat: make API visible and bump daemon version
Change-Id: Ice65f7ded98ef5575732334a9d6c61b81aeaf655
2021-04-09 18:02:39 -04:00
26f4672670 opensl: fix crashes
Change-Id: I790fd96b17309d2203d5ba18b675d998124b758a
2021-04-09 16:57:32 -04:00
a66b10c30e Multi-stream: Create and update media of an outgoing call
Add APIs to set a list of desired media to included when making
outgoing calls.
Also add APIs to update the media of an ongoing call. The update
can be used for example to "mute/un-mute" a media, or to add a new
media (add video to an audio-only call).

Gitlab: #380

Change-Id: Iab32a72547f3a0a2328408aadc6a7656c971a7b0
2021-04-09 15:09:19 -04:00
6b1a6324b9 conference: fix update missing at the end of conference
Change-Id: I99eec91ed65ab5c2a6d2b0e021e1490d0d7b5df1
Gitlab: #505
2021-04-09 13:40:59 -04:00
ef90dd1829 conference: fix participant resizing
Change-Id: If63fa7fb382bd32b2d8326875250099a252a1ac1
Gitlab: #503
2021-04-09 13:40:37 -04:00
4ba5053d97 conference: fix confInfo comparison
Change-Id: Ib317c52ac241bd2547729b2e0c532bc93ee346e3
Gitlab: #491
2021-04-09 12:53:21 -04:00
ac5d3bad64 conference: fix confInfo update
Send confInfo update after a remote conference is
finished

Change-Id: I8992ac468899cfe23c97fc6e4d6449ff29905587
2021-04-09 12:53:21 -04:00
967c11a031 conference: add final frame size to confInfo
Gitlab: #467
Change-Id: I541ea21fabf7e4ee957174676579c5850115f9fb
2021-04-09 12:53:21 -04:00
26b75a6243 conference: transfert mute and hangup in conference
When 2 conferences are merged, a host can transmit
moderator commands to another host.
Change remote layout is not supported, the layout
management will be moved client side.

Gitlab: #449
Change-Id: I1550677ef7f8babf19a729dad12a224f12226fbd
2021-04-09 12:53:21 -04:00
911cd1f887 plugins: add macosx abi
GitLab: #508
Change-Id: I77585afd484fa2c8deb5f548b96a0e954f316e32
2021-04-08 14:03:19 -04:00
7c87a8fcc8 jamiaccount: always trigger dht_->connectivityChanged()
the dht will manages it's own state.

Change-Id: Idf20cdba2768130a09977b58b28cb8f7bfd22602
2021-04-08 13:02:24 -04:00
5bd9a4af70 connectionmanager: reschedule requset handling on io pool
Possible workaround for issues with "no response from DHT". It can be a
blocked mutex, but I can't reproduce, so this is a tentative to improve
the behavior and to be sure it's not a locked mutex there.

Change-Id: I4c8f152be08f4243ef1654cd36d661989783be0b
GitLab: #421
2021-04-07 14:34:42 -04:00
9a5b8f3f54 pjproject: ignore down interfaces
Some interfaces (typically from docker or virtual machines) were added
in the candidates even if down. For example:

9: br-b8251442502e: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
state DOWN group default

Even if state=DOWN if_enum_by_af consider the ip as valid and adds it in the
candidates because IFF_UP is true. However, if_enum_by_af should use IFF_RUNNING
to detect if the interface is up and running before adding it. Like
 iproute2/bridge/link.c does for print_link_flags.

Resource: https://man7.org/linux/man-pages/man7/netdevice.7.html

Upstream ticket: https://github.com/pjsip/pjproject/issues/2686
Change-Id: I168954509ec935bb45e39700e57a0c12ac837931
GitLab: #495
2021-04-07 14:07:34 -04:00
bbd4aecad6 ice_transport: avoid to fail on too many remotes candidates
If the peer sends too many remote candidates, the negotiation
will just fail, but should not, as we have enough infos (even too
much) to connects.
So, instead of failing, just construct a better list.

Change-Id: Ic8ad86b2b97e04aca9a5660ab2f65068b01a928f
GitLab: #495
2021-04-07 13:41:09 -04:00
b738f0e856 nodejs: update gyp
Change-Id: I514b868d9f95908d65404a0fd17dce1d35b6ab70
2021-04-07 10:41:05 -04:00
51c73e8287 nodejs: add .gitignore
Change-Id: Ia73ac56462f9c36e183fbd76849ff3133b18030d
2021-04-07 10:41:05 -04:00
d049697976 nodejs: update JS wrapper
Change-Id: I127b987aa079b99f37346dad29291f1e2a2867bd
2021-04-07 10:41:05 -04:00
1495e22e22 nodejs: update for Node v12
Change-Id: I54e1cf4dfc9aa95f25f90523bd2ae465cbf098f4
2021-04-07 10:41:05 -04:00
ea84661121 configure: require OpenDHT
Change-Id: Icac429914b1cbda880909a130af1c0934abedbf3
2021-04-07 10:41:05 -04:00
7b1b0b5516 upnp: Connectivity change handling and clean-up
This patch introduces three major changes:
1- When a "Connectivity Change" notification is received from the
configuration manager, the current IGDs and the provisioned mappings
were reset and a new search and provisioning was started anew.
Now, the reset/restart is performed only if the host address actually
changes.
2- Many code simplification and clean-up. Obsolete code used to
handle asynchronous operations on libupnp was also removed.
Most of the calls to libupnp are now synchronous. Blocking calls
are dispatched on the internal execution queue (worker thread).
3- Add synchronization to avoid thread race at shutdown

Gitlab: #416

Change-Id: I26970d78db494795f23379c7a9af5a20a665bb06
2021-04-07 09:15:55 -04:00
ee9ff16706 multiplexed-channel: fix compilation warning
Change-Id: I75fd27f851231f23973b3226920ebba19ab7a945
2021-04-01 14:10:46 -04:00
1b39b4e9a6 Revert "plugins: don't activate if plugins are disabled"
This reverts commit 17f9bda885.

Reason for revert: major design issue. When plugin are disabled, every plugin will be disabled, then every plugin are unloaded, so no handler can remain after disabling plugin.

Change-Id: Icd393d179b45866e46dd4cc3d902174699ac2d98
2021-03-31 18:35:40 -04:00
f05ebe11aa nodejs: fix build with Node v12, latest SWIG
Change-Id: Iab028848b637ea8031621d2f5567a1bb01d2bf79
2021-03-31 18:07:03 -04:00
cc7be87b0e audio: Do not prevent pulseaudio from autospawning a server.
This prevents downgrading the audio experience to ALSA on system
running a vanilla pulseaudio configuration that relies on pulseaudio
being able to manage the pulseaudio server itself.

* src/media/audio/pulseaudio/pulselayer.cpp (PulseLayer::PulseLayer)
[PA_CONTEXT_NOAUTOSPAWN]: Replace flags argument value with
PA_CONTEXT_NOFLAGS.
* src/media/audio/pulseaudio/pulselayer.h: Fix typo.

GitLab: #473
Change-Id: I219223dd8a1237a51b3e5bf60d6535518d748b63
2021-03-31 17:24:10 -04:00
c838727f6c tests: fix build for testString_utils.cpp
Change-Id: I58229b352a9d1ed1507696ccdf5341e697ffbfb9
2021-03-31 17:21:55 -04:00
c420c5b49c build: fix build on recent gcc, DhParams must be destructible
On recent gcc, daemon fails (static assertion failed: result type
must be destructible) cause futures must access the destructor
since commit/71ed3c0c9a3458998bded8e2443c0a680c2eb8cd in gcc

Change-Id: I1e7d35da6aeaffffcb6aa9362d335625ea370052
2021-03-31 16:37:09 -04:00