Commit Graph

12879 Commits

Author SHA1 Message Date
bcbc6fcc60 test: refactoring test files
* 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>
2017-08-23 13:53:38 -04:00
c9378ff246 video: tweak vp8 encoder settings
Changes vp8 encoder settings to better suit live streaming.

Source:
https://www.webmproject.org/docs/encoder-parameters/#real-time-cbr-encoding-and-streaming

Change-Id: Id81dd196b59e58d32b6da6617d805b4df7564bd2
2017-08-15 17:19:18 -04:00
102dabcf1e contrib: bump opendht
* fix major issue where values where dropped
  before their normal expiration.

Change-Id: I2010f75a1d45aef4780950fa8fb753632ab780f1
2017-08-10 15:19:38 -04:00
86b8fbecca build: match ffmpeg version with contrib
Change-Id: Iece6177887b8f412ffdee393278e4d9761cc3745
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-08-10 11:40:36 -04:00
cff60b5939 contrib: fix cryptopp Android patch on macOS
Change-Id: I68fe358486ca4e023057bf625f7de63c887a4bb6
2017-08-09 16:54:44 -04:00
940227416e archiver: add Gzip support
Add methods for Gzip file compression/decompression.

Change-Id: I81d52c09a98b835c32d7a07ab2cb9a22aca19e8e
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-08-09 14:35:19 -04:00
b9f2042fa8 contrib/samplerate: disable building tests, doc, examples
make build faster by disabling the build of
doc, examples and tests subdirectories.
Also prevent potential build errors in those directories.

Change-Id: I14e5d62831301227c7250a3aaef55db20e8343c2
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-08-08 15:28:18 -04:00
bb62926636 ringaccount: avoid flipping dht status
[Guillaume: fix ci msg typo]

Change-Id: Id4fecc5683ef82cdf81d0b75c1d54ebffd8dc8dd
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-08-08 15:16:11 -04:00
a7604ef62f ringdht: add some info into buddy precence debug
This information has help us to find that a disabled account
was used by client.

Change-Id: I7d377138e77d03df41058cf9c84b4c4f7b4eb4c4
2017-08-08 09:52:56 -04:00
9badac0f8c ringaccout: prevent activities on disabled account
RingAccount::loadAccount() was called even on disabled account,
but this function does many activities like buddy presence.
This is not expected and not wanted.
Disabling this effect by checking if the account is enabled.

Change-Id: I911670163763faf41c6e5c4a4941e53c2e134847
2017-08-08 09:43:01 -04:00
fc714d1fbe android: add x264
Disable assembly on android x86_64 due to reloc errors.

Use x264 and FFmpeg's internal substitutes for log2 and log2f on android
32 bits.

Change-Id: I0c8b1a218d50b18e6340507e92ce481c4fedc75b
2017-08-07 16:23:58 -04:00
7bdaca8a8c tools: use batch mode
Further log cleanup for Android;
prevent showing the list of files for
build tools, which is almost never useful
and can print a lot of lines (eg. gettext).

Change-Id: Ic87fd110035c3d715273194efb360fbf19de6dab
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2017-08-07 16:19:09 -04:00
51d552f677 contrib: bump boost to 1.64
* attempt to fix crash on Android
* move from sourceforge to bintray for hosting

Change-Id: Iadf789293b7302c768f79bd8388b25049bd44d51
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
2017-08-07 15:11:41 -04:00
8c87bbf368 media: remove dead code
No longer relevant.

Change-Id: Iaad2c85ada0e35af27c3c5c63fc68213351f2125
2017-08-07 14:15:41 -04:00
c25ea98e9c contrib: bump ffmpeg to 3.3.3
Change-Id: Ic87991d0841f897ede557f3d498b44c7fbb1b2cd
2017-08-07 14:14:21 -04:00
7c60f172df android: add ffmpeg logs
Change-Id: I472f6c4214ef0f0eb720ccf25d8029314c781dd0
2017-08-07 14:13:45 -04:00
64ebff03d9 contrib: fix a restbed dependency download
Remove the naked curl command by using safer internal version.
(This has the good side effect to enable archive caching when available)

Change-Id: I126359db576c23d72487c6a3a37b4af316293391
2017-08-03 18:26:32 -04:00
d17061b227 contrib: use batch mode
Reduce build verbosity by not printing the list of files
unpacked from tarballs by default,
which can be huge (eg. boost) and pollutes build logs.

Change-Id: I6488de5accffe7ec1527dd9ac2f166474c1cf0ca
2017-08-03 12:18:27 -04:00
a24106f53d contrib/boost: disable extensive build log
Building boost prints the full list of files copied.
There are more than 20 000 of them, which pollutes logs.

Disable boost build logs, developers working on boost contrib
packaging can still re-enable logs if they need to.

Change-Id: I205297ed091bf0a5540e47f23ce4b7be3ad1a296
2017-08-03 12:18:04 -04:00
bb5232a25e contrib: remove libav
FFmpeg is now used on all platforms instead of libav.

Change-Id: I9b20baa738d343bc47aa52288f6acdaefbef1a42
2017-08-03 10:35:30 -04:00
52d944196e contrib: add fix for restbed crash on Android
Restbed crashes on Android with the following backtrace:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
  native: pc 000000000001e598  /system/lib/libc.so (strlen+72)
  native: pc 000000000002728d  /system/lib/libc.so (strdup+4)
  native: pc 00000000006d4a07  /data/app-lib/cx.ring-1/libring.so (restbed::detail::HttpImpl::to_bytes(std::__ndk1::shared_ptr<restbed::Request> const&)+1578)

This patch attempts to fix the issue.

Change-Id: I9bd05c47ae2be4e991364f9fa3192c7b17858d1a
2017-08-02 15:33:59 -04:00
23472e0e02 ios: bump vpx
iOS was on an older version because libav didn't support the newer
version of libvpx, but iOS is now using FFmpeg.

Change-Id: I02d1d7612e0ebd2dcaa2d87b970d5c9ef867e0d7
2017-08-01 15:03:31 -04:00
c178b8bc87 refactor accel configuration
Makes the configuration of hardware acceleration more legible and
removes unused symbols.

Change-Id: I8d585ba4e26bdfdedaeb9e2f7ce17a2283f3c763
2017-07-31 16:18:43 -04:00
6115a83666 contrib: bump x264
Bump to last commit using yasm (switched to nasm)

Change-Id: Id33c265d8da20d347f6b3f129076a964398e2966
2017-07-31 14:10:44 -04:00
084fa64bd8 contrib(UWP): remove reference to PulseEvent in pjproject
- PulseEvent(win32) is not UWP compliant

Change-Id: Ibe545b6f8b2bb31188be7ded9b54623842c73c4e
2017-07-26 16:43:19 -04:00
10f6af463b nodejs: changes for electron compatibility
Change-Id: Icfb6ca3858450eaf2b5bbfbb16fcc024c8c9d772
2017-07-24 08:07:43 +05:00
b45d73c991 contrib(UWP): bump opendht
Change-Id: Ie27cfffbdd4555d28259708a0dc3c83d6edd6f9f
2017-07-21 23:03:15 -04:00
0e5764a096 contrib(UWP): revert to gnutls 3.4.17
Until API supported substitutes for certain crypto functions can be
found, reverting to v3.4.17 will allow passage into the store.
This patch also reverts nettle to an earlier commit.

Change-Id: I5d9c2341113ccd3f99512ffa922e95dc7a5b89b6
2017-07-21 15:22:05 -04:00
af900f474e contrib(UWP): revert to pjproject 2.5.5
pjproject 2.6 randomly crashes due to access violations. Until the
problem can be fixed, we can use v2.5.5

Change-Id: Icdaf565a0bbf45cab6046ddb3114e29ebedff694
2017-07-21 15:21:59 -04:00
f5492c2fe4 contrib: bump restbed, asio
Update Restbed to stable version 4.6,
and asio to the corresponding commit,
bringing many small fixes.

Change-Id: I3d258e9fd9a2ab876e33060d84301f1fda59dac6
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2017-07-21 14:07:38 -04:00
9f8a096814 docker: add tests framework into Ubuntu16.04
"make check" command use cppunit and "sipp" for our tests framework.
Add them to our current validation docker file.
Also fix Acquire::Retries option (typo).

Change-Id: I92a1ad0b5aa3a8066c48445261ff38e4e5a01061
Reviewed-by: Olivier Soldano <olivier.soldano@savoirfairelinux.com>
2017-07-21 13:16:30 -04:00
9a47b90112 tests: fix media/video test build
LDADDS was wrong and cause -lX11 being misplaced.
Removing extra uneeded libs attachement causing the problem.

Change-Id: Ic0c7aa5786f63d22a42eb80c123440495876f823
Reviewed-by: Olivier Soldano <olivier.soldano@savoirfairelinux.com>
2017-07-21 11:13:09 -04:00
8ebb0c8f14 build(UWP): add security/memory to project file
Change-Id: I16cd669567e564926a609bc6b3e4ddd32110b260
Reviewed-by: Philippe Gorley <philippe.gorley@savoirfairelinux.com>
2017-07-20 11:46:25 -04:00
71334b2b75 sipvoiplink: set custom ports for nameserver
Detect custom ports for nameservers and use them.
Also catch getnameinfo errors and prevents to use bad info.

[Guillaume R.: better ci msg]

Change-Id: I78252a3efb463655f660dd073608ac1b94b8b0d6
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-07-20 10:29:27 -04:00
d3a6d209ab update copyright date
Change-Id: Iae6100324c900a04c37ebe5dde46189fc935e7b3
2017-07-19 18:44:51 -04:00
4bc6757e37 tools: remove the 'by' in copyright header
Change-Id: I39c63f07adb9843471e56579d7651d42c69ed828
2017-07-19 18:36:27 -04:00
975dc054e1 bump ring daemon to version 4.0.0
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>
4.0.0
2017-07-19 17:27:21 -04:00
3e5d652eba android: improve vp8 video streaming
During a VP8 video call on the android client, the peer video freezes.
Optimizes android video buffers using an array instead of a vector. Lets
VP8 decide when to send a keyframe.

Change-Id: I19893c2ac080782daee72958fb6c174eea42037a
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
2017-07-19 10:01:32 -04:00
ec2f1ebe43 Merge branch 'wip/nodejs' into 'master'
* wip/nodejs:
  added correct newCallCreated callback
  nodejs: callbacks get queued to run on main loop
  nodejs: added data structure conversions and more callbacks
  nodejs: fix build error
  nodejs: created RingDaemon JS Class
  Added Typemaps to handle Callbacks
  nodejs: added more callbacks
  nodejs: implement two Javascript callbacks
  bin: allow to build multiple subdirs
  nodejs: build with ring
  nodejs: build module after generating bindings
  update for latest daemon API changes
  remove unneeded file
  fix include
  gyp: link with dring
  Included dring source directory in binding.gyp file
  nodejs: add initial module

Change-Id: Ia9df106109531d6f27b0621c3d2ee433ee3460fc
2017-07-18 12:27:53 -04:00
c92175c71a contrib: don't compile vp9
Reduces compile time of libvpx.

Change-Id: Icbbe4e6b9affb734710caf3896714013d5d1f83d
2017-07-17 23:06:47 -04:00
dba2a07d0c sdp: prevent srtp master key leak
refactor the sdp dump over the code to prevent a=crypto lines
to be dump into non-secure streams (like system logs).

Change-Id: Ib8de7391475397668b50a351898da9f774ed9dfd
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
2017-07-17 16:52:32 -04:00
901fa88f7b contrib: bump opendht
* decrease IceCandidate storage to 1 min
* handle EAGAIN, ENETUNREACH from socket

Change-Id: I7d201bf5b007bb2d1e77b32ef5707c88b81c896d
2017-07-17 16:34:51 -04:00
567d643226 srtp: fix bad memory access
* fix non-initialized memory at SRTP session creation.
* fix invalid access when SRTP session is free in some conditions.

Change-Id: I95a1e2cd45b8007cb20445ca219f8e667e977656
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
2017-07-17 16:24:59 -04:00
5209368768 security: wipe srtp sensitive data
Prevent srtp sensitive data like master key to be accessible
after usage.

Change-Id: I3beafe59805aa4daf5c7b1b97cb07a63c524da91
2017-07-17 09:42:34 -04:00
7dc619d8cd ringaccount: update registeredName if not found on the nameserver
Change-Id: I76a079c2222fcfac8cc5458e2ad33370983df167
2017-07-15 09:35:31 -04:00
306aa1330a namedirectory: handle 404 as "notFound" for lookupAddress
Change-Id: I1c4b059e5f058c4eb929cd38875ea06beaf6ee92
2017-07-15 09:33:53 -04:00
7c11d095f2 added correct newCallCreated callback
Change-Id: Id05c1f9198b80bc459fa0e2250b37ecb93a52060
2017-07-15 02:42:29 +05:00
2038837b37 nodejs: callbacks get queued to run on main loop
Also added more callbacks (CallSignal)

Change-Id: If4ded451557e9d3717444b178114919133954dfc
2017-07-14 16:50:39 -04:00
ce7c0a06c3 nodejs: added data structure conversions and more callbacks
Added functions to convert C++ map<string, string> and vector<int> to native JS objects

Also added 5 more callbacks that depended on above mentioned data structures

Change-Id: I10715d69446c15906feed526fff178c27703af10
2017-07-14 16:50:39 -04:00
0e2d40d73c nodejs: fix build error
Moved 'build/Release/dring.node' from BUILT_SOURCES to CLEANFILES
This fixed the build error where compiler could not find rule to make target

Change-Id: I6a2dd573894c8003489fcac5011229be2b1c7fa3
2017-07-14 16:50:39 -04:00