- Mar 30, 2021
-
-
Sébastien Blin authored
This patch offers an API to create conversation. A conversation is represented by a git repository. The repository will contains the account certificate in /admins, its CRLs in /CRLs and the device key in /devices. Moreover, the first signed commit's hash will be the conversation's id Change-Id: Iac7ff7f6002185a5bb0f51d4c10df1afe9e059b4
-
Sébastien Blin authored
Needed by the swarm chat in the future Change-Id: Ic5802a0de8091c12b6f5ed666ee488c620723149
-
- Mar 29, 2021
-
-
Adrien Béraud authored
Change-Id: I4ede33afd5823eb3ce320a03be10e79fcb417ae8
-
- Mar 28, 2021
-
-
Adrien Béraud authored
fixed by https://review.jami.net/c/ring-client-android/+/17432 Change-Id: I8898d58457c42fc8217328d657ddaff4b97ae9cb
-
Adrien Béraud authored
Change-Id: I7a2227aafe585bee1f4ed115f22e987e77fd49ff
-
Bring consistency in the indentation rules used throughout the file. GitLab: #487 Change-Id: I4d8e4050a0f21df9a380fc25e0d3de04f15fe941
-
The CFLAGS, CXXFLAGS, LDFLAGS and other variables intended to be overridden by the user should not directly be set by the package. This change uses one of the approaches recommended by the Autoconf and Automake manuals, which is to use custom variables to accumulate flags in the configure script and add them to the make targets they apply to. This has the benefit of not cluttering the flags used during the Autoconf tests, which has proved problematic (see the previous commit for a demonstration). * configure.ac: Replace CFLAGS, CXXFLAGS, CPPFLAGS and LDFLAGS by DAEMONCFLAGS, DAEMONCXXFLAGS, DAEMONCPPFLAGS and DAEMONLDFLAGS, respectively. Use these custom variables as the default values of AM_CFLAGS, AM_CXXFLAGS, AM_CPPFLAGS and AM_LDFLAGS, respectively. Remove an extraneous check on jsoncpp. * bin/Makefile.am (ringcli_CXXFLAGS): Honor the the AM_CXXFLAGS variable. globals.mk: Extend rather than override the AM_CPPFLAGS variable. * src/Makefile.am (libring_la_LDFLAGS): Honor AM_LDFLAGS. (libring_la_CFLAGS): Honor AM_CFLAGS. (libring_la_CXXFLAGS): Honor AM_CXXFLAGS. * src/client/Makefile.am (libclient_la_CXXFLAGS): Honor AM_CXXFLAGS. * src/im/Makefile.am (libim_la_CXXFLAGS): Remove variable. * src/jamidht/Makefile.am (libringacc_la_CXXFLAGS): Likewise. * src/media/audio/Makefile.am (libaudio_la_CXXFLAGS): Honor AM_CXXFLAGS. (libaudio_la_LDFLAGS): Honor the AM_CXXFLAGS variable. * src/media/audio/coreaudio/Makefile.am (libcoreaudiolayer_la_CXXFLAGS): Likewise. * src/media/video/Makefile.am (libvideo_la_CFLAGS): Honor the AM_CFLAGS variable. (libvideo_la_CXXFLAGS): Honor the AM_CXXFLAGS variable. * src/media/video/v4l2/Makefile.am (AM_CXXFLAGS): Extend rather than override. * src/plugin/Makefile.am (libplugin_la_CXXFLAGS): Honor the AM_CXXFLAGS variable. * src/security/Makefile.am (libsecurity_la_CXXFLAGS): Likewise. * src/sip/Makefile.am (libsiplink_la_CXXFLAGS): Likewise. * src/upnp/Makefile.am (libupnpcontrol_la_CXXFLAGS): Remove variable. * src/upnp/protocol/Makefile.am (libupnpprotocol_la_CXXFLAGS): Likewise. * src/upnp/protocol/natpmp/Makefile.am (libnat_pmp_la_CXXFLAGS): Likewise. * src/upnp/protocol/pupnp/Makefile.am (libpupnp_la_CXXFLAGS): Likewise. * test/sip/Makefile.am (AM_CXXFLAGS, AM_LDFLAGS): Extend rather than override. * test/unitTest/Makefile.am (AM_CXXFLAGS, AM_LDFLAGS): Likewise. GitLab: #487 Change-Id: I18be9d812159f8156efb9f7849e7eac6d4c6b3ca squash! configure.ac: Do not set user variables. Change-Id: I1146ea15d6fb75fe53d3cbdd782e981c933e82a6
-
Do not unnecessarily clutter CPPFLAGS; the variable is honored by Autoconf while running its conftests and can cause issues such as symbol clashes between the libnatpmp and webrtc-audio-processing library observed below: configure:20851: checking for initnatpmp in -lnatpmp configure:20873: g++ -std=gnu++17 -o conftest -DNDEBUG=1 -O3 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPJ_AUTOCONF=1 -I/home/maxim/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -fvisibility=hidden -DDRING_BUILD -Ddring_EXPORTS -DASIO_STANDALONE -I/home/maxim/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -I/gnu/store/zimpk6gqmjrwxc7fnam212kv3a6dwpzz-jsoncpp-1.9.2/include -DWEBRTC_AUDIO_PROCESSING_ONLY_BUILD -DWEBRTC_POSIX -I/home/maxim/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/webrtc_audio_processing -Wl,-Bsymbolic -ldl -L/home/maxim/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -L/gnu/store/zimpk6gqmjrwxc7fnam212kv3a6dwpzz-jsoncpp-1.9.2/lib -ljsoncpp -L/home/maxim/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -lwebrtc_audio_processing conftest.cpp -lnatpmp -lpthread -lssl -lcrypto >&5 ld: /tmp/cc5prP4w.o: in function `main': conftest.cpp:(.text.startup+0x0): multiple definition of `main'; /home/maxim/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib/libwebrtc_audio_processing.a(libwebrtc_audio_processing_la-click_annotate.o):click_annotate.cc:(.text.startup+0x0): first defined here collect2: error: ld returned 1 exit status configure:20873: $? = 1 This was causing the link test of the libnatpmp library to fail, which in turned caused the natpmp support to be disabled entirely. * src/Makefile.am (libring_la_LDFLAGS): Add @WEBRTC_LIBS@. (libring_la_CFLAGS): Add @WEBRTC_CFLAGS@. * src/media/audio/Makefile.am (libaudio_la_CXXFLAGS) [HAVE_WEBRTC_AP]: Add @WEBRTC_CFLAGS@. * src/media/audio/echo-cancel/Makefile.am (libecho_cancel_la_CXXFLAGS): Add @WEBRTC_CFLAGS@ and honor AM_CXXFLAGS. GitLab: #487 Change-Id: I064d6a563318b34b2f3f516ca2aa8c2831205b09
-
- Mar 27, 2021
-
-
Same as was done in commit: d7a83d24 Change-Id: If55c67037dbf578c1eccc594676b50ae1ad6f876
-
- Mar 26, 2021
-
-
* configure.ac: Bump required autoconf version to 2.69 and remove the uses of the obsoleted AC_HEADER_STDC and AC_HEADER_TIME macros. GitLab: #487 Change-Id: Idb210870c298b83ddabe189e341d0846f04a1bb9
-
Maxim Cournoyer authored
Previously, the build machine would need to provide dbusxx-xml2cpp itself, while the library would be used from the contribs (always forced, as dbusxx-xml2cpp is unmaintained and slightly broken on newer GCCs). This change removes the requirement to have the dbus-c++ package installed on the build machine. Change-Id: I25ad2ee3e80afc33b320de9256b724a3c254f4fb
-
Otherwise the '-lm' linker flag would not be used and compilation the opus configure time check would fail like (excerpt from config.log): pkg-config --exists --print-errors opus check_func_headers opus_multistream.h opus_multistream_decoder_create -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -lopus test_ld cc -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -lopus test_cc -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib BEGIN /tmp/ffconf.Ad6jtRUj/test.c 1 #include <opus_multistream.h> 2 #include <stdint.h> 3 long check_opus_multistream_decoder_create(void) { return (long) opus_multistream_decoder_create; } 4 int main(void) { int ret = 0; 5 ret |= ((intptr_t)check_opus_multistream_decoder_create) & 0xFFFF; 6 return ret; } END /tmp/ffconf.Ad6jtRUj/test.c gcc -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -fPIC -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -DNDEBUG=1 -O3 -fPIC -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -DNDEBUG=1 -O3 -std=c11 -fomit-frame-pointer -fPIC -I/include -pthread -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -c -o /tmp/ffconf.Ad6jtRUj/test.o /tmp/ffconf.Ad6jtRUj/test.c gcc -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -Wl,--as-needed -Wl,-z,noexecstack -I/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/include/opus -L/home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib -o /tmp/ffconf.Ad6jtRUj/test /tmp/ffconf.Ad6jtRUj/test.o -lopus ld: /home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib/libopus.a(celt_decoder.o): in function `celt_decode_lost': celt_decoder.c:(.text+0x20d0): undefined reference to `sqrtf' ld: celt_decoder.c:(.text+0x20f5): undefined reference to `sqrtf' ld: /home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib/libopus.a(bands.o): in function `compute_theta': bands.c:(.text+0xe87): undefined reference to `sqrtf' ld: bands.c:(.text+0x1178): undefined reference to `sqrtf' The problem likely was discovered because using a subset of the required dependencies that didn't pull the math library. Change-Id: I79bc4f79eaa2288bf20528cd770f1ddafd56dec3
-
Change-Id: I2ea856c183df317eab45a5d6d5533ef1b3b6a0df
-
- Mar 25, 2021
-
-
Adrien Béraud authored
Change-Id: I2daba297b06c7886d29ba613a6341de33ad7fa86
-
Adrien Béraud authored
Change-Id: Iabc63814f515d53f1de8fc539ba49e154843a1cd
-
- Mar 24, 2021
-
-
Andreas Traczyk authored
IceTransport desctruction shouldn't block on the main thread. This problem is noticable when calling refuseCall from the UI thread and results in a blockage lasting MAX_DESTRUCTION_TIMEOUT. Even if MAX_DESTRUCTION_TIMEOUT is not reached, a polling interval of 500ms requires this destruction be done async. Change-Id: Ib6f9c0cff155755de30966875ab76e7288d39405
-
Change-Id: I69cc9da36dfbb1258f8f84e9351a6c1c29c2a722
-
Adrien Béraud authored
Change-Id: I81b8d9988aaa79d6e67142417e9f004689d69ab9
-
- Mar 22, 2021
-
-
When we stop playback stream we should check current audio category. If it is AVAudioSessionCategoryPlayAndRecord it is means we also have capture stream running and we should not destroy it. Change-Id: I4cc0f2ddcd8b26840f4b2968a890c4803c187448
-
Andreas Traczyk authored
Also adds portaudio api specific device preferences in the config using strings instead of indices. An empty string will cause the default communication device to selected. Change-Id: I64597c2d706acdd6e1422558d7609fc14a7ad818 Gitlab: #463
-
GitLab: #478 Change-Id: I4aed6f7b171a2194fd0070c5510ca1660adb6204
-
- Mar 19, 2021
-
-
Adrien Béraud authored
This reverts commit 6cfe9432. Reason for revert: causes reference to temporary Change-Id: I2ff3e94c490ee1f17d3e96486d4a1aa5732d684f
-
Change-Id: If1b647a76303362ae0240a0e11505502260b5c8d
-
Change-Id: Iedcfe91af40893004c8f640c8a718966db8d7468
-
Gitlab: #465 Change-Id: Ib86573e5c0e186253c51624b38b9951d77f1a1fa
-
Sébastien Blin authored
Change-Id: Ica016084fb36c3f4110fe4fe3281e43d29c65275
-
Sébastien Blin authored
Change-Id: I155f5182fbb370116e020151dc3c154cee66c814 GitLab: #407
-
Sébastien Blin authored
like SIPCall::onMediaUpdate, we should not restart medias if the call is ended or a crash will typically happen with multi-device where first device answer and hangup during the negotiation with the other. Change-Id: Ib6bd2a316c8f03ace25926fd20338d72613d0c54
-
Change-Id: Id2d03ca3d645d7178019bf05c1951c6a78019095
-
Change-Id: I9273985b6c6156e6e5a39388cdf32ed48fccd58d
-
In AudioRtpSession, when a new AudioInput instance is created, its mute state is always set to default (un-muted) even if the AudioRtpSession is in mute state. Fixed by applying the mute state when a new AudioInput instance is created. Gitlab: #482 Change-Id: I3f7e92cfcfd63bc5c6318f317e7fa96fe5f17a7c
-
SipVoipLink may never be intialized in Manager instance (Manager::init()) leading to a crash when the Manager calls finish(). Added a check to prevent the crash. Gitlab: #481 Change-Id: I817a7795ce4341e6214a44e46037b0183fde53c5
-
- Mar 18, 2021
-
-
Gitlab: #479 Change-Id: I19c6286311936d61c8a850f99b4ed3008b675b48
-
- Mar 17, 2021
-
-
This patch adds many improvements and bug fixes: 1- For PUPNP lib, use the synchronous methods for add and remove requests. The async versions have many issues mainly at shutdown. If the callbacks do not arrive on time, the memory allocated by the lib when performing the request will leak. 2- Rework the init and IGD search of PUPNP. 3- Move the termination step (for libupnp in particular) from the destructor to a newly added method (termiinate()). This will prevent a race at shutdown between libupnp threads (callbacks) and the daemon shutdown process. 4- Do not try to initialize libupnp if the host address is invalid. This will prevent putting the lib in an unstable state. Gitlab: #472 Change-Id: I14e5ddcd2b735da374a1f09bcef40f6a86a38133
-
- Mar 16, 2021
-
-
Aline Gondim Santos authored
GitLab: #404 Change-Id: I42792e27fb2bdf21870477ccb821f672033fc25d
-
Maxim Cournoyer authored
Instead, use Bash from PATH. This approach works universally, even in environments not strictly adhering to the File Hierarchy Standard (FHS). Change-Id: I852c5f4bba3a1bee9b895dcb5da24e5738c4186a
-
- Mar 15, 2021
-
-
Andreas Traczyk authored
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
-
- Enables high-pass filter, AEC, AGC, NS. - Disables system AEC for Windows Gitlab: #464 Change-Id: Ife6261a815395263abeca482bb78ad2c90133db3
-
Andreas Traczyk authored
Allows the start/stop of individual streams as well as both input and output simultaneously. When both streams are to be started, full duplex mode is attempted first. Resets device indices to -1 in the case that the host api has changed, or if the dring audio config is scrapped somehow. Change-Id: I1655a34d2111222b6add19f1b36b53bc4a2838ec
-
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
-