1. 23 Jan, 2018 6 commits
  2. 22 Jan, 2018 3 commits
  3. 19 Jan, 2018 1 commit
  4. 18 Jan, 2018 1 commit
  5. 16 Jan, 2018 2 commits
  6. 15 Jan, 2018 1 commit
    • Philippe Gorley's avatar
      accel: refactor and speed up fallback · ecf3e901
      Philippe Gorley authored
      Falling back from hardware to software decoding requires only a
      reinitialization of the AVCodecContext. Hardware decoding failure is no
      longer bubbled up to the RTP session, which makes it much faster.
      
      Change-Id: I79fdfcfa41f822b3299d74ac654146789fcfd97b
      ecf3e901
  7. 12 Jan, 2018 2 commits
    • Andreas Traczyk's avatar
      ios: add video implementation · cbff7d98
      Andreas Traczyk authored
      - 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
      cbff7d98
    • Philippe Gorley's avatar
      video: clean up video_rtp_session · c27d2135
      Philippe Gorley authored
      Replaces empty methods and std::bind calls with lambdas.
      
      Change-Id: I0d9c876a9ba0bbdc6a77a85e0e2d75766312f952
      c27d2135
  8. 11 Jan, 2018 1 commit
  9. 10 Jan, 2018 3 commits
  10. 09 Jan, 2018 2 commits
  11. 08 Jan, 2018 2 commits
  12. 05 Jan, 2018 2 commits
    • Guillaume Roguez's avatar
      fix for doxygen documentation · 49c4bb18
      Guillaume Roguez authored
      Doxygen keywords must be backslashed, not slashed.
      
      Change-Id: I625e1241981c46da2d5a17da4daf4b9a571f3a35
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      49c4bb18
    • Guillaume Roguez's avatar
      data transfer: first implementation · 755347dd
      Guillaume Roguez authored
      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: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      755347dd
  13. 03 Jan, 2018 1 commit
    • Guillaume Roguez's avatar
      make TlsSession great again · bdafdfb4
      Guillaume Roguez authored
      Or at least independant of underlaying transport...
      
      To make TlsSession able to handle both TLS and DTLS
      this patch removes the ICE dependency and replace is
      by the generic network ABC class 'GenericTransport'.
      As a first step this class is declared in tls_session.h.
      Side effects of this change are:
      
      * refactoring of PMTUD procedure: 'MTU' for gnutls has the meaning
        on 'payload-for-gnutls' so this information is now drived by
        the generic transport and not hardcoded anymore.
        The minimal value of probing remains hardcoded, as is a minimum
        given by RFC's documentation and it's based on an IPv4 packet
        associated with UDP protocol.
      
      * getMtu() is now maxPayload() and represent correctly what
        the application must have.
      
      * TlsSession implements itself GenericTransport: we can chain
        GenericTransport instances to construct an overlayed transport
        protocol.
      
      * TlsSession is now considered as non thread-safe for its public API.
        Caller must bring itself this property.
        This permit to remove a redundant mutex in send() operation.
        Note: and it's the case in the only user (SipsIceTransport),
        that why the mutex is redundant in 100% of cases.
      
      Notice the benefit of this genericity refactoring let us
      write a unit-test for this TlsSession class without having
      an heavy ICE transport to mock-up.
      
      Also ICE transport gained of this by adding a new IceSocketTransport
      to replace IceSocket in a near future (need async IO in GenericSocket,
      but not required for the moment).
      
      Change-Id: I6f4591ed6c76fa9cb5519c6e9296f8fc3a6798aa
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      bdafdfb4
  14. 02 Jan, 2018 2 commits
    • Guillaume Roguez's avatar
      fixup for sip_utils · cb1ba72f
      Guillaume Roguez authored
      fix for patch:
      0f524801 PJSIP support to std::error_code and std::system_error
      
      pj_strerror crashes on due to wrong given string size.
      
      Change-Id: I8d68b885ce0d587b27e8b361c9ad60019ed355fb
      cb1ba72f
    • Guillaume Roguez's avatar
      PJSIP support to std::error_code and std::system_error · 0f524801
      Guillaume Roguez authored
      Some practical C++ additions:
      * class PjsipErrorCategory as error category for std::error_code.
      * class PjsipFailure inheriting from std::system_error exception.
      
      Change-Id: I957cd36d06cf49ae98cb6634f5e4d5dcac666be8
      0f524801
  15. 28 Dec, 2017 2 commits
  16. 21 Dec, 2017 1 commit
  17. 20 Dec, 2017 1 commit
    • Guillaume Roguez's avatar
      fix IP2IP account signal at creation · 5f042df9
      Guillaume Roguez authored
      When IP2IP account is created only AccountsChanged signal is emited.
      But doRegister() method is called and this kind of account must succeed
      on such (as there is no registration) and must call
      setRegistrationState(RegistrationState::REGISTERED) to make aware the client
      on this event.
      This was not done. This patch adds this call.
      
      Change-Id: Ic5b8a31d9e2b98dd96ed394247f77bbfa3d8cdde
      Reviewed-by: Andreas Traczyk's avatarAndreas Traczyk <andreas.traczyk@savoirfairelinux.com>
      5f042df9
  18. 18 Dec, 2017 3 commits
  19. 13 Dec, 2017 1 commit
    • Adrien Béraud's avatar
      encoder: use max 16 threads for video, 4 for audio · d08826f0
      Adrien Béraud authored
      Audio encoding is usually mono-threaded and doesn't require
      as much CPU as video encoding. Limit to 4 threads since more
      would not be useful and might introduce latency and decrease performance.
      
      Video encoding takes significantly more resources, however for live encoding,
      using more than 16 threads might introduce unreasonable latency.
      Since new customer CPUs (AMD Ryzen and Intel Core i7/i9) now have
      more than 16 logical cores, setting a higher bound of 16 threads.
      
      Change-Id: I5dc2d3f51019c563b8cec3fbddffa13cbafdb9a5
      d08826f0
  20. 12 Dec, 2017 1 commit
  21. 07 Dec, 2017 1 commit
  22. 06 Dec, 2017 1 commit