1. 22 Feb, 2016 3 commits
    • Edric Milaret's avatar
      remove lots of warning during Win32 build · ae234d24
      Edric Milaret authored
      Tuleap: #381
      Change-Id: Ibf1cb1f72f874758d1bd86a5e3a8cd7d6d875fae
    • Guillaume Roguez's avatar
      pulseaudio: fix memory leak · 7e2bc1e0
      Guillaume Roguez authored
      This leak is due to memory allocated by pa_context_subscribe()
      and not free as expected.
      This function returns a pointer on a pa_operation structure.
      This patch calls pa_operation_unref() on it when pa context is
      terminated and when PulseAudio class is deleted.
      This patch also improve the mainloop destroying (to prevent memory leak)
      by using aa true RAII concept with a std::unique_ptr.
      Change-Id: I8a27fd1672b7952f0fe1c944712ab6955cedfa97
      Tuleap: #412
    • Guillaume Roguez's avatar
      media: fix memory leaks · 207f0d15
      Guillaume Roguez authored
      This patch fixes various memory leaks found with ASAN.
        - av_dict_free wasn't called after av_dict_set
        - avformat_free_context wasn't called
        - safe_by_default: all av_malloc has been replaced by std::vector
      Tuleap: #412
      Change-Id: Ic47cc87b8ed013e7fac5dea80ea7e7aee96139b7
  2. 19 Feb, 2016 1 commit
    • Adrien Béraud's avatar
      contrib: bump opus from 1.1 to 1.1.2 · 98a66d40
      Adrien Béraud authored
      Should improve performance on all platforms (from http://opus-codec.org) :
      * x86 SSE, SSE2 and SSE4.1 intrinsics optimizations with run-time CPU detection contributed by Cisco Systems,
      * MIPS intrinsics optimizations contributed by Imagination Technologies,
      * ARM Neon optimizations contributed by Linaro and ARM
      Tuleap: #407
      Change-Id: I3dbd47a89abc7de99132843ff6b899b2b809ab47
  3. 18 Feb, 2016 3 commits
    • Adrien Béraud's avatar
      account: prevent all codecs from being disabled · 6299a511
      Adrien Béraud authored
      All codecs being disabled prevents Ring from making any call.
      If all codecs are disabled for audio or video, re-enable all codecs
      of this kind.
      Tuleap: #394
      Change-Id: Ib65e0e878686b2580b312202482b9ddbce298590
    • Adrien Béraud's avatar
      codec: catch potential stoi exception · b1120dc1
      Adrien Béraud authored
      All codec parameters are sent as strings and then some are converted
      to numbers. The stoi conversion can throw an exception if a string
      which is not actually an integer is passed and this should be caught.
      The daemon should not crash from passing bad values via the dbus.
      Change-Id: Ia42da689e08d601e0c94ad6ad14654ba9dfa8668
      Tuleap: #215
    • Guillaume Roguez's avatar
      sipaccount: fix nullptr access · 33a0aa38
      Guillaume Roguez authored
      SipAccount::CheckNATAddress may use regc_ member
      when this one has been previsouly destroyed
      and set to nullptr.
      This patch checks regc_ value and take care to return correctly,
      to prevent call to pjsip_regc_update_contact with nullptr regc.
      Change-Id: I97590debd672095fed63ced40d3c541333b773f8
      Tuleap: #172
  4. 17 Feb, 2016 3 commits
    • Guillaume Roguez's avatar
      video_device: fix osx build · d702b297
      Guillaume Roguez authored
      add missing cmath include to build on osx
      Change-Id: If7e1e20e6aac4b920381407b4e9df72e6ed1b4fa
      Tuleap: #294
    • Adrien Béraud's avatar
      video_device: add default settings selection logic · bdd139c9
      Adrien Béraud authored
      * use default settings if no preference exists
      * logic requires unformated parameters (added related methods)
      * current logic: largest resolution <= 720P, framerate >= 10 FPS
      * support new pixel format
      * report pixel format to libav/ffmpeg for decoding
      Tuleap: #294
      Change-Id: Ia9b61814b49e7057ae4eb5fef9d0b814706cafff
    • Guillaume Roguez's avatar
      ringaccount: fix non-handled exception · 450390a0
      Guillaume Roguez authored
      RingAccount::handlePendingCall may throw exception and was not
      catched by the handlePendingCallList loop.
      This leds to non-handled pending calls (all after the failing one).
      This patch fixes that by catch all exception and drop bad guys.
      Change-Id: Ic62e115bf32b467e04a19f2ae077d8256a69d90e
      Tuleap: #106
  5. 16 Feb, 2016 4 commits
    • Guillaume Roguez's avatar
      sip: fix pjsip crash if transport send_msg fails · 0592f9d5
      Guillaume Roguez authored
      As PJSIP documentation said, pjsip_transport::send_msg must
      not call the user callback if PJ_EPENDING is not returned,
      like in case of immediate completion or when an error happens.
      Was not the case in re-factoring on SipsTransportIce class.
      This patch fixes this problem.
      Change-Id: I6b8ea8efb6aa61191914d7794f5484612095598a
      Tuleap: #106
    • Edric Milaret's avatar
      contrib: bump yaml-cpp · d056bd7d
      Edric Milaret authored
      - Use new version using C++11 shared_ptr rather
      than boost implementation
      - This remove the dependence to boost
      Tuleap: #381
      Change-Id: I64f0b58c75b9a573098a41f9f675067bb1e1f5ea
    • Guillaume Roguez's avatar
      security: fix wrong returned cipher suite id · 4d0e3376
      Guillaume Roguez authored
      TlsSession::getCurrentCipherSuiteId() has a minor security bug
      causing the wrong cs_id and cipher name returned.
      This patch fixes this issue by checking all cipher suite parameters:
      key_exchange, cipher_algo and mac_algo, not just chipher algo as before.
      Change-Id: If76c37d34a0efb6141c96d7942a6acb7fd54c2ac
      Tuleap: #106
    • Adrien Béraud's avatar
      security: use better PFS priority string · b9300629
      Adrien Béraud authored
      This patch changes the TLS priority string to remove RSA key-exchange
      algorithms from current cipher suites (based on SECURE192).
      This let DH key-exchange the only remaining algorithms.
      Notice that we use a minimal of 2048-bits DH params
      by using GNUTLS_SEC_PARAM_NORMAL settings
      in the gnutls_sec_param_to_pk_bits function.
      Using this priority makes audio and video calls forward secure,
      a significant security and privacy feature for Ring users.
      Tuleap: #383
      Change-Id: Iabf51bb52617354c34410d15ee96e0be90acee55
  6. 15 Feb, 2016 1 commit
    • Guillaume Roguez's avatar
      security: extract TLS session from SipsIceTransport · c8f451e4
      Guillaume Roguez authored
      TLS session (class handling gnutls session client/server) has
      to be extracted from SipsIceTransport class.
      This last is PJSIP transport related, but we need TLS session
      to securise other kind of network socket.
      This extract has moslty re-written all previous classes
      has the global working model has change.
      This also introduces:
      - flood protection in server SYN cookie state
      - better FSM model in TLS session
      - network statistics recording
      - simplify SipsIceTransport design
      - ICE fixes to not block in waitForData() if ICE is stopped
      - integrate Diffie-Hellman params generation from RingAccount
      Change-Id: I32cf1f0c82dee548912d9efdaca5a4447ab05ec7
      Tuleap: #106
  7. 10 Feb, 2016 1 commit
    • Alexandre Lision's avatar
      osxvideo: update libav patch · 8ac6e93f
      Alexandre Lision authored
      some cameras could not be open by current implementation in libav.
      Change-Id: I2eef16042d596a001050774cc517b01b7419120a
      Tuleap: #362
  8. 09 Feb, 2016 1 commit
    • Guillaume Roguez's avatar
      ringdht: handleEvents method re-write · 3d2aefda
      Guillaume Roguez authored
      This patch does a refactoring of RingAccount::handleEvents() method
      and various code cleanup.
      This patch prepares the work to integrate reliable data transfer.
      To add more kind of events to handles without decreasing
      the code lisibility, maintenability and global understanding,
      we change RingAccount::handleEvents() implementation.
      It's now a dispatcher to underlaying methods that do the business part
      This gives a clear indication of kind of events that we operates
      in RingAccount.
      RingAccount::handlePendingCall() has been added to handle the call
      related events. This also a re-implementation to remove redundancy code.
      Comments has been also added for explaining the process.
      And finally, code cleanup does CR conformance.
      Important: this re-write doesn't change the external behaviour of event
      handling, just simplify the structure and make it self-explained.
      Change-Id: Ib52acedf8517a56acae2827115e8ce3c16d2e557
      Tuleap: #104
  9. 08 Feb, 2016 1 commit
  10. 05 Feb, 2016 3 commits
    • Guillaume Roguez's avatar
      media: make recordable non audio dedicated · 8f8eb254
      Guillaume Roguez authored
      To add video recording this patch changes recordable and
      audio related class non-dependent.
      This moves AudioRecorder handling into AudioRecord class.
      Fixes also Audio recording start/stop that not working as waited:
      - first start was just creating the file
      - recording was started at second "toggle", confusing user.
      Change-Id: I07f69b76ad711d7fc4d64e57e78b5704d60b4861
      Tuleap: #337
    • Guillaume Roguez's avatar
      media: move-up recordable class · 4c71686e
      Guillaume Roguez authored
      Recordable must not be linked to audio only. We need it for
      any media types. So this patch moves it up from media/audio directory
      to media.
      Also unlink from audio headers by using smart pointers.
      Tuleap: #337
      Change-Id: Ia697280a9e482897bdf8c3dc7c3152a7133d1397
    • aviau's avatar
      Track build instructions inside repository + update links · 2c633511
      aviau authored
      Change-Id: I426ca1bf7f788bb640829128559c6cd844b4c62c
      Tuleap: #241
      Tuleap: #249
  11. 04 Feb, 2016 1 commit
  12. 03 Feb, 2016 3 commits
    • Alexandre Lision's avatar
      coreaudio: refactor output callback · 50763c6e
      Alexandre Lision authored
      AudioLayer contains generic procedure to get AudioSamples and
      resample them. We can remove duplicated code in CoreLayer
      Change-Id: I3c756a1ff71e96a277b3b86552aa8912c05abb90
      Tuleap: #324
    • Alexandre Lision's avatar
      coreaudio: use I/O unit · 4c27b234
      Alexandre Lision authored
      Use only one AudioUnit for input and output audio processing and
      change the AudioUnit type to kAudioUnitSubType_VoiceProcessingIO
      This is necessary to enable echo cancelation.
      Change-Id: I2ea635da3e5bf23190a7b8c90861ffba53ff84f7
    • Edric Milaret's avatar
      screen sharing: fix limited screen sharing offset on win32 · 05397dd4
      Edric Milaret authored
      - Offset isn't passed the same ways for gdigrab and x11grab
      Change-Id: I5b48e8c40ff7f60e5d8e875835330d7b225a7175
      Tuleap: #319
  13. 02 Feb, 2016 1 commit
    • Adrien Béraud's avatar
      audio: allow to mute ringtone device · cf5d18df
      Adrien Béraud authored
      On Android, if the device is in silent or ringtone mode,
      the ringtone device should be muted, while keeping the possibility
      to hear the peer during a call.
      Tuleap: #262
      Change-Id: Ie64da9cb3a940b4749bb163f169474ca237c4b37
  14. 29 Jan, 2016 2 commits
    • Ciro Santilli's avatar
      Gitignore doltcompile and doltlibtool · 25ea2a72
      Ciro Santilli authored
      Change-Id: If2da7162dbfa651f63ea1e047bab0a660da6f53f
      Tuleap: #300
    • Edric Milaret's avatar
      windows: fix race conditions in threadloop · fedf8759
      Edric Milaret authored
      - It seems like we sometimes call joinable() too
      soon, it return false and then it interrupt ffmpeg
      - It happens regurlarly when we don't launch the Windows
      Ring client without console
      - This will need further investigation to determine if it's
      a more profound issue or if it could theoretically affect
      other platforms (even if we never constated it yet)
      No bugs have been constated from not checking the joinable in
      isRunning after 35 calls
      Change-Id: I0968d9cfe401511c37231dc7defb4b3d74a77453
      Tuleap: #303
  15. 27 Jan, 2016 1 commit
    • Alexandre Lision's avatar
      transport: catch std::runtime_error · 927f3b9c
      Alexandre Lision authored
      When there is no internet connection, an error is thrown in IceTransport
      This destroys what has already been initialized including the thread.
      Change-Id: I81b6ec1f52b9312a1d6ea24c5f55dfa94da7e877
      Tuleap: #189
      Tuleap: #258
  16. 25 Jan, 2016 1 commit
  17. 22 Jan, 2016 4 commits
  18. 20 Jan, 2016 2 commits
    • Guillaume Roguez's avatar
      cleanup video_base API · 84f878d9
      Guillaume Roguez authored
      This patchset changes Observable::notify and Observer::update API
      to remove the reference data attribute. This was uneeded into our context,
      aka used with smart pointers.
      Also fix coding rules and missing override keywords to overloaded virtual
      Tuleap: #240
      Change-Id: I068b44cb526718d4cbae34b9d4d51871294bcf3e
    • Guillaume Roguez's avatar
      ring_account: force UTF8 validation for IncomingAccountMessage · ae1e063d
      Guillaume Roguez authored
      Invalid UTF-8 string cause D-BUS exception if given as string object.
      This patch fixes that by forcing validation of incoming IM from
      DHT. This validation strip-out invalid byte sequence.
      Change-Id: I1d599664d767df7a3796f5afd93afc61178baaae
      Tuleap: #239
  19. 19 Jan, 2016 1 commit
  20. 18 Jan, 2016 2 commits
    • Adrien Béraud's avatar
      ringdht: temporary opendht fix · bdc023a5
      Adrien Béraud authored
      * decrease default value preservation duration
      * attempt to reduce bandwidh usage for announce operations
      * fix UDP overflow bug
      * temporarly disable data persistence
      Tuleap: #62
      Change-Id: Ida2c1bd8f2c2dbd0c342bfa28f7ca51bbc5c498e
    • Patrick Keroulas's avatar
      audio: fix segfault when no audio layer is provided · 2c691e30
      Patrick Keroulas authored
      Audio layer may not required in case of text/video messaging only.
      Return a warn message and a null pointer to avoid further random
      memory access.
      Change-Id: I8db9ee3cd1333da76f85d2a7bbd91bf083291328
      Tuleap: #220
  21. 14 Jan, 2016 1 commit