Commit graph

411 commits

Author SHA1 Message Date
Translations 35526ab5a5 Update translations 2022-02-08 17:52:30 +01:00
fiaxh 4ef50db3e5 Various call UI/UX improvements 2022-02-07 01:21:11 +01:00
Marvin W 5ed8d28a27
RTP: Use two channels for Opus
Fixes: #1189
2022-02-06 00:19:27 +01:00
Marvin W bfd089516a
RTP: Add support for G.722 2022-02-06 00:19:26 +01:00
Marvin W 51dc414631
Use uppercase hex for DTLS fingerprints 2022-02-06 00:19:26 +01:00
Marvin W 460c520db7
RTP: Restrict number of recaps to save resources 2022-02-06 00:19:26 +01:00
Translations f94d95fa44 Update translations 2022-02-02 13:08:05 +01:00
Marvin W 0c524cdc4a
RTP: Workaround drawing issues on resolution change 2022-01-27 22:09:53 +01:00
fiaxh b123800f26 Small cleanup 2022-01-23 19:50:01 +01:00
Marvin W f270fc7686
RTP: VAAPI seems to not support VBR and low-power mode at the same time 2022-01-21 15:34:06 +01:00
Marvin W 37cfbd8c76
RTP: Use VP8 wait-for-keyframe only for GStreamer 1.18+ 2022-01-21 15:23:38 +01:00
fiaxh f2ef2bcfe7 Only process PEP messages from bare JIDs 2022-01-10 17:11:24 +01:00
Marvin W 82a492b33f
Remove GStreamer dependencies from main
Fixes #1060
2022-01-09 17:04:34 +01:00
Marvin W 9490ffed6b
Fixes for older valac versions 2021-12-25 18:25:29 +01:00
Marvin W 1c47652814
Fix build with older Vala compilers
- Older versions seem to assume a wrong type for Nice messages
- Older versions have broken bindings for Gst.Value.set_fraction
2021-12-23 07:06:07 +01:00
fiaxh d02c5bc55d Merge branch groupcalls 2021-12-23 00:46:58 +01:00
Marvin W 8e99ed1e9c RTP: Disable VP9 2021-12-19 22:38:27 +01:00
Marvin W cd6d501c23 RTP: Improve screen resolution update logic 2021-12-19 22:38:00 +01:00
Marvin W b1c1751cc4 DTLS: Use own thread for connection establishment 2021-12-19 22:36:26 +01:00
Translations 4e9957deaf Update translations 2021-12-18 23:40:47 +01:00
Marvin W b07c4187ef RTP: Less log spam 2021-12-18 21:47:50 +01:00
Marvin W 9aeff4bf9e SRTP: Do not continue processing data after encrypt/decrypt failed
RTP: Copy less
2021-12-18 21:45:36 +01:00
Marvin W 4f80a9f5cc RTP: Correctly handle timestamp after re-enabling a stream 2021-12-18 21:43:12 +01:00
Marvin W 09cd060889 ICE: Use non-blocking send 2021-12-18 21:39:19 +01:00
Marvin W 52698a23d3 ICE: Run receiver in own thread 2021-12-18 22:35:52 +01:00
fiaxh fa1ba2f83d Remove ContentFilters
fixes #1129 #573
2021-12-09 15:46:16 +01:00
fiaxh 2b3d150949 Improve call details dialog + small multi-party call fixes 2021-11-15 13:29:13 +01:00
Marvin W ec65415186
Optimize encoder for low cpu usage 2021-11-15 23:49:48 +01:00
Marvin W 0b828a0ae5
Add maximum bitrate and adjust video resolution based on bitrate 2021-11-15 22:49:44 +01:00
Marvin W 9958cfbe7b
Log probe for decode QOS 2021-11-11 22:49:48 +01:00
Marvin W 9e5a3895ae
Limit REMB target bitrate to 2x maximum actually seen value 2021-11-11 22:35:45 +01:00
fiaxh e205743f0c Display target bitrates in connection details UI 2021-11-11 21:54:55 +01:00
Marvin W 1b157a20ab
Fix REMB calculation 2021-11-10 23:13:33 +01:00
Marvin W cfe43de5d5
Make elements sync to get proper qos data 2021-11-10 23:13:33 +01:00
Marvin W 0fe24c4339 Register local ip address handler for raw udp 2021-11-10 11:05:34 +01:00
Marvin W c9194973de Log when DTLS-SRTP has errors 2021-11-10 11:05:34 +01:00
Marvin W 6fa5702e9c ICE: Report transferred bytes for UI 2021-11-10 11:05:34 +01:00
Marvin W f398135bc8 RTP: Make opus mono-channel 2021-11-10 11:05:34 +01:00
Marvin W dfda2f25f0 DTLS: throw exceptions from SRTP 2021-11-10 11:05:34 +01:00
Marvin W ea19a9c5cb RTP: Only start gstreamer pipeline once needed 2021-11-10 11:05:34 +01:00
Marvin W b593aa05ef RTP: Encode with device 2021-11-10 11:05:34 +01:00
Marvin W 083f73b0ca Split payloader off encoder chain 2021-11-10 11:05:34 +01:00
Marvin W 72569ea52f Improve codec support 2021-11-10 11:05:34 +01:00
Marvin W aae13b9ea6 Crop video to match widget ratio 2021-11-10 11:05:34 +01:00
Translations 44c0e65129 Update translations 2021-10-13 20:11:17 +02:00
fiaxh 9285fd07bf Fix compiler warnings ('Type `uint8[]' can not be used for a GLib.Object property') 2021-10-12 19:43:57 +02:00
fiaxh 237081e573 Fix compiler warnings ('Switch does not handle .. of enum ..') 2021-10-12 19:43:57 +02:00
fiaxh e8c162eae3 Fix misc compiler warnings 2021-10-12 19:43:57 +02:00
fiaxh 76e425ed27 Fix compiler warnings ('assignment .. from incompatible pointer type') by returning non-const after_actions in OrderListener 2021-10-12 17:59:47 +02:00
fiaxh 8d8dcf5af6 Fix compiler warnings ('[GtkChild] fields must be declared as `unowned'') 2021-10-12 17:58:18 +02:00
Translations 6ca47bf795 Update translations 2021-09-25 16:13:44 +02:00
Translations ce227f7189 Update translations 2021-09-24 23:10:28 +02:00
fiaxh 83fcc295fe Use own STUN fallback server
fixes #1078
2021-08-09 18:50:22 +02:00
fiaxh ce292d03e3 Don't remove characters after '#' in filename 2021-06-07 10:00:47 -06:00
Marvin W 686035ca1e
RTP: Handle missing rtp pay/depay elements 2021-05-15 19:55:44 +02:00
Marvin W 6399892bf2
Move crypto-vala to shared library 2021-05-14 19:26:05 +02:00
Marvin W bec73ed371
RTP: Fix GStreamer version check 2021-05-14 10:17:51 +02:00
Marvin W 3bfd407843
Calls: Use vp8depay.wait-for-keyframe only with GStreamer 1.16+ 2021-05-11 22:11:44 +02:00
fiaxh d71604913d Merge remote-tracking branch 'origin/feature/calls' 2021-05-11 12:57:02 +02:00
fiaxh 90f9ecf62b Calls: Indicate whether OMEMO key is verified 2021-05-11 12:52:00 +02:00
Marvin W 8044b546d0
Support voice processing on GStreamer 0.14 2021-05-02 18:03:03 +02:00
fiaxh 0ad968df36 Use the same DTLS fingerprint in all contents. Display audio+video enc keys in UI if they differ. 2021-05-01 22:57:38 +02:00
fiaxh 7d2e647690 Improve call wording, cleanup 2021-05-01 21:51:24 +02:00
Marvin W 0409f55426
Fix webcam framerate selection 2021-05-01 17:27:55 +02:00
Marvin W d388525fc6
Correctly handle missing webrtc-audio-processing 2021-05-01 16:00:37 +02:00
Marvin W 23ffd37dde
Echo Cancellation 2021-05-01 15:48:51 +02:00
fiaxh 421f43dd8b Add support for OMEMO call encryption 2021-04-29 16:13:25 +02:00
fiaxh 5d85b6cdb0 Handle non-existant call support 2021-04-29 16:13:25 +02:00
Marvin W 3880628de4
Video optimizations 2021-04-29 15:53:59 +02:00
fiaxh 328c3cf37f Fix bad syntax in gnutls vapi, add libsrtp2 dependency to CI builds 2021-04-12 22:22:39 +02:00
Marvin W 2bee82f0b6
ICE: Require libnice 0.1.15 or newer 2021-04-12 18:05:55 +02:00
Marvin W d19a01d5f2
Handle DTLS edge-cases 2021-04-12 18:05:08 +02:00
Marvin W fe160d94ba
Handle broken VAPI in older vala 2021-04-11 16:28:59 +02:00
Translations e32b49b68f Update translations 2021-04-11 15:59:37 +02:00
Marvin W 4edab3c8d6
Fix custom vapi integration 2021-04-11 15:13:22 +02:00
Marvin W e9ff660537
Fix usage of old libnice versions 2021-04-11 15:13:22 +02:00
fiaxh dfffa08ec1 Fix warnings 2021-04-11 14:42:59 +02:00
Marvin W 6ebdec1d78
GStreamer compat 2021-04-11 12:31:03 +02:00
fiaxh 5e11986838 Fix dtls pull_timeout_function, fix cyclic references 2021-04-09 22:23:56 +02:00
Marvin W fbc10c2023 DTLS-SRTP: Wait for setup finish and handle setup=passive 2021-04-09 22:23:53 +02:00
fiaxh 8d1c6c29be Display+store call encryption info 2021-04-09 22:23:13 +02:00
fiaxh 4ce2bd8cd2 Set omemo+openpgp database properties to be the same as main db 2021-04-07 21:31:47 +02:00
fiaxh 3454201e5a Use outgoing JMI if contact has supporting device 2021-04-01 12:03:04 +02:00
Marvin W c5ab4fed87
Fix bug in legacy SRTP decryption 2021-04-01 11:51:35 +02:00
Marvin W c5cb43350a
Remove unnecessary debug code 2021-04-01 11:51:12 +02:00
Marvin W 5e58f29883
Migrate to libsrtp2 2021-03-29 13:20:12 +02:00
Marvin W 9520a81b81
Don't reuse PTs for different media types 2021-03-29 13:14:37 +02:00
Marvin W fd21eafe26
Fix cyclic reference in DTLS 2021-03-29 13:14:10 +02:00
Marvin W fc3263d49e
Fix device manager usage for GStreamer 1.16 2021-03-26 15:18:04 +01:00
fiaxh ec35f95e13 Add initial support for DTLS-SRTP 2021-03-25 14:45:54 +01:00
Marvin W 4b230808b9
Move SRTP implementation into crypto library for reuse 2021-03-23 20:04:28 +01:00
Marvin W 97ab7de7ab
Mark ICE component as ready even without the event 2021-03-23 15:11:00 +01:00
Marvin W b01f6f9ef7
Resample audio data for common 48k sample rate 2021-03-23 15:11:00 +01:00
Marvin W c8a37c0246
Make foundation a string 2021-03-23 15:11:00 +01:00
Marvin W b393d41601
Add support for SRTP 2021-03-23 15:11:00 +01:00
Marvin W cde1e38f5d
RTP: Backport gst_caps_copy_nth from GStreamer 1.16 2021-03-21 15:43:54 +01:00
Marvin W ef2e3c774c Add RTP implementation as plugin 2021-03-21 12:41:38 +01:00
Marvin W d703b7c09d Add libnice-based ICE-UDP implementation as plugin 2021-03-21 12:41:27 +01:00
hrxi 148cf48d2b Add libnice and listen for direct connections in Jingle SOCKS5 (#608)
Add libnice as a plugin. If it is present, use libnice to enumerate
local IP addresses and listen on them to support direct connections for
Jingle SOCKS5.

Tested with Conversations and Gajim.

Created the nice.vapi file using
```
vapigen --library nice --pkg gio-2.0 --metadatadir metadata /usr/share/gir-1.0/Nice-0.1.gir
```
2021-03-19 22:06:02 +01:00
Marvin W 64237a83a4
CMake: Make STATIC explict where needed 2021-03-06 10:25:56 -06:00