Commit Graph

203 Commits

Author SHA1 Message Date
c4d03c6dbf nodejs: add initial module
Change-Id: I12310bd4a5826e5658e5b7fe72a8a5ae6efe82d0
2017-07-14 16:50:39 -04:00
e116a77296 test: add sip and base64 tests
sip
* testMultipleOutgoingIpCall()
* testHoldIpCall()
* testSIPURI()
* testSimpleIncomingIpCall()
* testMultipleIncomingIpCall() wip

*base64
*test_video_input
tests done by Florian Wiesweg
https://gerrit-ring.savoirfairelinux.com/#/c/6652/

Change-Id: I748318cfade68ac1c42050f6a1d734a029b5128c
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-07-12 09:09:57 -04:00
36558a6d75 tests: add sipp test
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>
2017-06-20 21:17:41 -04:00
bd02113e92 video: mac hardware acceleration
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>
2017-06-05 13:35:33 -04:00
45faaa25d6 video: add vdpau acceleration support
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>
2017-05-17 19:41:10 -04:00
c8557c75b6 contrib: add argon2 library as daemon dependency
This patch fixes osx build that not correctly link with Argon2.

Change-Id: I2f71179a163643667cac5caaa9517aed5a0de3fc
Reviewed-by: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
2017-05-09 16:32:02 -04:00
af5fd26359 fix a build error when X11 environment is available but not libva
Change-Id: I3d89ad75c7134ba0da277bdaf8b079e638e0ccb7
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-05-09 12:58:41 -04:00
a5ded29b99 update copyright date to 2017
Change-Id: I6dbc51dd41c1f44d1446fe7365026af037bc86d9
Reviewed-by: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
2017-01-05 16:41:02 -05:00
13b56d4347 build: remove warnings about unknown pragma
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>
2016-11-30 21:21:01 -05:00
4b5f8b5981 hardware acceleration refactoring
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
2016-11-30 17:16:50 -05:00
5c78be1054 config: wrap accel and video prefs in ifdef
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
2016-11-22 11:05:36 -05:00
9a7ba8d0b5 namedirectory: optional use of old restbed API
Reviewed-by: Alexandre Viau <alexandre@alexandreviau.net>
Change-Id: I9b95dd1e061717f390e4fd5d5209b2aebe18dc9c
2016-11-01 16:50:38 -04:00
ca5ecfa0ee daemon v3.0.0
Change-Id: I53502e1bbd898f46d1a5b65e9615308159bd69d8
Reviewed-by: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
2016-11-01 14:46:55 -04:00
f062220cd2 nameservice: add name directory
Change-Id: I89c26b87c29d8c9dd541583f67dd13dbdc3ff37a
Tuleap: #938
2016-10-27 11:51:54 -04:00
18533eb24f build: fix daemon build for mingw32 when restbed is needed.
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
2016-10-18 19:31:04 +00:00
5cb81afa27 ringdht: add ethereum source
* import ethereum source subset from https://github.com/ethereum/cpp-ethereum

Change-Id: I57b46a49d7cb1307a3455374bb340cc69d872605
Tuleap: #682
2016-10-07 12:06:06 -04:00
6f57f00258 contrib: add boost, cryptopp
Change-Id: Ia972ca8b3ae99f382ca7d7433071e4c3dd07a6ee
Tuleap: #682
2016-09-23 17:56:30 -04:00
921146f553 video: hardware acceleration
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>
2016-09-23 16:36:52 -04:00
7ea2e35277 fix portaudio compilation on gnu/linux
Change-Id: I6befc194929f0b4b601371d7ef4a0880108a2ce4
Tuleap: #1000
2016-09-12 13:26:41 -04:00
c4d7748ec8 update copyright date
- add "alone" files in update-copyright tool
- make a pass of this last tool to fix dates

Change-Id: I1f276a132c0d5468b81400bbb50889e80823f45c
Signed-off-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Reviewed-by: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
2016-09-07 16:16:42 -04:00
09d7b43f79 add a restcpp API backend
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>
2016-08-25 22:14:32 -04:00
ba3aa72e44 fix configure.ac
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
2016-08-18 15:48:44 -04:00
e1081be446 configure.ac: remove a non-valid character
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
2016-08-17 15:10:43 -04:00
a77d6be397 fix check for zlib
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>
2016-08-17 11:05:29 -04:00
63462a0c59 Move dring to $(LIBDIR)/ring/dring
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
2016-07-26 13:53:12 -04:00
3165a70cc7 NAT-PMP: add initial support
* add optional dependency to libnatpmp
* can run with or without UPnP
* transparently replaces UPnP when available

Change-Id: I1bbded421833cdc2506b42106e30cc8b3dde4c2d
Tuleap: #805
2016-07-25 17:12:39 -04:00
1afa10bce6 Revert "NAT-PMP: add initial support"
This reverts commit 150035a819.

reasons of the revert:
- doesn't link on Mac
- doesn't build on IOS
- build and link on linux, but the shared library is not found in rpath

Change-Id: Ie2eb1fe587adea1b607fde727abe6c641762495b
Notes: libnatpmp is not used on Android
2016-07-13 15:03:47 -04:00
150035a819 NAT-PMP: add initial support
* add optional dependency to libnatpmp
* can run with or without UPnP
* transparently replaces UPnP when available

Change-Id: I8477f3d91d8185f7872a3e00600daa7755ac0eee
Tuleap: #805
2016-07-11 06:41:15 -04:00
3932c08df5 configure: remove --with-tls and --disable-dht
Ring no longer builds without GnuTLS and/or without openDHT, nor
are we planning to support building Ring without them, so these
should not exist as configuration options.

The related preprocessor conditionals have also been removed.

Change-Id: I8416ecc48f13a3fb77d9eb7d349b81f226e863f1
Tuleap: #739
2016-07-07 17:41:43 -04:00
7cf181aca6 configure: remove --without-instant_messaging
Ring does not build with this option. Instant messaging is now a
core functionality of Ring, so there is no reason to support building
Ring without it.

Change-Id: I2dfa06a711aaabb27c62fef96d9ec12c8f4f08b8
Tuleap: #739
2016-07-07 16:58:41 -04:00
20c285b4f9 ios: disable non-compatible part of coreaudiolayer
Device management is done another way in iOS thus we don't have
access to CoreAudio/Hardware in CoreAudio framework. Disabling those
part allow us to compile. Maybe some things will need to be rewritten.
In this case it we'll be done in another patch (either as fixing
existing code or as another layer if need be)

Change-Id: I9f8e365bb173cf1df8bd6431371b844b092ec0cb
Tuleap: #313
2016-07-07 15:59:44 -04:00
36e857fcf0 removing IAX account and libiax dependency
This patch removes all IAX account code and libiax dependency in contrib.
References in documentation have also been removed where needed.

Change-Id: Ifff23725ccf7e1a6820dbc6f57256138a0fca042
Tuleap: #813
2016-06-30 13:25:44 -04:00
0cdc3815cf ios: add HAVE_IOS conditionnal
Change-Id: I1dd105a216d111d2a33a2e27fb2664d995aa61a9
Tuleap: #313
2016-06-14 18:19:29 -04:00
9635709f50 dbus service file: use substitution variable
The subsitution variable is needed for installing in other prefixes
than /usr. Otherwise, the dbus service file won't point to the right
installation directory.

Change-Id: If46688c9963cd69a931ffa4f6efc43cccbcff90c
Tuleap: #594
2016-04-22 14:31:29 -04:00
e92d0acd1d move dring to ${prefix}/sbin
${prefix}/libexec is not part of the FHS. Moving to ${prefix}/sbin to
accomodate distros

See https://lists.debian.org/debian-devel/2005/05/msg00401.html

Change-Id: I9b2911929a2f8cc2c8f624c56b6491883c71b6a8
Tuleap: #350
2016-04-22 10:53:15 -05:00
e10a8eed64 Removed unused test files
Change-Id: Ie7520115bdac4a4b26963872d3d64a61a8f0d32c
Tuleap: #350
2016-04-15 14:30:07 -05:00
ae5d1adad7 account: add import/export API
- do not read dhtPort when deserializing a Ring account, use a new
one at runtime
- cache directory is created when generating dhParams
- use key stretching for archive encryption
- bump OpenDHT to add key stretching support

This commit comes with a necessary bump of OpenDHT

Tuleap: #335
Change-Id: Iee67569d378baaa33e9acd7cd9557422ab8e0471
2016-04-14 11:17:54 -05:00
efb3a33652 contrib: add jsoncpp
jsoncpp will be used to jsonify account details for the account
import/export feature

Tuleap: #335
Change-Id: I100593ab1515e10d0c0b2314fe7b0e14c6dce26d
2016-04-08 11:12:12 -04:00
67d1d2c7d5 win32: fix redefine symbol
PJ_SIP defines WIN32_LEAN_AND_MEAN since 3876.
If we not force it to 1, this causes lot of redefinition
warning at build.

Change-Id: If72f0260bf15ce002cd922b875a0e816c6eb3ea2
Tuleap: #487
2016-03-22 16:07:09 -05:00
841326cf67 fix win64 build
- Regression caused by #3876
- Preventing any call because of access violation or assert

Change-Id: I5f71378f1d673e37684b812fac464daeeb250c49
Tuleap: #487
2016-03-22 11:53:02 -04:00
e0fbbb0bbe configure: add PJ_AUTOCONF to CFLAGS
Change-Id: Iecb7d2beafb780ecdccf12965242b4484d7e5a4d
Tuleap: #487
2016-03-17 18:44:28 -04:00
cffdc7500f configure: check alsa/pulse support only for linux
- allows to build OSX without having to pass --without-alsa --without-pulse.
- update doc accordingly

Change-Id: I5b26c58d1954ef2d2613724c24fba750333ae890
2015-12-18 11:22:48 -05:00
5236ab05a8 update Copyright header
- remove OpenSSL exception
- fix Savoir-faire Linux naming
- fix common Author: representation

Issue: #80663
Change-Id: I6c3b2ca1ed48ed474a0ecd5a30fe793526e11b00
2015-09-21 13:45:51 -04:00
b3b0c68cf9 dependencies: remove lib expat
- removes functions to create XML uri list, which are no longer used
- without these functions, lib expat is no longer required

Issue: #79618
Change-Id: I8511d09dc707f3244700f4d396c7f81a01176982
2015-09-14 12:51:14 -04:00
94f0df9db7 logger: Fix for unsupported z formatter on win32
Introduced by commit c974ad8183

Issue: #79584
Change-Id: Ia4c16d9dee2bcd2fc32b3494f1b2417b8dca87f6
2015-08-28 11:52:10 -04:00
9ed34b1f0e contrib: bump minimum gnutls version to 3.3
In version 3.3, gnutls removed the need to call gnutls_global_init
and gnutls_global_deinit.

This allows to cleanup our gnutls init code.

http://www.gnutls.org/manual/html_node/Upgrading-from-previous-versions.html

Refs #76228

Change-Id: I0e35f1bbbf8d1f4515a423f834f91e03fdbae6c8
2015-06-25 13:22:20 -04:00
14dd90cd5b android: stub video config implementor class
Refs #74603
Refs #74605

Change-Id: I64ba316f03c07dd098f8c19fea30c8d87f68161d
2015-06-05 12:03:07 -04:00
a0027ec71f android: fix daemon build
Refs #74605

Change-Id: I5e21003083a765c9424fe370a1848074d391bfc1
2015-06-04 09:27:32 -04:00
d2746ead29 build: fix error in configure.ac
without-dbus condition was broken due to
mingw test

Regression caused by change 1852, commited in
78a32ceed0

Refs #70869

Change-Id: I8522c9a47f39a07f1830f0542566f1057cf967cc
2015-05-28 12:23:19 -04:00
78a32ceed0 windows: simplify configure for cross-compilation
Refs #70869

Change-Id: I255c790c2a4da7bf1deec695f19c596ca4b60dca
2015-05-15 11:05:36 -04:00