Commit graph

555 commits

Author SHA1 Message Date
Marvin W 0aa73c4569
RTP: Use gstreamers new VideoFrame.map 2022-08-21 20:02:48 +02:00
Marvin W e85477bb19
RTP: Use latest gstreamer vapi if vala version older than 0.56.1 2022-08-21 19:33:20 +02:00
Marvin W 7b252d040a
CMake: Fix version checks 2022-08-21 00:41:27 +02:00
Marvin W e51b55432f Gtk4 bug fixes and improvements 2022-07-27 20:55:54 +02:00
fiaxh f44cbe02c1 Improve Gtk4 port 2022-07-27 20:34:20 +02:00
Marvin W 2b3ce5fc95 Video for GTK4 2022-07-27 20:34:20 +02:00
fiaxh 7e7dcedaf3 Port from GTK3 to GTK4 2022-07-27 20:34:20 +02:00
LAGonauta c29032bcc6 :Merge remote-tracking branch 'upstream/master' into master-windows-changes 2022-06-05 11:12:23 -03:00
Matthew Egeler f25bfb0096
Support devices with multiple framerate options in get_max_fps (#1224) 2022-05-17 14:12:32 +02:00
foucault 186361fd8a Fix calculation of best camera framerate
When the algorithm iterates over all the available v4l2 capabilities it tries to determine the best framerate for each one of YUYV (video/x-raw) modes presented by the hardware (best_fraction, line 357 in device.vala). Regardless of what's determined to be the "best" YUYV mode from within the conditional right after (line 385) the best fractional framerate will always point to the last iterated framerate, which might be an extremely low one, like 7 or 5 FPS. When the framerate is then stored in the Gst.Structure (line 394) the fractional framerate will always be that last value which might be different than the correct one as calculated by best_fps (line 386). This workaround solves this issue by only updating best_fraction when the conditional in line 385 is satisfied.

from issue #1195
2022-05-17 14:08:22 +02:00
Marvin W baa4a6a1eb
Prepare http-files plugin for libsoup-3 support
Note: ice plugin still depends on libsoup-2.4 and one can't have both
in the same process, so this remains disabled by default
2022-04-09 00:28:42 +02:00
Marvin W a0eac798cd
Fix build of tests 2022-04-08 22:03:31 +02:00
Marvin W 193bf38a79
Allow cancellation of file transfers 2022-03-30 10:36:52 -06:00
Nkwuda Sunday Cletus c5ed719b66
set a generic MIME type for encrypted file (#1213) 2022-03-23 20:42:43 +01:00
Marvin W f0ed11ec49
Fix build on Vala < 0.50 and pre-release Vala versions 2022-03-16 08:41:51 -06:00
fiaxh 5f04a6eb09 QR-code: Actually use Uri.join if glib version supports it 2022-03-09 07:56:14 -06:00
mjk d1c8284964 OMEMO QR code: URI-escape the JID 2022-02-26 00:08:00 +00:00
mjk 98adfa332a OMEMO: Make QR code "scalable" in accordance with GDK_SCALE
The QR code is now generated at the required resolution instead of being
stretched for display with linear filtering.
2022-02-25 23:20:05 +00:00
mjk d3ae541673 Qrencode: Break out upsampling into a separate function 2022-02-25 22:43:02 +00:00
mjk 855a98c045 OMEMO: Make QR code fixed-resolution and the quiet zone ISO-conformant 2022-02-25 22:26:43 +00:00
LAGonauta 90bd9df891 Merge remote-tracking branch 'upstream/master' into master-windows-changes 2022-02-25 07:02:20 -03:00
LAGonauta d10badd690 Ignore wasapi devices as they do not work well yet 2022-02-25 07:02:06 -03:00
mjk 3719fcbefb RTP: clarify codec support warning 2022-02-13 21:32:28 +01:00
Translations f5d1435182 Update translations 2022-02-12 22:08:07 +01:00
Marvin W b586aebbac
Calls: Fix OMEMO in group calls 2022-02-12 17:18:03 +01:00
Marvin W 369d0c79d7
Calls: Fix device selector for multi-party calls, allow picking device before call started 2022-02-12 14:36:26 +01:00
Marvin W 6532c2b160
RTP: Only display SSRC mismatch warning for GLib versions supporting warning_once 2022-02-11 20:33:06 +01:00
Marvin W e768c40e11
RTP: Make codec and hardware support compile-time configurable 2022-02-11 19:55:19 +01:00
fiaxh dbc6d87cb9 Various call fixes
- Don't create incoming CIM calls twice
- Fix is_color check for video devices w/ multiple formats
- Tolerate mismatching content creator on jingle responses
- Change MUJI namespace to urn:xmpp:jingle:muji:0
2022-02-10 15:43:34 +01:00
LAGonauta 11828cc2cf no need to ignore wasapi 2022-02-09 21:09:44 -03:00
LAGonauta a583a44994 fix call notifications buttons not working 2022-02-09 21:01:26 -03:00
Marvin W 28248607f0
DTLS: Handle DTLS fingerprint in transport-info before session-accept 2022-02-09 23:58:54 +01:00
LAGonauta dd71e943c3 Merge remote-tracking branch 'upstream/master' into master-windows-changes 2022-02-08 20:32:22 -03:00
LAGonauta b8b74817f7 Merge remote-tracking branch 'upstream/master' into master-windows-changes
# Conflicts:
#	main/src/ui/conversation_content_view/file_widget.vala
#	plugins/CMakeLists.txt
#	plugins/rtp/src/device.vala
#	plugins/rtp/src/plugin.vala
2022-02-08 18:33:09 -03:00
Translations fb10aefefa Update translations 2022-02-08 22:17:26 +01:00
Marvin W 43ea088f64
Calls: Device picker 2022-02-08 21:58:18 +01:00
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
Daniel Reuther 5a335f89d3 Fix compilation on gcc 11 2021-10-23 02:45:52 +02: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
LAGonauta c57fc768aa Do not generate WinRT headers, just download them on build 2021-06-19 11:43:12 -03:00
LAGonauta 88a376c1c2 Build YoloRT on project build 2021-06-19 08:13:39 -03:00
LAGonauta 97753bd5c4 Remove YoloRT from tree 2021-06-19 06:58:40 -03:00
LAGonauta d7118c1b93 Allow devices with properties and use has_classes 2021-06-18 07:46:39 -03:00
LAGonauta 96fbbdd8bb Use correct generic type for ArrayList
Nullable crashes Dino
2021-06-10 20:03:30 -03:00
LAGonauta 4b0c3b8ef0 Add initial call notifications 2021-06-09 07:20:56 -03:00
LAGonauta ee11a2dbcf Do not allow selection of WASAPI devices
Dino would have to resample it own audio, do more book keeping and
somehow find out manually which is the default device.
2021-06-09 07:20:45 -03:00
LAGonauta 064541dd2b Prefer primary DirectSound device on Windows
It automatically selects the default device for use,
there is no book keeping necessary and things just work

The primary DirectSound device has a (NULL) guid, making
it wasy to be found.
2021-06-09 07:20:33 -03:00
LAGonauta 854818133e DelegateToUi must be an owned function 2021-06-09 07:20:14 -03:00
LAGonauta 878bf9ac43 Allow null header, body, applogo, and image on notification builder 2021-06-09 07:20:14 -03:00