After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 624344 - details pane: display FsCandidate info
details pane: display FsCandidate info
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: VoIP
2.29.x
Other Linux
: Normal enhancement
: ---
Assigned To: empathy-maint
Depends on:
Blocks:
 
 
Reported: 2010-07-14 13:43 UTC by Guillaume Desmottes
Modified: 2010-08-05 10:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
http://git.Collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/av-candidate-624344 (23.36 KB, patch)
2010-08-03 15:01 UTC, Guillaume Desmottes
needs-work Details | Review
screenshot (26.30 KB, image/jpeg)
2010-08-05 10:03 UTC, Guillaume Desmottes
  Details

Description Guillaume Desmottes 2010-07-14 13:43:55 UTC
There is some discussion in bug #599166 about how we should display info regarding the FsCandidate.
Comment 1 Guillaume Desmottes 2010-08-03 15:01:42 UTC
Created attachment 167048 [details] [review]
http://git.Collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/av-candidate-624344

 libempathy/empathy-call-handler.c |  161 +++++++++++++++++++++++++
 libempathy/empathy-call-handler.h |   12 ++
 src/empathy-call-window.c         |  129 ++++++++++++++++++++
 src/empathy-call-window.ui        |  241 +++++++++++++++++++++++++++++++++++++
 4 files changed, 543 insertions(+), 0 deletions(-)
Comment 2 Olivier Crête 2010-08-03 15:24:55 UTC
Review of attachment 167048 [details] [review]:

::: libempathy/empathy-call-handler.c
@@ +480,3 @@
+      if (remote_candidate != NULL)
+        {
+          priv->audio_remote_candidate = fs_candidate_copy (remote_candidate);

Free the candidate before overwriting it if it already exists maybe ?

::: src/empathy-call-window.c
@@ +1465,3 @@
+    {
+      case FS_CANDIDATE_TYPE_HOST:
+        return "host";

Shouldn't these strings be translatable?

Also, I would add some explanations as tooltip or something, proposed text:

host: The IP address as seen by the machine
srflx: The IP address as seen by a server on the Internet
prflx: The IP address of the peer as seen by the other side
relay: The IP address of a relay server
multicast: The IP address of the multicast group

@@ +1526,3 @@
+  g_assert (candidate != NULL);
+  str = g_strdup_printf ("%s:%u (%s)", candidate->ip,
+      candidate->port, candidate_type_to_str (candidate));

If one of the candidates is of type relayed, you can probably put an extra message to make it clear to the user.

The IP could be IPv6, so using ":" as a ip/port separator may not be  a good idea.

@@ +1617,3 @@
+      G_CALLBACK (video_remote_candidate_notify_cb), self, 0);
+  tp_g_signal_connect_object (priv->handler, "notify::video-local-candidate",
+      G_CALLBACK (video_local_candidate_notify_cb), self, 0);

Maybe you want to hook up to only local or remote and update both at the same time or something...
Comment 3 Guillaume Desmottes 2010-08-04 09:23:58 UTC
Review of attachment 167048 [details] [review]:

::: libempathy/empathy-call-handler.c
@@ +480,3 @@
+      if (remote_candidate != NULL)
+        {
+          priv->audio_remote_candidate = fs_candidate_copy (remote_candidate);

done.

::: src/empathy-call-window.c
@@ +1465,3 @@
+    {
+      case FS_CANDIDATE_TYPE_HOST:
+        return "host";

I'm not convinced It's worth translating as it's mainly for debugging purpose. If a user tell us on IRC the Chinese version of this string that won't help us much. :)

But the tooltip is a really good idea; I've added it (and this one is translated).

@@ +1526,3 @@
+  g_assert (candidate != NULL);
+  str = g_strdup_printf ("%s:%u (%s)", candidate->ip,
+      candidate->port, candidate_type_to_str (candidate));

What kind of message would you display and how?

I now use a space to separate the IP from the port.

@@ +1617,3 @@
+      G_CALLBACK (video_remote_candidate_notify_cb), self, 0);
+  tp_g_signal_connect_object (priv->handler, "notify::video-local-candidate",
+      G_CALLBACK (video_local_candidate_notify_cb), self, 0);

I group them by media type as they are changed at the same time.
Comment 4 Olivier Crête 2010-08-04 09:31:34 UTC
> What kind of message would you display and how?

I'm not sure exactly what messages to write.. Maybe its not a great idea (since SIP calls could be relayed without us knowing anyway).
Comment 5 Guillaume Desmottes 2010-08-05 10:03:26 UTC
Created attachment 167173 [details]
screenshot

The tooltip is now displayed on an "info" image so it easily discoverable.
Comment 6 Olivier Crête 2010-08-05 10:04:42 UTC
Great, ship it !
Comment 7 Guillaume Desmottes 2010-08-05 10:07:17 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.