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
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
mjk
3719fcbefb
RTP: clarify codec support warning
2022-02-13 21:32:28 +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
Marvin W
28248607f0
DTLS: Handle DTLS fingerprint in transport-info before session-accept
2022-02-09 23:58:54 +01:00
Marvin W
43ea088f64
Calls: Device picker
2022-02-08 21:58:18 +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
460c520db7
RTP: Restrict number of recaps to save resources
2022-02-06 00:19:26 +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
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
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
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
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
f398135bc8
RTP: Make opus mono-channel
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
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
Marvin W
686035ca1e
RTP: Handle missing rtp pay/depay elements
2021-05-15 19:55:44 +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