1. 09 Dec, 2015 1 commit
    • Adrien Béraud's avatar
      call: emit signal on removal · 135cfe7d
      Adrien Béraud authored and Guillaume Roguez's avatar Guillaume Roguez committed
      The "OVER" event is the point in time from which the daemon won't know
      about this call ID anymore.
      There is always exactly one OVER event when a call is removed.
      
      Tuleap: #102
      Change-Id: Id11b9047b27c33258b731f7843fd7241e4c7c07f
      135cfe7d
  2. 08 Dec, 2015 2 commits
    • Alexandre Lision's avatar
      video: verify AVDevice type · 70c84b35
      Alexandre Lision authored
      This commit adds type verification when an AVCaptureDevice is added.
      The notification that a new device got connected, is received for both
      video and audio devices.
      
      Change-Id: Id48fb4182589234df164ab6337fb5d4863987a15
      Tuleap: #149
      70c84b35
    • Alexandre Lision's avatar
      video osx: bump libav patch · e0676bf0
      Alexandre Lision authored
      New developments in libav allow size selection.
      This patch adds this ability in our OSX video device implementation.
      
      Tuleap: #166
      Change-Id: Ibe9c38e85b5ce2a0bee4b0528390aae716a1aee7
      e0676bf0
  3. 04 Dec, 2015 1 commit
    • Guillaume Roguez's avatar
      im: normalize call/account instant-messaging API's · 27565853
      Guillaume Roguez authored
      WARNING: API changes
      
      This patch makes code common for IM send/receive message API's
      between call and account classes.
      
      Multi-part messages is supported for :
      - SIPAccount
      - SIPCall (any SIP like account)
      
      RingAccount supports only Single-part messages yet.
      
      Change-Id: Ic65425cd95f02f89f03dd6ea2a9c4a10bb233859
      Tuleap: #157
      27565853
  4. 03 Dec, 2015 2 commits
    • Eloi Bail's avatar
      media/video: reuse default quality parameters · 87f3f337
      Eloi Bail authored and Eloi Bail's avatar Eloi Bail committed
      When several calls were performed, quality and bitrates of previous
      call were used. When stopping VideoRtpSession, we make sure to reset default
      values.
      
      Change-Id: Ibe7b58f33979fae734dbbe3f7c31bd4d57c5a13f
      Tuleap: #156
      87f3f337
    • Eloi Bail's avatar
      media/video: disable key frame SIP-INFO request · a6fc06b6
      Eloi Bail authored and Guillaume Roguez's avatar Guillaume Roguez committed
      If a keyframe request is never answered, a timeout is reached
      and the call failed.
      As keyframe requests are transmit over UDP, they are too easily dropped,
      on connection like wifi.
      
      This feature is not mandatory for communication and until we found
      a better solution this patch disables the request.
      
      Change-Id: I3d5e8d0e3d0119db52fbfc0f37ce2949224b1806
      Tuleap: #167
      a6fc06b6
  5. 25 Nov, 2015 2 commits
  6. 24 Nov, 2015 3 commits
    • Eloi Bail's avatar
      sip: fix corruption in transfer · f4ea2860
      Eloi Bail authored
      Corruption was seen on transfert. Hangup of a call was done while
      the call was destroyed. Use of shared_ptr resolved it.
      
      Change-Id: I11b2b91e07bc1da77f05302fa08926193923af60
      Tuleap: #122
      f4ea2860
    • Edric Milaret's avatar
      sip: fix username truncated on win32 · d3c86f61
      Edric Milaret authored
      - TCHAR conversion to std::string wasn't working
      
      Change-Id: I8fa9a634f50a58515a0ba49be99dd166a0a537b3
      Tuleap: #133
      d3c86f61
    • Eloi Bail's avatar
      sip: fix attended transfers · fa04627a
      Eloi Bail authored and Guillaume Roguez's avatar Guillaume Roguez committed
      Attended transfers led to an assertion in pjsip. According to high-level
      librairie pjsua, unused in Ring, and specially function pjsua_call_on_incoming,
      it looks like we should not call pjsip_inv_answer when replace header is
      present. This function actually leads to the pjsip assertion.
      pjsip_inv_initial_answer should be rather used.
      
      NOTIFY is still missing.
      
      Change-Id: I2e4a09533bd33dd32b2cc61a7d9737dc1fe79738
      Tuleap: #122
      fa04627a
  7. 23 Nov, 2015 2 commits
    • Adrien Béraud's avatar
      audio: reduce default ring buffer size · ffdbc957
      Adrien Béraud authored
      Current size was defined before the LibAV jitter buffer
      was introduced. The buffer size defined was already very
      conservative: 32000 samples means 2/3 of a second (an eternity).
      
      * reduce buffer size to 16000 samples (333 ms at 48kHz)
      * reduces audio latency of up to 333 ms
      * should slightly improve echo cancelling
      
      Tuleap: #120
      Change-Id: I0c3d4f83d18f4fdede7e89cd9a36327af716c1ca
      ffdbc957
    • Adrien Béraud's avatar
      contrib: bump pcre · d3a1c36d
      Adrien Béraud authored
      8.36 is not hosted anymore. Bump to latest 8.38.
      
      Tuleap: #124
      Change-Id: Ib40e60979d2ac1909cf8810a45a7dc9a0bf013cc
      d3a1c36d
  8. 19 Nov, 2015 1 commit
  9. 18 Nov, 2015 2 commits
    • Eloi Bail's avatar
      daemon: enable H263 encoder · 8c56fd79
      Eloi Bail authored and Guillaume Roguez's avatar Guillaume Roguez committed
      H263 version 1 allows a limited range of resolutions outdated compared
      to recent camera capabilities. It was thus nearly impossible
      to use it on Ring.
      
      This patchset forces encoding of H263+ which supports all resolutions
      multiple of 4 from 4x4 to 2048x1152.
      On Libav we see video artifacts if multithread is enabled
      on encoder side. A workaround deals with forcing h263 encoder
      to monothread.
      
      See https://bugzilla.libav.org/show_bug.cgi?id=912
      
      Tuleap: #138
      Change-Id: I7121e182fa13139d28db010e2ed0de573c616de7
      8c56fd79
    • Guillaume Roguez's avatar
      Ice: fix implementation · 2074c7fb
      Guillaume Roguez authored
      IceTransport::isXXX() API are not thread-safe, not clear in which
      state the transport is and not easy to manipulate (order of state).
      
      This patch tries to solve that by:
      - Procted API by a mutex
      - Remove uneeded isComplete() API
      - Ensure that each API are ordered (one at true implies true
        on all lower states: INITIALIZED -> STARTED -> RUNNING).
        All return false on Fail state.
      - Change usage accordingly
      
      Tuleap: #107
      Change-Id: I17211e54322d70bbfe18c28f06cf9967b9ef93d2
      2074c7fb
  10. 16 Nov, 2015 1 commit
  11. 13 Nov, 2015 1 commit
    • Eloi Bail's avatar
      media/video: use crf rather than bitrate · 82fb0dae
      Eloi Bail authored and Guillaume Roguez's avatar Guillaume Roguez committed
      Dynamic quality change was done by increase/decreasing encoder bitrate.
      It led to video artefact issues, specialy at low bitrates.
      In addition, it does not make sence to use same bitrate with different
      resolutions and fps. With high resolutions and fps, maximal bitrate
      need to be higher.
      
      It is possible for H264 and VP8 to set video quality using CRF.
      This parameter solves video artefact issues and choose a different
      output bitrate depending on input resolution and fps.
      
      Tuleap: #80
      Change-Id: I07d37175dfc335b5fc70cf54798f82eafe921ea9
      82fb0dae
  12. 12 Nov, 2015 3 commits
  13. 11 Nov, 2015 2 commits
  14. 10 Nov, 2015 1 commit
    • Guillaume Roguez's avatar
      build: permit user to overload revision number · 7f56822b
      Guillaume Roguez authored
      Let user choose the RING_REVISION and RING_DIRTY_REPO values.
      This also permit packaging to build from non-git sources tree
      with a fancy and valid revision string.
      
      Just set previous environment variable before to run
      the make command.
      
      Change-Id: I24d71f985decc2187f09ab21eb72e588ede7fb7a
      Tuleap: #71
      7f56822b
  15. 06 Nov, 2015 1 commit
    • Eloi Bail's avatar
      media: fix memory leak in audio decoder · d1928b0e
      Eloi Bail authored and Guillaume Roguez's avatar Guillaume Roguez committed
      AVPacket are not freed after use. The solution deals with
      allocating AVPacket on the stack and ensuring to free it
      calling av_packet_unref.
      This fix has also widly deployed on Video for having a unique
      method other the code.
      
      Change-Id: I049b29effb4e6748ee2dd12b4c52536c99fef498
      Tuleap: #91
      d1928b0e
  16. 04 Nov, 2015 1 commit
    • Adrien Béraud's avatar
      gnutls: downgrade gettext requirements · 4c93660e
      Adrien Béraud authored
      * use previous gettext version 0.18.3
      * should fix build on Ubuntu Trusty 14.04
      * keep gettext 0.19 on windows for mingw compilation
      
      Tuleap: #62
      Change-Id: I39f3d5b4938f7b2926f730a3b7822c19e05d9d1e
      4c93660e
  17. 03 Nov, 2015 3 commits
    • Adrien Béraud's avatar
      contrib: bump gnutls · 92982d44
      Adrien Béraud authored
      * bump from 3.4.2 to 3.4.6
      * mostly fixes (including security)
      
      Tuleap: #62
      Change-Id: Ibe0e44e91f5cc7d9bb102aa9af9fed03c65f5754
      92982d44
    • Guillaume Roguez's avatar
      sips: fix memory leak · 4302c6bd
      Guillaume Roguez authored
      This patch fixes a memory leak in SipsIceTransport class.
      gnutls_priority_init() allocates memory, no gnutls_priority_deinit()
      is called to free it.
      This last has been added in SipsIceTransport destructor.
      This patch also fixes code rules error on priority_cache_ naming
      (this is the variable initialized by gnutls_priority_init).
      
      Change-Id: I32a8a7347d4af96886a0def2d9a6d77fe0fad7c7
      Tuleap: #92
      4302c6bd
    • Adrien Béraud's avatar
      security: allow to define global certificates · 8f9db001
      Adrien Béraud authored
      Issue: #77219
      Change-Id: I5bf71251212343e71f5e04081615a5890f7aa345
      8f9db001
  18. 02 Nov, 2015 1 commit
    • Adrien Béraud's avatar
      contrib tools: bump versions · 88a8f467
      Adrien Béraud authored
      bump:
      * cmake to 3.2.2
      * libtool to 2.4.6
      * automake to 1.15
      * m4 to 1.4.17
      * tar to 1.28
      * xz to 5.2.2
      * gettext to 0.19.6
      
      Tuleap: #62
      Change-Id: I7fa1f021ab1c8425d05416dc652aad060b2c2536
      88a8f467
  19. 28 Oct, 2015 1 commit
    • Adrien Béraud's avatar
      accounts: add API-controlable "active" property · 6d7d0737
      Adrien Béraud authored and Guillaume Roguez's avatar Guillaume Roguez committed
      * add "active" runtime property to accounts
      * accounts can only be used when active
      * "active" state is not persistans
      * add "active" state to volatile properties map
      * add setAccountActive API
      * "active" is the default state (backward compatibility)
      
      The active state can be used to manage runtime states
      defining if an account should be used (e.g. on Wifi/3G etc.)
      
      Tuleap: #9
      Tuleap: #42
      Change-Id: Ie3b3aaadea6e43237fc22f6a1f96de8cbfe2bd95
      6d7d0737
  20. 27 Oct, 2015 1 commit
  21. 24 Oct, 2015 1 commit
  22. 23 Oct, 2015 1 commit
  23. 22 Oct, 2015 1 commit
  24. 20 Oct, 2015 3 commits
    • Guillaume Roguez's avatar
      rtp: fix RtpSession::restartSender() · 761d38e6
      Guillaume Roguez authored
      Calling this API causes a race condition with RtpSession::start().
      The former needs the latter to be run first, this was not enforced,
      causing a crash by nullptr access on socketPair_ member.
      This patch checks for a non-nullptr socketPair_ to procceed the restart.
      
      Issue: #81987
      Change-Id: I20886fe70398f018621aade1c7bac3ff15ef9055
      761d38e6
    • Guillaume Roguez's avatar
      manager: fix nullptr access in Manager::sendCallTextMessage · fe932995
      Guillaume Roguez authored
      Call::getCallId() method is accessed in a nullptr pointer context.
      This patch fix it by using the user given callId.
      
      Issue: #82045
      Change-Id: I8700aeaa173706909cf303be6d1efff5a4d1fc44
      fe932995
    • Guillaume Roguez's avatar
      video: remove blink fx during conference · 82edcbbf
      Guillaume Roguez authored
      During a conference, video display blink on a full black image
      at each video restart (due to adaptative bitrate algorithm).
      This patch fixes this effect due to an unvoluntary mixer's sink
      start/stop.
      
      Issue: #82044
      Change-Id: I181051de7230189d0a951f65f02b5673f202ffb5
      82edcbbf
  25. 19 Oct, 2015 2 commits
    • Alexandre Lision's avatar
      video: change pixfmt used by VideoMixer · 7f7bc0e7
      Alexandre Lision authored and Guillaume Roguez's avatar Guillaume Roguez committed
      YUV420P was allocating one large buffer on Linux and 3 on OSX.
      This was causing read overflows. We use YUYV422 which is packed (always one buf)
      
      Issue: #81116
      Change-Id: I76456f72c6f155d181aa533aa62cb70b92f6eff1
      7f7bc0e7
    • Guillaume Roguez's avatar
      video_scaler: fix VideoScaler::scale_and_pad · b0a4abc8
      Guillaume Roguez authored
      This method doesn't shift correctly in case of YUYV422 output format.
      This patch simplify the code and force the x-shift to be correct.
      
      Issue: #81116
      Change-Id: I049d61f51a944476f5a1c3743ecb905308becc83
      b0a4abc8