Commit Graph

140 Commits

Author SHA1 Message Date
John Preston
f3808bdc24 Start using webrtc::VideoTrack. 2020-08-11 18:21:40 +04:00
John Preston
da3bbba497 Allow enable/disable video in a call. 2020-08-11 18:21:40 +04:00
John Preston
78c9c1e7f8 Update tgcalls library. 2020-08-11 18:21:40 +04:00
John Preston
46550381a4 Fix build on macOS. 2020-08-11 18:21:40 +04:00
John Preston
815300bffc Fix video between tdesktop instances. 2020-08-11 18:21:40 +04:00
John Preston
12e0399cf4 Add tgcalls library. 2020-08-11 18:21:40 +04:00
John Preston
71040464c5 Request camera permissions on macOS. 2020-08-11 18:21:40 +04:00
John Preston
6d36176a8d Add test implementation of webrtc calls. 2020-08-11 18:21:40 +04:00
John Preston
79a361ba43 Move call management to Core::App. 2020-06-25 21:57:36 +04:00
John Preston
83538675ce Move a lot of settings to Core::Settings. 2020-06-23 21:53:42 +04:00
John Preston
4d6cc58f0d Move session settings to main_session_settings. 2020-06-23 21:53:42 +04:00
John Preston
357caf8007 Keep separate MTP::Config's for separate accounts. 2020-06-23 21:53:41 +04:00
John Preston
0ad7dcaef9 Remove MTP::MainInstance() global access point. 2020-06-23 21:53:40 +04:00
John Preston
7f09da9e32 Use MTP::Sender in Intro. 2020-06-23 21:53:39 +04:00
John Preston
ea4044e38c Use TgVoip interface instead of VoIPController. 2020-06-01 18:09:31 +04:00
John Preston
ed715fb810 Update API scheme to layer 111. 2020-03-27 20:36:01 +04:00
John Preston
e943264823 Pass MTP::Instance to MTP::Sender. 2019-11-29 15:36:05 +03:00
John Preston
08bfe6f1c1 Extract mtproto key generation code. 2019-11-15 16:16:32 +03:00
John Preston
246c45ce0e Use lib_ui from submodule. 2019-10-19 12:27:28 +04:00
John Preston
0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston
4bad642190 Remove some more Auth() calls. 2019-08-09 11:50:49 +01:00
John Preston
bacaf805b5 Pass SessionNavigation to some boxes. 2019-07-25 20:55:11 +02:00
John Preston
ff44094ded Rename AuthSession to Main::Session. 2019-07-24 13:45:24 +02:00
John Preston
567bf60644 Use getters in MTP classes. 2019-07-05 16:23:07 +02:00
John Preston
4917ca7b32 Remove all legacy global namespace langs. 2019-06-21 11:06:52 +02:00
John Preston
87fc066e67 Use tr:: instead of lang(). 2019-06-21 11:06:51 +02:00
John Preston
9c613fe2f7 Move system versions to platform/platform_info. 2019-06-04 14:23:14 +03:00
John Preston
d36f6a0322 Update API scheme to layer 98. 2019-03-29 14:24:06 +04:00
John Preston
ed93669693 Beta version 1.5.16: Update libtgvoip. 2019-03-12 19:04:22 +04:00
John Preston
383b29dbd8 Fix possible crash in calls.
Fixes #5732.
2019-03-12 15:26:29 +04:00
John Preston
fe618bd652 Use crl::time/now instead of TimeMs/getms. 2019-02-19 11:06:33 +04:00
John Preston
032694ad9e Move files to media/audio and media/clip. 2019-02-13 15:41:33 +03:00
John Preston
4111da1dd0 Move some calls from App namespace. 2019-01-22 17:10:01 +04:00
John Preston
c5a41e1f55 Divide data/data_peer and remove from PCH. 2019-01-17 12:21:29 +04:00
Gregory K
11b991cddc Add call settings (#5540) 2019-01-05 15:08:02 +04:00
John Preston
22b47925d4 Fix assertion violation in calls. 2018-12-25 12:21:00 +04:00
John Preston
92738b378c Version 1.5: Fix calls. 2018-12-10 19:37:52 +04:00
John Preston
59ecf375b0 Move tg:// handlers to a separate module.
Also move joinGroupByHash and stickerSetBox from MainWidget.
2018-11-26 17:31:13 +04:00
John Preston
8d27d8efcf Use cloud-based settings for p2p in calls. 2018-11-16 20:17:58 +04:00
John Preston
5b0ad0508a Update libtgvoip. 2018-11-09 20:13:59 +04:00
John Preston
e482f041a8 Allow disabling even system proxy settings.
Fixes #4944.
2018-11-05 18:52:01 +04:00
John Preston
a429e22b93 Beta version 1.4.4: Add some checks. 2018-10-17 09:25:24 +03:00
Grishka
44eac2bf07 Added support for platform-specific microphone permission in calls 2018-10-17 08:53:23 +03:00
John Preston
377689ae86 Fix build for Xcode 10. 2018-09-19 19:22:14 +03:00
John Preston
c4ca180745 Add call peer-to-peer setting in Privacy&Security. 2018-09-19 19:22:14 +03:00
John Preston
63103ede81 Update libtgvoip. 2018-09-01 18:56:08 +03:00
John Preston
c2fa149ffd Replace InvokeQueued with on_main for has_weak_ptr. 2018-06-12 01:02:04 +03:00
John Preston
d8a4ede4b5 Fix incoming calls.
Regression was introduced in 1392e05ab1.

Fixes #4804.
2018-06-06 13:28:43 +03:00
John Preston
72f95b984f Replace cDebug() with Logs::DebugEnabled(). 2018-06-05 21:51:05 +03:00
John Preston
294ed1bb17 Update libtgvoip to 2.1. 2018-06-04 23:14:00 +03:00
John Preston
1392e05ab1 Move all gsl::byte helpers to base/bytes module. 2018-06-03 23:16:34 +03:00
John Preston
46976c4e03 Display signal bars in calls. 2018-05-27 12:35:38 +03:00
John Preston
a5cbade8ec Update libtgvoip. 2018-05-24 20:25:04 +03:00
John Preston
48c1576d7f Add 'Use proxy for calls' option. 2018-05-07 00:29:53 +03:00
John Preston
9895b45293 Fix calls supported layer arguments. 2018-04-07 11:00:43 +04:00
John Preston
6a9556d42c Move non-settings session data to Data::Session.
Rename AuthSessionData to AuthSessionSettings, move data away.
2018-02-08 12:20:46 +03:00
John Preston
ea7441ae77 Use single LEGAL file with license and copyright. 2018-01-03 13:23:14 +03:00
John Preston
935232eaa2 Don't use AEC on modern macOS. 2017-12-08 13:13:05 +04:00
John Preston
0c4bda71fd Remove some unused / rare phrases. 2017-11-16 07:59:05 +04:00
John Preston
21b1ba1f88 Move build to Ubuntu 14.04 and GCC 7.2.
To be able to run on the same distributions as before we need to have
the same GLIBC version dependency as in Ubuntu 12.04, which is 2.15.

For that we need to remove all usages of GLIBC features from 2.16 and above.
Currently there are three methods used, so they're wrapped in a separate
static library, linux_glibc_wraps.

It is a separate library because it must be compiled without '-flto' flag,
otherwise the inline __asm__ is not working and we get unresolved symbols.
2017-11-16 07:59:05 +04:00
John Preston
25ffaaaa2d Replace t_assert() with Assert().
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03:00
John Preston
b3da99c302 Replace gsl::not_null<T*> with just not_null<T*>. 2017-08-30 19:15:41 +03:00
John Preston
ab35829358 Remove App::app(), App::uploader(), App::api().
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston
2de96682db Fix phone call decline reason.
If the call was declined fast enough the reason was hangup while it
should be busy.
2017-06-29 11:40:06 +03:00
John Preston
11d4c50202 Closed beta 1001007001: Fix build in GCC. 2017-06-29 11:40:02 +03:00
John Preston
110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston
843f983051 Skip call ended sound if ended from other device. 2017-05-12 19:09:34 +03:00
John Preston
9dfd7f4ba9 Play the outgoing call sound only in Ringing state. 2017-05-12 18:53:59 +03:00
John Preston
8a4a7897a0 Fix contract violation in Call::startIncoming.
Also fix call answer while dhConfig is not received yet.
2017-05-10 10:58:02 +03:00
John Preston
c78cc331d1 Discard call in case of an error.
Also add a couple of call error messages.
2017-05-09 23:46:43 +03:00
John Preston
e7dcd5ab15 Don't decline awaited incoming call on app quit. 2017-05-09 23:46:41 +03:00
John Preston
530a385d4e Add sound override support by codes in Settings. 2017-05-09 23:46:40 +03:00
John Preston
23874a0a26 Animate call answer button with an outer ripple. 2017-05-09 23:46:39 +03:00
John Preston
3b46382550 Add logging for libtgvoip when we have DebugLogs. 2017-05-09 23:46:39 +03:00
John Preston
b3d5ac1660 Fix call discard when hanging up before request. 2017-05-09 23:46:38 +03:00
John Preston
d0afe83beb Fix call panel in macOS build. 2017-05-09 23:46:36 +03:00
John Preston
2214e980ef Add call panel show / hide animation. 2017-05-09 23:46:34 +03:00
John Preston
0a6e012e90 Add call debug window on Ctrl+Click Show Info.
It is available only when debug logs are enabled.
2017-05-09 23:46:33 +03:00
John Preston
fd24aff6b1 Play sounds in calls. 2017-05-09 23:46:31 +03:00
John Preston
11525a1e50 Add RateCallBox for calls feedback collection. 2017-05-09 23:46:28 +03:00
John Preston
f42f79ea95 Add "line busy" call state with a redial button. 2017-05-09 23:46:24 +03:00
John Preston
d5ff728da6 Show privacy / incompatibility errors in calls. 2017-05-09 23:46:24 +03:00
John Preston
30d000e139 Toggle calls controls using config and user flags.
Also use calls timeout values from config.
Also request config each time when the auth session changes.
2017-05-09 23:46:22 +03:00
John Preston
f4911431d5 Request, parse and apply phone.getCallConfig. 2017-05-09 23:46:21 +03:00
John Preston
06b081f509 Add calls log box.
PeerListBox can have many rows with the same PeerData.
PeerListBox::Row can have arbitrary action on the right side.
2017-05-09 23:46:18 +03:00
John Preston
f6eb2c5205 Add call top bar above the media player. 2017-05-09 23:46:18 +03:00
John Preston
60ac7572af Display name, status and emoji in Call Panel. 2017-05-09 23:46:17 +03:00
John Preston
b267957abe Apply all MTP Key generation checks to calls.
Also move all OpenSSL BN_* calls to base/openssl_help header.
2017-05-09 23:46:16 +03:00
John Preston
4925af69e2 Add Calls::Panel and handle incoming calls. 2017-05-09 23:46:15 +03:00
John Preston
0a716036c2 Extract Calls::Call. Add a call button to TopBar. 2017-05-09 23:46:14 +03:00