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 605549 - Video call fails with "resource unavailable"
Video call fails with "resource unavailable"
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: VoIP
2.29.x
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
: 584829 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-12-27 15:16 UTC by Thomas Meire
Modified: 2011-08-29 10:12 UTC
See Also:
GNOME target: 2.30.x
GNOME version: ---


Attachments
log with GST_DEBUG=5 (1.77 KB, application/x-bzip)
2009-12-27 15:24 UTC, Thomas Meire
  Details
screenshot (190.68 KB, image/png)
2010-01-05 18:28 UTC, Jean-François Fortin Tam
  Details
http://git.collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/no-video-preview-605549 (2.72 KB, patch)
2010-01-11 15:24 UTC, Guillaume Desmottes
reviewed Details | Review

Description Thomas Meire 2009-12-27 15:16:11 UTC
When trying to establisch a video call, empathy 2.29.4 fails with a message saying "resource busy". However, no other program is using the webcam. The webcam works fine with the command:

gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=320,height=240 ! queue ! xvimagesink

When looking at the debug messages, it says: 

libv4l2: error setting pixformat: Device or resource busy

and:

Element error: Device '/dev/video0' cannot capture at 320x240 -- gstv4l2object.c(1854): gst_v4l2_object_set_format (): /GstPipeline:-Pipeline0/EmpathyGstVideoSrc:empathygstvideosrc0/GstGConfVideoSrc:gconfvideosrc0/GstBin:bin3/GstV4l2Src:v4l2src0:
Call to S_FMT failed for RGB3 @ 320x240: Device or resource busy

Attached are the log and errorlog, with GST_DEBUG=5 as requested on irc. The above messages can be found around line 135217 in the errorlog.
Comment 1 Thomas Meire 2009-12-27 15:24:20 UTC
Created attachment 150457 [details]
log with GST_DEBUG=5

The stderr log is too big to attach. It can be found at http://zeus.ugent.be/~blackskad/empathy.27122009.stderr.bz2
Comment 2 Thomas Meire 2009-12-29 14:38:44 UTC
The source of this bug seems to be related to the refactoring of the video preview in empathy_call_window.c I don't know the codebase well enough, but i think some thread wants to set the webcam capabilities, while another thread is reading from it.

Commenting out the calls to display_video_preview on lines 1240 and 2377 of empathy_call_window, allows me to see my contacts stream and enable the local video preview, but no video is send.

(lines are against tag EMPATHY_2_29_4)
Comment 3 Thomas Meire 2010-01-01 13:13:25 UTC
The v4l2 error first occurred after commit 4db67c186241cca03b2f4002ac592b4d86601eb8 ("Enable 'send video' buttons and display the preview if call has 'initial video'")
Comment 4 Jean-François Fortin Tam 2010-01-05 18:28:46 UTC
Created attachment 150853 [details]
screenshot

This bug affects me too. Cheese (and earlier versions of empathy) don't have problems with my webcam, but now I get a nice error message... twice!
Comment 5 Guillaume Desmottes 2010-01-06 11:11:13 UTC
*** Bug 584829 has been marked as a duplicate of this bug. ***
Comment 6 Guillaume Desmottes 2010-01-06 11:11:43 UTC
Seems to be a regression. Should be fixed in 2.30.
Comment 7 Guillaume Desmottes 2010-01-11 15:24:39 UTC
Created attachment 151168 [details] [review]
http://git.collabora.co.uk/?p=user/cassidy/empathy;a=shortlog;h=refs/heads/no-video-preview-605549

 src/empathy-call-window.c |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)
Comment 8 Guillaume Desmottes 2010-01-11 16:04:26 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.