1. 08 Aug, 2019 2 commits
  2. 06 Aug, 2019 1 commit
  3. 04 Aug, 2019 1 commit
  4. 02 Aug, 2019 2 commits
    • Eden Abitbol's avatar
      upnp: support libupnp and libnatnatpmp simultaneously · 60515d89
      Eden Abitbol authored
      Update libupnp to version 1.8.4.
      
      For windows, the IPV6 preprocessor must be undefined. Or else
      libupnp won't initialize. Added visual studio 2017 support
      via one patch for windows that also combines previous windows
      patches.
      
      UPnPController: Class that the jami classes use to control the
      opening and closing of ports. Every  service has it's own upnp
      controller. The controller does it's actions by using the upnp
      context class. Also refactored the functions used to add
      mappings. Instead of using two different functions with
      different types of parameters, we now use one function with
      parameters that have default values. The logic stays the same
      but the function call is more clear.
      
      UPnPContext: Class that holds a (linked) list of discovered IGDs
      and their corresponding protocols (which discovered them).
      Whenever the controller wants to add or remove a mapping, the
      context picks a valid IGD in it's list and uses the correct
      protocol to complete the required action. This class also has
      the ability to swap protocols for an IGD that was discovered
      by more then one protocol.
      
      UPnPProtocol: Virtual base class that defines the functions
      needed by the context to use the corresponding protocol.
      
      PUPnP: UPnPProtocol derived class that represents a upnp client
      that uses the portable upnp library (libupnp). Every time the
      client discovers a new IGD it uses a callback to add it to the
      context's main IGD linked list. It also has an internal list of
      IGDs that it discovered. Added features to this class include:
      	- IGD event subscription.
      	- Use UpnpInit2 function instead of deprecated UpnpInit
      	  function. It's also supposed to support IPv6.
      
      NatPmp: UPnPProtocol derived class that represents a upnp client
      that uses the NAT-PMP library (libnatpmp). Unlike libupnp,
      libnatpmp only supports discovering one IGD. Also uses callbacks
      to add the IGD it finds to the context's main IGD class.
      
      Also inclided debug warning prints whenever a controller opens
      and closes the ports. That way we can keep track of whenever
      the application opens and closes ports on the internet
      gateway device.
      
      Gitlab: #96
      
      Change-Id: I199271edac2c6d93dc60c24e2e2aefe36de7950c
      60515d89
    • Adrien Béraud's avatar
      call: send text message on main thread · 3e2c8637
      Adrien Béraud authored
      Change-Id: Ic2d9de6e6af09cabc0838da88afedfa16af174d1
      3e2c8637
  5. 01 Jun, 2019 3 commits
  6. 31 May, 2019 2 commits
  7. 24 May, 2019 1 commit
  8. 29 Apr, 2019 1 commit
  9. 08 Apr, 2019 1 commit
  10. 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
  11. 11 Mar, 2019 1 commit
  12. 07 Mar, 2019 2 commits
  13. 02 Jan, 2019 1 commit
  14. 06 Dec, 2018 2 commits
    • Philippe Gorley's avatar
      recorder: remove expected/received streams logic · a2264383
      Philippe Gorley authored
      Caller should know what streams to add to the recorder and use
      Observable::attach before calling Recordable::startRecording.
      
      Change-Id: I14d19406cdaf047bd3b612c69775fc4ddbc21142
      a2264383
    • Philippe Gorley's avatar
      recorder: subscribe to audio/video sources · 351856e7
      Philippe Gorley authored
      Makes the MediaRecorder an observer on AudioInput, AudioReceiveThread,
      VideoInput and VideoReceiveThread, so they no longer need a reference
      to the recorder.
      
      Makes sure the framerate is set for the recorder by adding a way to get
      the stream parameters from the video receiver and input, since AVFrame
      does not carry framerate and time base information.
      
      Adds way to detach the recorder from the media sources, so it can be
      reattached on subsequent records.
      
      Change-Id: I71bac0825541f6445861f4f949288e1c62416f05
      351856e7
  15. 03 Dec, 2018 1 commit
    • Philippe Gorley's avatar
      audio: implement switch input · 10126454
      Philippe Gorley authored
      Lays the groundwork for file streaming by allowing the audio source to
      be changed while an audio input is active.
      
      Don't notify observers if there's no frame.
      
      Renames videoInput_ to mediaInput_ now that it is also used for audio.
      
      Change-Id: I0a10d4a339e77b890ee006a5f977383e8942505b
      10126454
  16. 30 Nov, 2018 1 commit
  17. 30 Oct, 2018 1 commit
    • Hugo Lefeuvre's avatar
      call management: add PEER_BUSY status · a031c92d
      Hugo Lefeuvre authored
      There is currently no distinction between the "peer busy" and "we
      replied busy after timeout" states, since both end in the BUSY state.
      
      Add a new PEER_BUSY state allowing such a distinction:
      * PEER_BUSY is set when peer replied busy
      * BUSY is set when we replied busy to an incoming call
      
      Bump daemon API number to major 7.0.0 since this is breaking the
      current API. In fact, these changes should not break anything in
      any well implemented client because unknown states should be properly
      handled, but better check.
      
      Change-Id: Id83f6db3d4524a91951b9945797f5fd2c019ff2f
      Reviewed-by: Sébastien Blin's avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      a031c92d
  18. 24 Oct, 2018 1 commit
  19. 13 Sep, 2018 1 commit
  20. 04 Sep, 2018 1 commit
    • Hugo Lefeuvre's avatar
      call management: add ringing timeout · 9a12c78a
      Hugo Lefeuvre authored
      Currently there is no timeout for received calls. If a peer is
      connected but doesn't answer a call, then this call will stay in
      RINGING state 'forever' until the calling user manually aborts
      it or peer becomes unreachable.
      
      This patch implements a timeout system: When a call starts ringing
      a job is scheduled in a fixed amount of time (corresponding to a new
      user preference, by default 30s) to check whether the call is still
      ringing or not. If the call is still ringing after timeout, hangup()
      is called with 486 (BUSY) state and ringing stops.
      
      Change-Id: I49218f5d4bdef8e4a8cee35fa6dde80f572b46c6
      Gitlab: #42
      9a12c78a
  21. 27 Jul, 2018 1 commit
  22. 26 Jul, 2018 1 commit
  23. 10 Jul, 2018 1 commit
  24. 03 Jul, 2018 1 commit
  25. 16 Jun, 2018 1 commit
    • Philippe Gorley's avatar
      sipcall: add peer uri · 2a20afcf
      Philippe Gorley authored
      For SIP accounts, peer uri contains a well formed sip uri. For Ring
      accounts, contains "ring:username" if a registered name is found, else
      "ring:ringid".
      
      Change-Id: I55bc46e905adf4cf8fe8ea955a2f9cb13438de7e
      2a20afcf
  26. 07 Jun, 2018 1 commit
  27. 06 Jun, 2018 1 commit
    • Philippe Gorley's avatar
      media: add video recording support · c21c5b77
      Philippe Gorley authored
      If there are 2 video streams, overlays local video over peer video. Peer
      video will be upscaled if it is too small, while local video will be
      scaled to 1/16th the size of the peer video.
      
      If there is only 1 video stream, uses peer video settings if they are
      valid, or fall back on local video settings.
      
      Adds title and description metadata to recorded file.
      
      Change-Id: I182de013e3ac2d18161eadf406fc6494e5f59a4e
      c21c5b77
  28. 04 Jun, 2018 1 commit
  29. 29 May, 2018 1 commit
  30. 23 Jan, 2018 2 commits
  31. 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
  32. 05 Dec, 2017 1 commit