1. 03 Aug, 2019 1 commit
  2. 02 Aug, 2019 1 commit
  3. 03 Apr, 2019 1 commit
  4. 02 Apr, 2019 1 commit
    • Adrien Béraud's avatar
      sources: rename to jami · 2130f067
      Adrien Béraud authored
      * rename namespace from ring to jami
      * rename logs methods from RING_* to JAMI_*
      * rename RING_VIDEO to ENABLE_VIDEO
      
      Change-Id: Ic98498652d7059fafe58a96220d565bcdfa53658
      2130f067
  5. 06 Mar, 2019 1 commit
    • Philippe Gorley's avatar
      accel: modernise decoding · fda668f9
      Philippe Gorley authored
      Rewrites the hardware decoding system with C++-style code instead of
      C-style.
      
      Removes support for hardware decoding h263, as we do not use the h263p
      decoder, which is the codec with hardware support.
      
      Change-Id: I96b796ba8847dadd388c6e29eaee1115b25c2fb3
      fda668f9
  6. 14 Feb, 2019 1 commit
  7. 11 Feb, 2019 1 commit
  8. 02 Jan, 2019 1 commit
  9. 27 Dec, 2018 2 commits
  10. 21 Dec, 2018 1 commit
    • Philippe Gorley's avatar
      decoder: better audio stream selection · af8ec439
      Philippe Gorley authored
      When decoding files, their audio is rematrixed to mono or stereo
      depending on the negotiated format. Libswresample does not support
      rematrixing from Dolby Surround 5.1, so skip over streams with this
      layout. If the file only contains Dolby 5.1, switch back to default
      audio input device.
      
      Change-Id: I526e3c9b2ec92794818e74f8c369a8c8f3c41b27
      af8ec439
  11. 13 Dec, 2018 1 commit
  12. 26 Nov, 2018 1 commit
  13. 15 Sep, 2018 1 commit
  14. 23 Aug, 2018 1 commit
    • Philippe Gorley's avatar
      recorder: refactor and simplify · f1088fa8
      Philippe Gorley authored
      1. Adds constness to streams in MediaRecorder; the latter shouldn't change
      stream parameters.
      2. addStream is called from recordData to simplify workflow; users need
      only check that MediaRecorder is recording.
      3. Fixes regression where multiple records couldn't happen in the same
      call.
      4. Fixes AudioSender not sending starting timestamp to help mix audio.
      5. MediaStream::name is now used as key for the streams_ map, so it must
      be constant, filter names are no longer hardcoded in the recorder.
      6. fromPeer parameter is determined by checking if MediaStream::name
      contains the string "remote".
      7. Adds copy constructor to MediaStream.
      8. Renames incrementStreams to incrementExpectedStreams to better reflect
      what it does.
      9. Removes keyframe triggers when starting a video record; we are
      recording raw frames, so it doesn't matter if they're keyframes or not.
      10. MediaRecorder supports more than 2 audio streams, but not video.
      11. Move preview to very bottom right corner.
      12. Fix potential Unchecked Return Value to NULL Pointer Dereference in
      recordData() (CWE-690).
      
      Gitlab: #39
      
      Change-Id: Id2fae4e9bb2072994c065e4843cc3ad832f89efc
      f1088fa8
  15. 06 Aug, 2018 1 commit
    • Philippe Gorley's avatar
      decoder: set framerate if not found · 4776c563
      Philippe Gorley authored
      If FFmpeg was unable to find a framerate in avformat_find_stream_info,
      fall back to the DeviceParams' framerate.
      
      This was the case for certain Macs.
      
      Change-Id: I0ee7ebeef37676ff5907482421425051e880c6f5
      4776c563
  16. 30 Jul, 2018 1 commit
  17. 12 Jul, 2018 1 commit
    • Philippe Gorley's avatar
      recorder: refactor pipeline · 11585ed2
      Philippe Gorley authored
      Moves the recorder up one level to the VideoInput, VideoReceiveThread
      and AudioReceiveThread, instead of the MediaDecoder (there's no
      equivalent to the VideoInput in the audio layer).
      
      Emits the RecordPlaybackStopped when the recording is stopped, so the
      client can sync its recording state with the daemon, in case the daemon
      stops recording by itself (rather than user intervention).
      
      Change-Id: I743b080cb354273ec074fec51caf2a4328fc1c58
      11585ed2
  18. 10 Jul, 2018 2 commits
  19. 12 Jun, 2018 1 commit
  20. 29 May, 2018 1 commit
  21. 07 Feb, 2018 1 commit
  22. 23 Jan, 2018 1 commit
  23. 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
  24. 28 Dec, 2017 1 commit
    • Philippe Gorley's avatar
      accel: refactor to fit new hwaccel api · ea8c5921
      Philippe Gorley authored
      libavutil now covers the simple cases for creating and managing devices.
      As Ring does not need to fine-tune these processes, most of the accel
      code can be and has been removed.
      
      Most hardware decoders output NV12, so skip extra conversions by
      outputting NV12. Said pixel format is supported by everything that isn't
      excessively old.
      
      Change-Id: I10c440026fc3b289dbba7ecbca47e55c57147207
      Reviewed-by: default avatarAnthony Léonard <anthony.leonard@savoirfairelinux.com>
      ea8c5921
  25. 29 Nov, 2017 1 commit
  26. 17 Jun, 2017 1 commit
    • Guillaume Roguez's avatar
      tweak jitter-buffers values · 5f78b14b
      Guillaume Roguez authored
      Increase jitter-buffers size/delay in TLS and RTP channels.
      Gives better results on high-latency connections (i.e. with TURN enabled).
      
      Note: also refactor RTP constants coding to be more easier to tweak.
      
      Change-Id: Ia4cb78306465e2385a52728629942b4d07330f13
      5f78b14b
  27. 30 Mar, 2017 1 commit
  28. 05 Jan, 2017 1 commit
  29. 14 Dec, 2016 1 commit
  30. 22 Nov, 2016 1 commit
    • Philippe Gorley's avatar
      config: wrap accel and video prefs in ifdef · 5c78be10
      Philippe Gorley authored
      Correctly wraps video preferences and hardware acceleration
      in ifdef preprocessor statements (RING_VIDEO and RING_ACCEL,
      respectively). This fixes cases where Ring would not compile without
      video or video acceleration. Video acceleration is now dependant on
      the presence of video (--disable-video disables acceleration).
      
      Change-Id: I087cc1dc794d0f19daa68cdaec09e126542147f9
      5c78be10
  31. 01 Nov, 2016 1 commit
    • Philippe Gorley's avatar
      hardware acceleration configuration setting · 99d138d1
      Philippe Gorley authored
      Hardware acceleration is now correctly enabled/disabled using Ring's
      config file. The setting was moved from DeviceParams/VideoSettings,
      which are used for local video, to preferences under video.
      
      The video preferences object calls serialize() on the video device
      preferences, so as to not overwrite one another (they're under the
      same section in the config file).
      
      Change-Id: I8c11ea8813dee5cc514a4fa4c1bae962a14577eb
      Tuleap: #1122
      99d138d1
  32. 07 Oct, 2016 1 commit
  33. 23 Sep, 2016 1 commit
    • Philippe Gorley's avatar
      video: hardware acceleration · 921146f5
      Philippe Gorley authored
      Contains code common to all hardware accelerations to be implemented.
      
      Enables the VAAPI acceleration for intel linux systems, with support
      for H.264, H.263 and MPEG4.
      
      To use VAAPI, you need libva, libva-x11 and libva-drm.
      
      Hardware acceleration is enabled by default, and can be disabled with
      "./configure --disable-accel".
      
      Change-Id: Id0696465b785de0735bbce9750932ac38efe0713
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      921146f5
  34. 19 Aug, 2016 1 commit
    • Gasuleg's avatar
      daemon: add SmartInfo · 0dc32710
      Gasuleg authored
      This feature provides relevant advanced information during a call.
      A user starts it with a refresh time and listens on a callback signal
      to get the updated information. This information is presented in a form
      of a map containing Call ID, codecs, framerate and resolution.
      
      The public API has:
      - startSmartInfo(<timeMS>)
      - stopSmartInfo()
      - CallSignal::SmartInfo(map) -- callback signal
      
      Change-Id: Iaafc12b5b53aee8ad008b93536f72a4152c4ee02
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      0dc32710
  35. 09 Mar, 2016 1 commit
  36. 20 Jan, 2016 1 commit
    • 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
      methods.
      
      Tuleap: #240
      Change-Id: I068b44cb526718d4cbae34b9d4d51871294bcf3e
      84f878d9
  37. 13 Jan, 2016 1 commit
  38. 06 Nov, 2015 1 commit
    • Éloi Bail's avatar
      media: fix memory leak in audio decoder · d1928b0e
      Éloi Bail authored
      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