Linking Argon2 shouldn't be needed as Argon2
is a private OpenDHT dependency.
Change-Id: Id46aee27cb09a8af36912b59f74d62dbec0839aa
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
Add a method for exporting the account's archive in a
file.
This patch updates configurationmanager interfaces and
fix an error with exportOnDHT for nodejs.
Change-Id: I9fdfcd20b66854ca768166e5198b8ae428192305
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
GTK client uses D-Bus, so is unable to forward exceptions.
This causes crashes of daemon (unhandled exception).
This patch changes DataTransfer API to not throw (noexcept).
This is an important changes, not backware compatible,
so the API version has been modified consequently.
Change-Id: I9f2a2fe1732b2622ace16225b6e792dc15383ba1
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
* declare NDEBUG for library and contrib
* activate pjsip extra checks as all PJ_ASSERT's are deactivated
Side effect: pjsip does not call abort() due to disabled assertions.
If debug is required:
* contrib: call bootstrap with --enable-debug
* libring: call configure with --enable-debug
Change-Id: I47b104c0f32352f0503457a9d419c4ed5db4e126
* Bump restbed for OpenDHT, update patch and add patch to react
to timeout and socket closed in restbed.
* Bump OpenDHT to support push notifications
* Add DRing APIs to support setting a client push notification token
and to retransmit push notifications to dring
* Implement proxy support in RingAccount
Change-Id: I8d3a02cf54a9666a94ab992ee3fa2958e82aa7ad
- adds a slightly altered version of the android video implementation,
as a swift AVFoundation implementation will be used in the ios client
to enumerate the video input devices.
Change-Id: I7c16fc39c5d22e54fb146881150b6cbcfddb7806
First implementation of Reliable Data Transfer feature in Ring.
This implementation is a draft, comes with a Python script
tools/dringctrl/sendfile.py to play with and doesn't
implement all the API as described into "datatransfer: API proposal"
commit.
This version uses TLS over TCP-TURN sockets to encrypt data.
Transfers require a TURN server with TCP peer connections
as described by the RFC-6062.
Testing: Currently only sendFile API is implemented and data are
saved into a temporary file saved in "/tmp/ring_XXXXXX",
where XXXXXX are replace by mkstemp() command.
Change-Id: I5b8f48432edd58df5046e368a99f58ea44046dcd
Reviewed-by: Olivier Soldano <olivier.soldano@savoirfairelinux.com>
Debian Testing doesn't use the contribs, so bump down the FFmpeg
requirements in the configure.ac as well as making RING_ACCEL dependant
on a certain version of libavutil.
Reviewed-by: Alexandre Viau <alexandre.viau@savoirfairelinux.com>
Change-Id: I1f9d0de44e5f9d0bbb69b20d73a396de7e5d64b4
Bumps FFmpeg to match the other platforms. Modifies the acceleration
code to work under the new API.
Enables bitstream filters, as some of libavcodec's components, such as
VideoToolbox, use them.
Change-Id: I3a6cee2cf06881bba4602c0ed635ff45908e7b85
Reviewed-by: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
Add a new placeCall API with possibility to gives call details.
This permits to give information like media preferences before
to start the call.
This changes force a daemon API bump to 4.1.0
Change-Id: I95d3b5480e194ece4a3cdb03436b2e1625eae016
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
A non exhautive list of what this bump brings:
- Direct 3D 11 hardware decoding (UWP)
- Uniform API for vaapi, vdpau, videotoolbox, dxva2 and d3d11va
- 32 bit MediaCodec fix (Android hardware decoding)
- Non X screen capture on Linux (Wayland support)
- Better VP9 support
- Various bug fixes and optimizations
Due to problems with the VideoToolbox acceleration, the bump for MacOS
is postponed.
Change-Id: Id05a1d789c90ea1321f10e801a036c47b6f76d88
The --disable-[accel name] switches of the configure script are a
nightmare to maintain. They break with every bump of FFmpeg, and don't
work right half the time.
Keep only global switch --disable-accel.
Change-Id: I6b645f7102abb3903c27d7dac7d70f7f15a5e728
Reviewed-by: Olivier Soldano <olivier.soldano@savoirfairelinux.com>
TurnTransport class is a C++ wrapper on PJNATH turn socket API.
Bring an easy to use socket connected to a TURN server.
Support TCP (even with peer) and UDP connection types.
Requires rfc6062 support into pjproject 2.6, given by patch:
88c820ee60 / contrib: implement rfc6062 in pjnath
Include fonctional tests working with turn.ring.cx.
Run tests as usual with "make check" command.
Change-Id: Idf14c2ea192cab2fccf99b142492086284920a6b
Reviewed-by: Olivier Soldano <olivier.soldano@savoirfairelinux.com>
Move build requirements from C++11 to C++14, for contrib and core.
[GR: ci msg + contrib support + m4 update]
Change-Id: I22793ba1ca06ea7c45d237c882a92d20a008f76f
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Update "eth" to latest version from
https://github.com/ethereum/cpp-ethereum
This new version makes use of secp256k1 instead of custom
code and cryptopp to handle EC generation, and reduces its dependency
to boost to use more of the C++11 STL.
This allows to trim the code to completely remove the boost and
cryptopp dependencies.
Change-Id: I19118d3b833a9425cddbeabf6d0b6e07d5a4b15e
VDA is deprecated by Apple and replaced by VideoToolbox starting with
OSX 10.8+. FFmpeg is also deprecating VDA, as it was not ported to the
new hwaccel API.
Change-Id: I3cef3e98e31a8ba2497bebeeb6c72046a7552610
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
changed in place of deprecated one on lists.savoirfairelinux.net
Change-Id: Ide7420dda65e838a856c2245a956967a7383f869
Reviewed-by: Nicolas Jäger <nicolas.jager@savoirfairelinux.com>
* moved unit-tests into the dedicated directory unitTest
* removed no-more-used files
* common code style for test and usage of test_runner.h everywhere
* imported video_input changes by Olivier Grégoire (GSoC-2017)
Change-Id: Ifbb5585caaa2618c4ab943681814c9afbfc76311
Reviewed-by: Olivier Soldano <olivier.soldano@savoirfairelinux.com>
Specifies that the daemon is in version 4.0.0 and not Ring as a whole
Change-Id: Idb2ee245d474516a3ef8c6f8b2d4ce14d26cbcbb
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Original tests taken from the 1.4.0 version.
Modified to keep only a working base.
[guillaume: ci msg modified for clarifications]
[guillaume: fix configure.ac bad insertion]
Change-Id: I0d7f848ccbbd3a7a0d832cead6d8e01b01e91b24
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Adds VideoToolbox and VDA hardware accelerations. VideoToolbox
supports H.264, H.263 and MPEG4, while VDA only supports H.264.
VDA is implemented in case libav is used instead of FFmpeg, as
only the latter implements VideoToolbox. This being said, Ring
will prefer VideoToolbox.
VideoToolbox is OSX 10.8+ and iOS 8+. VDA is OSX 10.6.3+.
Both have their respective configure switches.
Change-Id: I588fcbb92809a9d6a56bb9b6a7ac3a59874c0186
Tuleap: #1090
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
Adds the VDPAU acceleration for GNU/Linux systems and
enable it by devault. Can be disabled using ./configure --disable-vdpau
Support for H.264, H.263 and MPEG4, as long as the hardware supports
them.
Requires libvdpau and ffmpeg 3.3 (contrib bump included by this patch)
[guillaume roguez: re-word ci msg to be more explicit]
Change-Id: I7479f4d7e3d51caf702be8c85284a4fca01605b3
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
This patch fixes osx build that not correctly link with Argon2.
Change-Id: I2f71179a163643667cac5caaa9517aed5a0de3fc
Reviewed-by: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
Unknown pragma is not a big issue for us.
That's only happen in alien code.
But gives ton of noisy warnings for nothing.
Desactivated
Change-Id: I87dedfd54c3090c796855654fe53768c1ecec105
Reviewed-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Refactors the hardware acceleration mechanism by making AVCodecContext
a class member in HardwareAccel, wrapping extractData in a base
method to avoid duplicating boilerplate code, making the AccelID
enum and AccelInfo struct visible only to the makeHardwareAccel
function and adds more flexibility in the compilation of Ring's
hardware acceleration.
Change-Id: Ibfb4324e2f84b4d08bb5dd1e4b22873255aeb196
Correctly wraps video preferences and hardware acceleration
in ifdef preprocessor statements (RING_VIDEO and RING_ACCEL,
respectively). This fixes cases where Ring would not compile without
video or video acceleration. Video acceleration is now dependant on
the presence of video (--disable-video disables acceleration).
Change-Id: I087cc1dc794d0f19daa68cdaec09e126542147f9
Fix compilations options problem when building
for mingw32.
* configure.ac: Removed some LDFLAGS preventing test for
librestbed to work. Also added -lws2_32 as restbed needs
it.
* src/Makefile.am: LDFLAGS removed from configure.ac are
included here.
Change-Id: Ie6256663778eb1376d4ae7930cbc94e7a240c714
Contains code common to all hardware accelerations to be implemented.
Enables the VAAPI acceleration for intel linux systems, with support
for H.264, H.263 and MPEG4.
To use VAAPI, you need libva, libva-x11 and libva-drm.
Hardware acceleration is enabled by default, and can be disabled with
"./configure --disable-accel".
Change-Id: Id0696465b785de0735bbce9750932ac38efe0713
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
This commit offers an alternative to the dbus client to communicate with
a headless daemon. It uses restbed, a cpp framework for RESTful services.
This commits wraps up:
- The source of the restbed implementation (in bin/restcpp)
- The integration of the target to the configure.ac
- documentation
- Add external restbed library to contrib:
- rules.mak file, to download the version 4.0, and compile it
- Patch for ASIO, a dependency of restbed
- Patch for the CMakeLists.txt file, to correct the installation path
[guillaume.roguez@savoirfairelinux.com: merged with Simon Zeni patch to support restbed into contrib]
[guillaume.roguez@savoirfairelinux.com: add tuleap ticket number]
[guillaume.roguez@savoirfairelinux.com: fixed configure.ac --without-restbed behavior]
Change-Id: Id49a1a04b05aac1e803981833abe5564785fb801
Tuleap: #498
Reviewed-by: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Into the darwin OS detection the AC_EGREP_CPP macro is used.
This causes an bugged configure file issued and this one
prevents Linux platform to generate shared-library.
Following this link:
https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/AC_005fACT_005fIFELSE-vs-AC_005fTRY_005fACT.html
Using AC_EGREP_CPP is a bad way to test a C preprocessor.
This patch changes this call by AC_COMPILE_IFELSE + AC_LANG_PROGRAM calls:
- this is a better way to process
- this fix the linux shared build
Change-Id: I150666f2bc45a48d021110025f2d486a9750d333
Tuleap: #699
This patch removes a non-valid character inside HAVE_COREAUDIO.
This char is difficult to see if you editor is not able
to show non-valid char.
But carefully checking configure log show this text without the patch:
./configure: line 6831: $'\302\240test': command not found
You can also see it using Emacs that detects such bad char.
Change-Id: I1e1e62fb6e03c42ac9d9758bc44db33fad088482
Tuleap: #909
AC_CHECK_LIB was not correctly checking for the presence of zlib.
We use PKG_CHECK_MODULES instead to add -lz to libring_la_LDFLAGS.
Change-Id: Icfffb898030f886aae8c2c82dc5327f923f0f78e
Tuleap: #746
[stepan.salenikovich@savoirfairelinux.com: modified to use PKG_CHECK_MODULES and ZLIB_LIBS variable instead of -lz]
Signed-off: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
In reaction to Debian bug:
- https://bugs.debian.org/831978
Accoding to the FHS[1]:
Utilities used for system administration (and other root-only
commands) are stored in /sbin, /usr/sbin, and /usr/local/sbin. /sbin
contains binaries essential for booting, restoring, recovering, and/or
repairing the system in addition to the binaries in /bin. [18]
Programs executed after /usr is known to be mounted (when there are no
problems) are generally placed into /usr/sbin. Locally-installed
system administration programs should be placed into
/usr/local/sbin.
1. https://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html#SBINSYSTEMBINARIES
Change-Id: I13e16eb0e7750fc84d5f44c53da63ad0aebbe240
Tuleap: #860