1. 12 Dec, 2016 1 commit
    • atraczyk's avatar
      logger: strip paths correctly · afb5652b
      atraczyk authored and Andreas Traczyk's avatar Andreas Traczyk committed
      - adds wlogger which takes a the filename of the file calling the
        logger as a parameter, then strips the path
      - changes colors so that when debugging the daemon as a win32
        application, the console text is brighter and easier to see
      Change-Id: I62bec1af71f9aae0ff259c7b1ac0d9a7462a9de5
      Tuleap: #790
  2. 09 Dec, 2016 3 commits
    • atraczyk's avatar
      build: add Visual Studio project files · f0bad69f
      atraczyk authored
      - adds a Visual Studio 2015 solution, project, and filters
      - adds a .gitignore for Visual Studio generated files
      Change-Id: I30257ef98f315dc1fa870873669d369b8ab8bda5
      Tuleap: #790
    • atraczyk's avatar
      audio: fix unmuting of audio after audio has been muted · 168253ed
      atraczyk authored
      Saves the previous mute state in AudioRtpSession and AudioSender,
      so that when the audio encoder is re-instantiated, it can be set
      to a previously set state (if any).
      Change-Id: I25809499fd5afca1b6ae0f03c685a10ba95f94ac
      Tuleap: #1298
    • Adrien Béraud's avatar
      thread pool: add getShared · cd409b81
      Adrien Béraud authored
      std::shared_future can't be used for non-copyable types,
      and std::future can't be captured in std::function context
      because it's also non-copyable.
      A solution is to used a shared_ptr of future, that can
      be copied around and the future result can be moved out.
      Reviewed-by: default avatarAlexandre Viau <alexandre.viau@savoirfairelinux.com>
      Change-Id: I58a96dbeace446776b40fec2a10818a544f0b833
  3. 08 Dec, 2016 1 commit
  4. 06 Dec, 2016 5 commits
  5. 05 Dec, 2016 1 commit
    • Guillaume Roguez's avatar
      dht: fix call share_ptr refcount · 48045350
      Guillaume Roguez authored
      The dht listen operation is implemented as a lambda
      and was using a default capture by copy ('=').
      But due to missing brackets and the variable name reuse,
      a share_ptr refcount is overtaken.
      This patch fixes the brackets problem and replace
      the default lambda capture by naming each used variable
      to not have the issue later.
      Change-Id: I613065f0b1224677704d337bf29b6c5355bacedf
  6. 03 Dec, 2016 1 commit
  7. 02 Dec, 2016 2 commits
    • Guillaume Roguez's avatar
      tone: M_PI is not standard · 9df12e2f
      Guillaume Roguez authored
      Fix usage of M_PI constant: it's not C++, even C, standard constant.
      Replaced by a direct value in the code.
      This also can fix C++14 compatibility on some platforms.
      Change-Id: I1b37c5cd4aabc9af2adccf208cc8a793de54a79c
    • Guillaume Roguez's avatar
      fix SipsIceTransport implementation · e375f828
      Guillaume Roguez authored
      SipsIceTransport doesn't set internal PJSIP transport correctly
      causing many troubles in how our ICE/DTLS underlaying transport
      works with PJSIP.
      This patch:
      * adds a custom dtls PJSIP transport type
      * implement correctly custom PJSIP transport creation
      * revert unneeded patches about IM fixes (da0a2d17 and 0cf16b30)
        as this patch fixes also the 30s issue
      Side-effect: this fixes the 'call failed' effect when peer hangs-up
      Change-Id: If88b8245d6c9ff76bc2f2456f06ff65bc5e723b1
  8. 01 Dec, 2016 4 commits
    • Guillaume Roguez's avatar
      dht: reduce code complexity · a00b5e8a
      Guillaume Roguez authored and Adrien Béraud's avatar Adrien Béraud committed
      RingAccount::incomingCall() is no more blocking and
      also pushes part of its task on an async job.
      So calling this method using 'runOnMainThread' function
      is overkill, add code complexity and useless delay.
      This patch removes the call to runOnMainThread and
      use incomingCall() directly.
      Change-Id: I39bcc03edc8a2cd672cfda6be8fee310963d64f0
    • Guillaume Roguez's avatar
      dht: prevent to start a call with invalid uri · 62aed5a5
      Guillaume Roguez authored
      RingAccount::newOutgoingCall() run inconditionaly a call
      when NameDirectory::lookupUri() has made the lookup, even if the
      response is a failure code.
      This patch prevents the call to be started (and fail later... for nothing)
      in case of negative response of NameDirectory::lookupUri().
      In that case, Call::onFailure(EINVAL) is called to close the object
      and warns upper layers.
      Change-Id: I5236b9221edc353e4a8106778e8b0ba9c5e96e67
    • Guillaume Roguez's avatar
      build: remove warnings about unknown pragma · 13b56d43
      Guillaume Roguez authored
      Unknown pragma is not a big issue for us.
      That's only happen in alien code.
      But gives ton of noisy warnings for nothing.
      Change-Id: I87dedfd54c3090c796855654fe53768c1ecec105
      Reviewed-by: Andreas Traczyk's avatarAndreas Traczyk <andreas.traczyk@savoirfairelinux.com>
    • Guillaume Roguez's avatar
      qa: remove uneeded lambda 'mutable' modificator · b4bcde5e
      Guillaume Roguez authored
      Fix private RingAccount::startOutgoingCall() prototype
      to be able to remove an uneeded lambda 'mutable' in the code.
      Change-Id: I9c6366c6e5d588588ad3678bd2782d56b2a9db61
  9. 30 Nov, 2016 8 commits
    • Philippe Gorley's avatar
      video: test acceleration before using it · d48b15fc
      Philippe Gorley authored
      Adds a method to check if a hardware acceleration is usable on
      the system before starting the video feed, as the fallback to
      software decoding can take a few seconds.
      Change-Id: I74506943b5c8d43808a1fe4ba28a8c7b6353f6aa
    • Romain Bertozzi's avatar
      contrib: add script to build boost for iOS · f5606b04
      Romain Bertozzi authored
      This patch adds a git patch file to build boost for iOS. It will only
      be triggered for the iOS target.
      The original file comes from https://github.com/danoli3/ofxiOSBoost
      and is under Boost Software License. It has been modified to match our
      For now, the two generated static libraries (random and system) are
      configured for iPhoneOS and iPhoneSimulator.
      An enhancement would be to keep the architectures separated and pick
      only the selected ones at deamon compile time.
      However, the impact is here limited since the libraries do not weight
      much with one or two platforms.
      Tuleap: #1326
      Change-Id: I502e7343eb8a74cb6633582022fe0a33994aeb3d
    • Guillaume Roguez's avatar
      qa: move private structure definition into .cpp file · 273701d6
      Guillaume Roguez authored
      Private structure must not be defined into the class definition file
      (usually the .h file).
      Replaced by forward declaration only.
      Code adapted for that (an inlined method has been un-inlined).
      Change-Id: If6fb375629c3c19494b177bc75ab6183e591e22e
    • Guillaume Roguez's avatar
      qa: solving 'unused' kind of warnings · 08e96d38
      Guillaume Roguez authored
      Solving all 'unused' type of warnings seen
      in ringaccount.cpp file.
      Too much noise that hides real potential problems.
      Change-Id: I1dfe34e963a08206101bd8ac72abb9b8162a01de
      Reviewed-by: default avatarStepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
    • Philippe Gorley's avatar
      hardware acceleration refactoring · 4b5f8b59
      Philippe Gorley authored
      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
    • Guillaume Roguez's avatar
      contrib: fix pjsip tls patch · 1c3924df
      Guillaume Roguez authored
      The patch multiple_listeners was not correctly changed when we migrated to
      PJPROJECT 2.5.5.
      This patch moves changes at the right places in the code.
      This also fixes a bug with a SIP call is placed if TLS is set.
      Change-Id: I88389e9421bbe2e16be0ef2807fef741717e819d
      Tuleap: #1351
    • Guillaume Roguez's avatar
      qa: fix -Wreorder warnings · 01c3fb1d
      Guillaume Roguez authored
      Fix RingAccount class members initialization order warning
      issued during build.
      Change-Id: I840365e70a406c4ceffde95af237bc56ed55d5b5
      Reviewed-by: default avatarStepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
    • Adrien Béraud's avatar
      contrib: bump opendht · bbab21b5
      Adrien Béraud authored and Guillaume Roguez's avatar Guillaume Roguez committed
      * fix a minor bug since the last release.
      * install to GNU standard path (prefix/lib/arch)
      Change-Id: Iee75b3b10c9bfb24f2ff4aedcf835fc733fa0971
  10. 29 Nov, 2016 5 commits
    • Adrien Béraud's avatar
      ringaccount: add forEachDevice · 5fb6d8ba
      Adrien Béraud authored
      Factor iterating over peer devices
      Change-Id: Ia7635a8cad1b73c9a1ebbd6608e15c24d82b68fb
    • Adrien Béraud's avatar
      ringaccount: sync device name · 1a5f1d8c
      Adrien Béraud authored
      Automatically sync device names between devices.
      Change-Id: Ie3c53d11ee0fba7a4bcddde8a45254654c3d4a44
    • Adrien Béraud's avatar
      ringaccount: add custom device name · aaded355
      Adrien Béraud authored
      Add a new editable account detail: the ring device name.
      Change-Id: Id5dc42f276ad761d8b306a10faf97e4fbd58c9a2
    • Guillaume Roguez's avatar
      sipcall: re-implement sip info request · 0cf16b30
      Guillaume Roguez authored
      Change the SIPCall::sendSipInfo method to not use a transaction
      but direct endpoint send method.
      This fixes the dialog termination in case of packet drop.
      Change-Id: I56f2590ba4b00ac5783ec656b8c442dbcee92c75
      Tuleap: #1077
      Tuleap: #1297
    • Guillaume Roguez's avatar
      sip instant message refactoring · da0a2d17
      Guillaume Roguez authored
      This patch is an re-implementation of instant messaging system
      for the SIP layers, to use endpoint's request than dialog's request.
      This fix an issue where a packet drop during the request processing
      causes the dialog to be shutdown with error code 408 afer 30 seconds.
      This leds to shutdown of the whole attached invite session, so the
      call itself it terminated.
      Change-Id: I948c3eb1d6df992ed8364a01806cd92a42cf98a5
      Tuleap: #1077
      Tuleap: #1297
  11. 28 Nov, 2016 3 commits
    • Anthony Léonard's avatar
      Fixed thread hanging at exit on Windows · ca616f05
      Anthony Léonard authored and Adrien Béraud's avatar Adrien Béraud committed
      This patch fix the problem where a thread is
      waiting alone on a condition variable when quitting
      Ring on Windows without any other thread to notify
      it. This is due to the way each compiler handle the
      destruction of static objects as it is left, on some
      points, undefined by the C++ standard.
      This is solved by joining threads earlier when the deamon
      is closing all its stuff.
      Change-Id: I219250be1fa08284ca0e92d68344c3cf69ad6af3
      Tuleap: #1276
    • Romain Bertozzi's avatar
      contrib: libvpx: set correct version for platforms · 64d8c387
      Romain Bertozzi authored
      This patch chooses the correct version of libvpx for each specific
      There is the v1.6.0 version for Android, the v1.5.0 for iOS and v1.4.0
      for all the other platforms.
      The SHA1 of the versions have been replaced by their tags for the sake
      of readability.
      Furthermore, we now check the SHA512SUM of the downloaded tarball
      before using it.
      Finally, this patch is usefull to make the iOS project compile.
      Change-Id: I05081bb5b6750eaff62cea5b512ea227de541f9d
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
    • Romain Bertozzi's avatar
      contrib: SHA512SUM check on specific version · 484a0375
      Romain Bertozzi authored and Guillaume Roguez's avatar Guillaume Roguez committed
      This patch modifies the way we check the SHA512SUM of contrib
      The main goal is to be able to check one specific tarball of a
      specific version of the contrib against a list of valid SHA512SUMS.
      Before that, this was not possible.
      For instance. Let's say that we must download one version of a contrib
      for a specific platform, and another one for all the others. It was
      not possible to write several SHA512SUM in the SHA512SUMS file of the
      Indeed, the check that was performed did not find the tarballs that
      were not downloaded, and so it returned a warning and a failure code.
      Furthermore, the grep that was performed was ignored in the check
      With this patch, we use the grep command that was unused before to
      find the line corresponding to the tarball in the list.
      Change-Id: I5d609ecfa1991164ca5da6db196c0a7274f533ed
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
  12. 25 Nov, 2016 1 commit
    • Guillaume Roguez's avatar
      contrib: increase dl retry count · 594b6ede
      Guillaume Roguez authored
      Download retry count for wget or curl is increased to 4.
      This fits better to the real-world.
      Change-Id: Id6875c359b6dcb1f3a6442c05318fcb62fe09419
  13. 22 Nov, 2016 2 commits
  14. 13 Nov, 2016 2 commits
  15. 11 Nov, 2016 1 commit
    • Guillaume Roguez's avatar
      increase pjsip max packet size · 9da60b35
      Guillaume Roguez authored
      Increase PJSIP_MAX_PKT_LEN to 8000 bytes.
      This permits big SIP invite message with many ICE candidates.
      Change-Id: I02097f54a2b01087dfdad4474eedbed2a67b0955