Commit Graph

142 Commits

Author SHA1 Message Date
John Preston b692242012 Allow reference tgcalls implementation. 2020-08-11 18:21:40 +04:00
John Preston c1f727bde9 Update tgcalls to use new protocol. 2020-08-11 18:21:40 +04:00
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