1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-15 12:55:36 +00:00
Commit graph

1390 commits

Author SHA1 Message Date
Evangelos Ribeiro Tzaras
ea5b4f2895 sip: media-pipeline: Use cryptographic parameters
Allows setting up cryptographic parameters with
calls_sip_media_pipeline_set_crypto() and use them to set GstCaps for
GstSrtpDec and GObject properties for GstSrtpEnc
2022-05-24 22:30:03 +02:00
Evangelos Ribeiro Tzaras
4937723541 sip: Add srtp-utilities
These utilities aid in generating and parsing SDP crypto attributes to be used
during the offer/answer negotiation.
2022-05-24 22:30:03 +02:00
Evangelos Ribeiro Tzaras
5cd03a8a13 dbus-manager: Remove unused variables 2022-05-24 22:30:03 +02:00
Evangelos Ribeiro Tzaras
cfd0dc6e08 sip: account-widget: Warn when trying to find unknown protocol
A warning is more suitable than a simple debug message as this would be
considered a programming error.
2022-05-24 22:30:03 +02:00
Evangelos Ribeiro Tzaras
5a4fc20c6f Add editorconfig 2022-05-24 22:30:03 +02:00
Anders Jonsson
c33cee00e3 Update Swedish translation 2022-05-24 16:04:04 +00:00
Yuri Chornoivan
54439be532 Update Ukrainian translation 2022-05-24 14:06:50 +00:00
Evangelos Ribeiro Tzaras
ef56c8f51c sip: account-widget: Include option for automatically connecting
Fixes #438
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
47d252eb8b sip-origin: Notify on account property updates
The UI does not have a chance to react otherwise.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
c1be092dea account-widgets: Make row activatable
This brings us closer to the intended design and let's us get rid of
some code.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
f102fb3fcd account-widgets: Conform to style
Closes #396
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
4714aea068 sip: origin: Don't treat DNS failures as errors
No need to g_warning() for this.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
46ff807f6b sip: origin: Always notify state changes when relevant to the UI
by adding functions to the public API which determine if state changes
should be shown to the user and use them (instead of duplicating similar
logic).
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
41479eea09 account-row: Use delayed state changes for GtkSwitch
When trying to go online/offline we're always waiting for confirmation
from the stack (even if it's a timeout) so the delayed pattern is a good choice.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
0605582fc7 sip: origin: Notify on state change
The account state has G_EXPLICIT_NOTIFY but we did never notified.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
59c06aef44 sip: origin: Tweak debugging
Be slightly more verbose in messages.
Demote some warnings.
Don't print empty tags.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
b31db4a51c sip-origin: Codestyle 2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
4f4c7e877e account-row: Fix header alignments
Uncrustify must have gotten confused.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
e0f0c84a7d Update libcall-ui to v0.0.3
Brings some UI tweaks, encryption indicator that is bound to calls
`encrypted` property, fixes a small issue with libcallaudio usage and
lots of updated or added translations.

Closes #452
2022-05-24 13:14:32 +02:00
Pablo Correa Gómez
18c7409609 Update Spanish translation 2022-05-24 08:24:37 +00:00
Evangelos Ribeiro Tzaras
e052201553 tests: Add testing for sideeffects of using CallsSettings
When setting up a binding between GSettings and GObject properties the
CallsSetting used to set the value from the GSetting to the property and
back to the GSetting.

While the value was still the default value it was marked as non default
because it had explicitly been set without any user interaction.
2022-05-13 19:58:07 +02:00
Evangelos Ribeiro Tzaras
46f46cf3ec settings: Break settings binding cycle
This breaks the settings binding cycle for the "autoload-plugins" and
"preferred-audio-codecs" settings which went something like this:

g_settings_bind () is used with
G_SETTINGS_BIND_DEFAULT (G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET).
It grabs the value of our setting and sets it for the bound property.
This emits the notify signal causing the same value to be set for the
setting.

In effect this caused the setting to be marked as non-default because
Calls had changed the setting without user action. This caused updated
defaults not to apply for existing installations.
2022-05-13 19:58:07 +02:00
Evangelos Ribeiro Tzaras
94fa13af4c settings: Convert to the singleton pattern
We only have a single source of settings, so we should reflect that by
using a singleton. This also reduces our LoC.

This doesn't impair our ability to run tests because there we run with
GSETTINGS_BACKEND=memory
2022-05-13 19:58:07 +02:00
Evangelos Ribeiro Tzaras
d28be2650b Fix header alignment
Uncrustify messed up a bit because of the it expects a semicolon for the
G_* () macros

See https://github.com/uncrustify/uncrustify/issues/3393
2022-05-13 19:58:07 +02:00
Evangelos Ribeiro Tzaras
96f1cc0a30 sip: call: Defer setting up codecs for pipeline until activated
This let's us get rid of some ugly code
2022-05-09 11:13:15 +02:00
Evangelos Ribeiro Tzaras
5a15638db3 meson: Enable warning for unused variables 2022-05-09 11:13:15 +02:00
Evangelos Ribeiro Tzaras
c6c17671e1 sip: origin: Remove unused variable 2022-05-09 11:13:15 +02:00
Evangelos Ribeiro Tzaras
2ea4b8736f sip: call: Fix header alignment
Uncrustify must have gotten confused.
2022-05-09 11:13:15 +02:00
Evangelos Ribeiro Tzaras
873e7f9890 uncrustify: Treat g_auto* as types
Because g_autoptr () is considered a function call we also need to set
nl_func_var_def_blk to zero because any occurence of g_autoptr () would
be considered the end of a block of variable declarations.
2022-05-09 11:13:15 +02:00
Evangelos Ribeiro Tzaras
78e4d9789d dir-locals: Treat G_DEFINE_FINAL_* macros as including a semicolon 2022-05-09 11:13:15 +02:00
Hugo Carvalho
5d96924262 Update Portuguese translation 2022-05-06 10:26:54 +00:00
Nathan Follens
96e5178a18 Update Dutch translation 2022-05-05 17:33:15 +00:00
Zurab Kargareteli
cb097bc4ba Add Georgian translation 2022-04-28 18:00:09 +00:00
Evangelos Ribeiro Tzaras
a2b08b6736 Post release bump 2022-04-26 07:13:41 +02:00
Evangelos Ribeiro Tzaras
cb305168b3 Document and release 43.alpha.0 2022-04-25 18:46:36 +02:00
Jiri Grönroos
93066e5196 Update Finnish translation 2022-04-25 09:48:12 +00:00
Evangelos Ribeiro Tzaras
47d4164a09 sip: media-pipeline: Take srtp into account when determing pipeline state
If we're using srtp we should also consider the state of srtpenc and srtpdec
elements when determining the state of the whole pipeline.
2022-04-24 13:36:26 +02:00
Evangelos Ribeiro Tzaras
bfda8f6a3e sip: media-pipeline: Introduce SRTP elements
The rtpbin will request GstSrtpDec and GstSrtpEnc elements using the
"request-{rtp,rtcp}-{de,en}coder" family of signals.

The newly added boolean use_srtp controls whether the srtp elements are
returned in the signal handler and thus decides if SRTP is used or not.
2022-04-24 13:36:24 +02:00
Evangelos Ribeiro Tzaras
5d0ae4a6fa sip: media-pipeline: Debug pipeline graph on SIGUSR2
Ust GST_DEBUG_BIN_TO_DOT_FILE to generate a dot graph of a pipeline for
debugging purposes when SIGUSR2 is received.

Note the same signal is also used within the dummy plugin to simulate an
incoming call from an unknown number, so when testing you probably want either
the sip plugin or the dummy plugin, but not both.
2022-04-24 13:33:19 +02:00
Evangelos Ribeiro Tzaras
58f9f5cb62 sip: media: Allow specifying SRTP for GStreamer capabilities
When using SRTP the GstCaps must be set accordingly.
2022-04-24 13:31:40 +02:00
Evangelos Ribeiro Tzaras
7ac862155b Uncrustify sources
Ran `find src plugins -iname '*.[c|h]' -print0 | xargs -0 uncrustify --no-backup`
with some minimal manual intervention.
2022-04-24 12:59:42 +02:00
Evangelos Ribeiro Tzaras
8daa502de5 Add uncrustify config
Based on phosh's config
https://source.puri.sm/Librem5/librem5-dev-tools/-/blob/master/config/uncrustify/phosh.cfg

Updated to the latest uncrustify version and slightly modified

Closes #287
2022-04-24 12:26:59 +02:00
Evangelos Ribeiro Tzaras
605776641d sip: media-pipeline: Fix socket reuse
We were using two distinct pipelines, one for receiving and one for
sending. The receive pipeline was set to the playing state to allocate
the sockets which we would reuse for the sending direction for our NAT
traversal scheme.

The rework to a single pipeline broke reusing sockets subtly.

This happened because the state of the GstUDPSrc could be reset leading
to newly allocated sockets once the pipeline is set to play.

This is now fixed by locking the state of the GstUDPSrc in the ready
state during socket reuse setup and while the pipeline is paused.

Additionally get rid of the "close-socket" property on the udp sources
because it was never needed.

Fixes aa446f82

sq
2022-04-22 19:23:14 +02:00
Evangelos Ribeiro Tzaras
f44b4c7ef8 sip: origin: Debug print public IP as seen by the registrar 2022-04-22 19:23:14 +02:00
Evangelos Ribeiro Tzaras
db503e84cf sip: media-pipeline: Remove unused variables
This is a remnant from the refactor to unify the pipelines.
2022-04-22 19:23:14 +02:00
Evangelos Ribeiro Tzaras
85b0ae6586 dir-locals: Add projectile commands 2022-04-22 11:04:06 +02:00
Evangelos Ribeiro Tzaras
f96d2f4b39 ci: Use new debian image 2022-04-12 10:37:29 +02:00
Evangelos Ribeiro Tzaras
9b042fc8e8 d/control: Add "bad" gstreamer plugins in order to test srtp elements 2022-04-12 10:37:29 +02:00
Evangelos Ribeiro Tzaras
5cf26bd5c9 Post release bump 2022-04-12 10:36:08 +02:00
Evangelos Ribeiro Tzaras
aa446f8218 sip: pipeline: Unify send and receive pipeline
Using a single pipeline makes implementing encryption easier because we don't
need to duplicate srtpenc and srtpdec elements for each direction.

It also makes it easier to switch to using farstream down the line (see #426).
2022-04-12 08:03:49 +00:00