Skip to content
Snippets Groups Projects
  1. Mar 30, 2021
  2. Mar 29, 2021
  3. Mar 28, 2021
    • Adrien Béraud's avatar
      webrtc: remove unneeded patch · 1cc44ed3
      Adrien Béraud authored
      fixed by https://review.jami.net/c/ring-client-android/+/17432
      
      Change-Id: I8898d58457c42fc8217328d657ddaff4b97ae9cb
      1cc44ed3
    • Adrien Béraud's avatar
      configure: remove obsolete macro · 80e62ef2
      Adrien Béraud authored
      Change-Id: I7a2227aafe585bee1f4ed115f22e987e77fd49ff
      80e62ef2
    • Maxim Cournoyer's avatar
      configure.ac: Harmonize indentation. · 286d5f15
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      Bring consistency in the indentation rules used throughout the file.
      
      GitLab: #487
      Change-Id: I4d8e4050a0f21df9a380fc25e0d3de04f15fe941
      286d5f15
    • Maxim Cournoyer's avatar
      configure.ac: Do not set user variables. · bfe7a844
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      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
      bfe7a844
    • Maxim Cournoyer's avatar
      configure.ac: Resolve libnatpmp conftest issue. · 5cca2625
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      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
      5cca2625
  4. Mar 27, 2021
  5. Mar 26, 2021
    • Maxim Cournoyer's avatar
      configure.ac: Remove uses of obsolete macros. · cc6024cc
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      * 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
      cc6024cc
    • Maxim Cournoyer's avatar
      build: Enable the use of the dbusxx-xml2cpp tool built from contrib. · ad8909f0
      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
      ad8909f0
    • Maxim Cournoyer's avatar
      contrib: ffmpeg: Add the --pkg-config-flags="--static" option. · d3bf0b38
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      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
      d3bf0b38
    • Adrien Béraud's avatar
      getline: use input string as stream, skip empty · 42782229
      Adrien Béraud authored and Sébastien Blin's avatar Sébastien Blin committed
      Change-Id: I2ea856c183df317eab45a5d6d5533ef1b3b6a0df
      42782229
  6. Mar 25, 2021
  7. Mar 24, 2021
  8. Mar 22, 2021
  9. Mar 19, 2021
  10. Mar 18, 2021
  11. Mar 17, 2021
    • Mohamed Chibani's avatar
      upnp: code improvements and bug fixes · 1a6cc728
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      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
      1a6cc728
  12. Mar 16, 2021
  13. Mar 15, 2021
    • Andreas Traczyk's avatar
      contrib(win32): use WASAPI as the only PortAudio host api · 29799dba
      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
      29799dba
    • Andreas Traczyk's avatar
      aec: add initial webrtc-audio-processing implementation · 854362a8
      Andreas Traczyk authored and Adrien Béraud's avatar Adrien Béraud committed
      - Enables high-pass filter, AEC, AGC, NS.
      - Disables system AEC for Windows
      
      Gitlab: #464
      Change-Id: Ife6261a815395263abeca482bb78ad2c90133db3
      854362a8
    • Andreas Traczyk's avatar
      portaudio: refactor to support split stream design · 972ed193
      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
      972ed193
    • Andreas Traczyk's avatar
      aec: move aec implementations into EchoCanceller · e787de4e
      Andreas Traczyk authored and Adrien Béraud's avatar Adrien Béraud committed
      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
      e787de4e
Loading