- 28 May, 2018 1 commit
-
-
Philippe Gorley authored
Filters were reverted for the release so the binaries wouldn't include libavfilter (which wasn't yet used). This reverts commit 1e6a4716. Change-Id: Ib9790a544b442066265b3fe1ea96313be35eff62 Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 24 May, 2018 2 commits
-
-
Adrien Béraud authored
Change-Id: I0c696b635bd7940d9d9803ecb577ef436943ded3 Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
Alexandre Viau authored
As contributed by Uwe Kleine-König <uwe@kleine-koenig.org>: - https://bugs.debian.org/884249 The compat code needs atleast upnp 1.6.25 Change-Id: Ia5e50dc362a64b4acd252dac5137e2aba4795064
-
- 22 May, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: I04466980b941dd943637b1a0002997de7a77114f Reviewed-by:
Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
-
- 16 May, 2018 1 commit
-
-
Philippe Gorley authored
FFmpeg may check channels instead of channel_layout, so set both. Change-Id: I25094b104529e7d5ce3476d580a43fc5a445f48d
-
- 15 May, 2018 1 commit
-
-
Philippe Gorley authored
Refactors the MediaEncoder class so it can be reused elsewhere in the codebase. Concretely, MediaEncoder now supports multiple streams and file formats. Adds a unit test for MediaEncoder. Change-Id: I27d6f2e8538809e01fef5c35978a0c35dcf8cae4 Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 14 May, 2018 1 commit
-
-
Philippe Gorley authored
Refactors out the common code from video and audio encoding/flushing into a single method. This reuses code instead of duplicating it. The method is public in the hopes of being able to reuse MediaEncoder elsewhere in the codebase. Allow caller to specify the stream index for the future case that the AVFormatContext contains multiple streams (recording video and audio). Change-Id: Ieae52bc453ef66d141a40819ca10fedbd38d9a86 Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 10 May, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: I7af53fd3b0f76a9652c8fb4d1faceffefe3a4d1f Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 09 May, 2018 2 commits
-
-
Adrien Béraud authored
This reverts commit ea2933d4. Change-Id: I624c07255f60186a0d1e6610a58956775f91b342
-
Adrien Béraud authored
Change-Id: Ia84ed72a0ba48778fcdef404d87fd35f717f64ab
-
- 08 May, 2018 1 commit
-
-
Philippe Gorley authored
Adds dependency to libavfilter, which provides many useful utilities such as hardware encoding, mixing audio or rotating video. Access to libavfilter is done through the MediaFilter class, which takes a filter graph string and AVFrames as input and outputs filtered AVFrames. Adds unit tests for MediaFilter. Change-Id: I0bf3869a9f19ad9cbbe1fc5e2d37eb83ece66ccc Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 07 May, 2018 4 commits
-
-
Philippe Gorley authored
Change-Id: I6ab8a0078f7b67b2342859e216ab4ff02d721736 Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
Adrien Béraud authored
Allows to get PJSIP logs on Android, where stdout is not logged. Change-Id: I6db7734dd608f3c8085bc7ed6cf0341ff3c9c787 Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
Sébastien Blin authored
Currently, when a file is sent, the peer needs to accept the transfer. So, connections with this peer will be opened until the peer accepts or not the file. Since the multi-device support, it's a problem because the peer has to accept/refuse the transfer on each devices. To avoid to leave unused connections while we are using the turn, we need to close these connections. This patch add a timeout to outgoing file transfers. So, after 10 minutes with the status awaiting peer, the connection is closed and the transfer canceled. NOTE: the peer will still see the awaiting_host status even if the connection is closed, but it's a known bug and it will need a major change of the blocking startNewFile function in FtpServer. Change-Id: Ic6e3a2bfebad92cc5c64f5ac2355c3c3765752c9 Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
Sébastien Blin authored
With the current implementation, when a user send a file to a contact who got several devices connected, a request will be sent to all of these devices and the first which answer will get the transfer. So, a user can't know on which device they will get the file. With this patch, in the same configuration the peer will receives the file on all of its devices and add the possibility to accept or refuse the file. To avoid to see multiple file transfers because a peer has several devices, I introduced a OptimisticMetaOutgoingInfo which represents the best current state of the transfer (for example, if one subtransfer is ongoing and one failed (cause refused) it will show the outgoing one). This is an ongoing work, in the near future we must: + Give the ability to clients to see the real status of each subtransfer (with the ability to cancel/retry transfer by devices) + Add a timer to close awaiting transfers to avoid to let a unused connection for too long. Change-Id: I84eb243bff2bfdc087a83dd7eced45c361f27d16 Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
- 26 Apr, 2018 2 commits
-
-
Guillaume Roguez authored
Second attempt to fix a heap-use-after-free found with ASAN. First attempt is broken (commit b2e56f84) Change-Id: I923963ec0a25d768c69c76d506d5bc5dedb6181f Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
Sébastien Blin authored
This reverts commit b2e56f84. Change-Id: I832bcfe0e2994e82d33951a6499ba43345db1a69
-
- 24 Apr, 2018 3 commits
-
-
Philippe Gorley authored
Change-Id: I86d2bfcf88a2a2b0eac50e4bb2b1c74359f84f76
-
Philippe Gorley authored
FFmpeg has the convenient macro av_err2str, but it cannot compile using g++ (https://ffmpeg.org/pipermail/libav-user/2013-January/003440.html). Adds an equivalent function for C++. Change-Id: Ie9eb2c0dfe68c58fd6a5ff82a3729ff63b736a69
-
Hugo Lefeuvre authored
it points to an element of the servers_ map. When we call servers_.erase(it), we free this element. Currently this is done before calling connectedPeers_.erase(it->first.second) and turnEndpoints_.erase(it->first.second) hence resulting in heap use after free. In this patch we change the order of operation so that servers_.erase(it) is done at the end. Change-Id: Ie1b87ebc83e39db189ed651690e9e1dce3496b41
-
- 23 Apr, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: Icce9d2e5a126421e853463a05538d4e75184ab75 Reviewed-by:
Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
-
- 22 Apr, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: I03397f2a9c558b2969f4ce1d177b4905aff6b584
-
- 20 Apr, 2018 1 commit
-
-
Sébastien Blin authored
Before this patch a message got a failed status after 3 minutes (3 retries x 1 min). Moreover, if no devices was found, the message is keeped in the cache and wait for the next reboot. So it results in extremely long sending status, which is not really useful for the user. With this patch, the message fails to send after approximately one minute, if the user is connected and we do not receive an answer or if no device is found. Change-Id: I41171be2ebfebc424f96b4a4d42c360ad35ede86
-
- 19 Apr, 2018 1 commit
-
-
Hugo Lefeuvre authored
Do not delete an object of derived class type through a pointer to its base class type that has a non-virtual destructor. Instead, the base class should be defined with a virtual destructor. Deleting an object through a pointer to a type without a virtual destructor results in undefined behavior. Change-Id: I5a9f1ade5d67056f9ebc2865bd3c1c17fe197fcf Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 17 Apr, 2018 1 commit
-
-
Sébastien Blin authored
6f15399e broke the multi-transfer with the same contact because it closes previous transfers. We need to keep correct turn connections. Change-Id: I0cb9942417b10cc1aaa7d6879613c685dc5de2ad Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
- 13 Apr, 2018 1 commit
-
-
Sébastien Blin authored
When two persons are trying to call each others, we can assume they want to talk together. So, the daemon should automatically answer. It avoids some weird case where they both see the outgoing call view, but cannot answer to the incoming call. There is several scenarios. 1. Both are trying to make a video call, in this case, the daemon with the incoming call from the higher ring_id should answer and drop its outgoing call resulting in a video call. 2. Both are trying to make an audio call, same behavior as scenario 1, resulting in an audio call. 3. One device is trying to make a video call, the other an audio call, audio call is prioritary here, and the daemon with an incoming audio only call should answer and drop the outgoing video call. Change-Id: Id1e639448243c19bf492f2d057496cab6d05de8c Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
- 11 Apr, 2018 2 commits
-
-
Adrien Béraud authored
Change-Id: Ic5ade415fda8f4adbf75ec55d92119f3611bab5a
-
Sébastien Blin authored
For a lot of reasons, the connection to the turn server can be lost, we should relaunch a connection between the daemon and the turn server to avoid to block a future transfer. Change-Id: I02fea8a220d7d42fcc563dc5c97436b4fd55c618
-
- 10 Apr, 2018 1 commit
-
-
Sébastien Blin authored
RFC 6156 propose to use REQUESTED-ADDRESS-FAMILY to be able to communicate beetween a IPv6 network and a IPv4 network. Because this parameter is negociated during the allocation we should use two control channels to be able to communicate with all address families. Change-Id: Ie1659b20c4c7170697e4ad2949a519b0e87e35ae
-
- 09 Apr, 2018 1 commit
-
-
Sébastien Blin authored
This also fix a deadlock when calling this function inside a callback called when no peer has been found. Change-Id: I0a8af8fc7ccfa638fdae9da957275a578b43879e
-
- 07 Apr, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: Id151ff3a40d01871b8a59349465aa40e169822c0
-
- 06 Apr, 2018 1 commit
-
-
Guillaume Roguez authored
Change-Id: I4512dad14927f01f56d6bf4472c3e504157f1b76
-
- 05 Apr, 2018 2 commits
-
-
Adrien Béraud authored
Prevent deadlock by stop waiting on the condition variable after a second. Change-Id: If707fac389615333d1074b0973d693a84c9a974e
-
Sébastien Blin authored
A buffer can arrive before the ATTACH_INPUT or ATTACH_OUTPUT, we should store this buffer and inject it as soon as a stream is attached or we might have a blocked data transfer. Change-Id: I110f7edc3d3e93fc4a9349c9e8a6d6aed699984b
-
- 04 Apr, 2018 1 commit
-
-
Sébastien Blin authored
Use turn server defined by the user instead of the hardcoded turn.ring.cx Change-Id: I47452dfc2a531af2f5ebda3e138d4b31e694631a Reviewed-by:
Philippe Gorley <philippe.gorley@savoirfairelinux.com>
-
- 29 Mar, 2018 1 commit
-
-
Sébastien Blin authored
Add libressl dependency to compile restbed with ssl support. Also, this patch removes a unused file. Bump asio to works with libressl instead of openssl. Change-Id: I5a90dba97693ccda58899f69080e545bdea926d9 Signed-off-by:
Sébastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 28 Mar, 2018 2 commits
-
-
Guillaume Roguez authored
nullptr access to detect if it an audio call only due to missing remote sdp. In such case the incoming call is considered as audio only. Change-Id: I70e5d45aaa047f4683f4277536eb851e5b222e6b
-
Philippe Gorley authored
FFmpeg docs state that if avcodec_send_packet returns EAGAIN, avcodec_receive_frame must be called; it is not an error. Change-Id: I5e84a8a0103fe868056915b9c4ea2fc8d090f7ee
-
- 26 Mar, 2018 1 commit
-
-
Adrien Béraud authored
Change-Id: I6fcb702cedd6204b88ac9b6a6437a18a4728cc12 Reviewed-by:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-
- 23 Mar, 2018 1 commit
-
-
Adrien Béraud authored
* respect timeout in waitForRawData with UDP * handshake until GnuTLS tells us it's time to stop or limit is reached Change-Id: I349d90706e8e024d12c32f5d66d1c6850dd7c23c Reviewed-By:
Sebastien Blin <sebastien.blin@savoirfairelinux.com>
-