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 687928 - Handle yanking out of current video input
Handle yanking out of current video input
Status: RESOLVED OBSOLETE
Product: empathy
Classification: Core
Component: VoIP
3.6.x
Other All
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks: 687449
 
 
Reported: 2012-11-08 15:40 UTC by Debarshi Ray
Modified: 2018-05-22 15:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
empathy-call: Handle yanking out of current video input (1.46 KB, patch)
2012-11-08 15:44 UTC, Debarshi Ray
none Details | Review
empathy-call: Handle yanking out of current video input (3.89 KB, patch)
2012-11-08 22:37 UTC, Debarshi Ray
committed Details | Review

Description Debarshi Ray 2012-11-08 15:40:33 UTC
If the camera being used to make the call is yanked out then empathy-call crashes. Instead it should continue with audio. If another camera is available it should use it for subsequent calls.
Comment 1 Debarshi Ray 2012-11-08 15:44:59 UTC
Created attachment 228482 [details] [review]
empathy-call: Handle yanking out of current video input
Comment 2 Debarshi Ray 2012-11-08 22:37:16 UTC
Created attachment 228513 [details] [review]
empathy-call: Handle yanking out of current video input

This is a more complete patch. The previous one did not cover a few possible interactions.
Comment 3 Guillaume Desmottes 2012-11-09 09:05:58 UTC
Review of attachment 228513 [details] [review]:

Looks good thanks! (both branches)
Comment 4 Debarshi Ray 2012-11-09 13:05:05 UTC
Not closing this yet, because I missed one case.

If you hangup, then yank out the active camera, and then place a call without explicitly choosing another camera. It will causes a crash. The backtrace looks like this:

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 63
  • #1 __GI_abort
    at abort.c line 90
  • #2 g_assertion_message
    at gtestutils.c line 1877
  • #3 g_assertion_message_expr
    at gtestutils.c line 1888
  • #4 add_video_preview_to_pipeline
    at empathy-call-window.c line 518
  • #5 display_video_preview
    at empathy-call-window.c line 1244
  • #6 empathy_call_window_set_send_video
    at empathy-call-window.c line 4080
  • #7 empathy_call_window_video_call_cb
    at empathy-call-window.c line 366
  • #8 _g_closure_invoke_va
    at gclosure.c line 840
  • #9 g_signal_emit_valist
    at gsignal.c line 3211
  • #10 g_signal_emit_by_name
    at gsignal.c line 3393
  • #11 _g_closure_invoke_va
    at gclosure.c line 840
  • #12 g_signal_emit_valist
    at gsignal.c line 3211
  • #13 g_signal_emit
    at gsignal.c line 3356
  • #14 gtk_real_button_released
    at gtkbutton.c line 1967
  • #15 g_closure_invoke
    at gclosure.c line 777
  • #16 signal_emit_unlocked_R
    at gsignal.c line 3481
  • #17 g_signal_emit_valist
    at gsignal.c line 3300
  • #18 g_signal_emit
    at gsignal.c line 3356
  • #19 gtk_button_button_release
    at gtkbutton.c line 1802
  • #20 gtk_button_button_release
    at gtkbutton.c line 1794
  • #21 _gtk_marshal_BOOLEAN__BOXEDv
    at gtkmarshalers.c line 130
  • #22 _g_closure_invoke_va
    at gclosure.c line 840
  • #23 g_signal_emit_valist

The crash can be easily fixed by doing a:
+  if (priv->video_input == NULL)
+    create_video_input (self);
+  empathy_camera_menu_set_sensitive (priv->camera_menu, TRUE);

... but the problem is there is no visual indication of what the current camera is until you actually start the call. Do we care about that?
Comment 5 GNOME Infrastructure Team 2018-05-22 15:52:48 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/empathy/issues/613.