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 620637 - After video recording, record/take photo button becomes disabled
After video recording, record/take photo button becomes disabled
Status: RESOLVED FIXED
Product: cheese
Classification: Applications
Component: general
2.30.x
Other Linux
: Normal normal
: 2.28
Assigned To: Cheese Maintainer(s)
Cheese Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2010-06-05 09:56 UTC by Vish
Modified: 2010-08-25 10:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
fix take button insensitive after recording (448 bytes, patch)
2010-08-03 02:51 UTC, Max Lin
none Details | Review
camera: emit video-saved signal by name in gst threads (1.30 KB, patch)
2010-08-25 10:55 UTC, Filippo Argiolas
committed Details | Review

Description Vish 2010-06-05 09:56:21 UTC
Forwarded lp bug:
https://bugs.launchpad.net/ubuntu/+source/cheese/+bug/587853

After recording a video , the Start Recording/ Take a Photo button becomes insensitive[disabled]

Steps to reproduce:
1: Record a video
2: Stop recording

Now notice the record/take photo button is not available for recording/ taking photos again.

The video recording has no problems though.

Toggling the photo/video/multiple photos buttons doesnt not help. The buttons just remain disabled

*** Workaround: ***
1 - Click the "Effects" button and return back to the video. [no need to select any effect, Simple toggling of the effect button]
 : Now the option to record/take photos is available.

2 - Restart cheese

Every time a video recording is done , the same workaround has to be repeated.

No such problems with taking photos.

Output of:

 GST_DEBUG=*cheese*:3 cheese -v 2>&1

0:00:01.022329753 [336m24545[00m  0x879fd30 [32;01mINFO   [00m [00mcheese-device-monitor cheese-camera-device-monitor.c:231:cheese_camera_device_monitor_coldplug:[00m Probing devices with udev...
0:00:01.023609030 [336m24545[00m  0x879fd30 [32;01mINFO   [00m [00mcheese-device-monitor cheese-camera-device-monitor.c:121:cheese_camera_device_monitor_added:[00m Checking udev device '/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/video4linux/video0'
0:00:01.023971854 [336m24545[00m  0x879fd30 [32;01mINFO   [00m [00mcheese-device-monitor cheese-camera-device-monitor.c:138:cheese_camera_device_monitor_added:[00m Found device 046d:046d, getting capabilities...
0:00:01.108087720 [336m24545[00m  0x879fd30 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:184:cheese_camera_device_add_format:[00m 640x480
0:00:01.108465629 [336m24545[00m  0x879fd30 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:184:cheese_camera_device_add_format:[00m 320x240
0:00:03.145476996 [336m24545[00m  0x879fd30 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:609:cheese_camera_device_get_caps_for_format:[00m Getting caps for 320x240
0:00:03.145577217 [336m24545[00m  0x879fd30 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:632:cheese_camera_device_get_caps_for_format:[00m Got video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YVYU, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YV12, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)I420, framerate=(fraction)[ 0/1, 30/1 ]
0:00:42.061270686 [336m24545[00m  0x860f078 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:609:cheese_camera_device_get_caps_for_format:[00m Getting caps for 320x240
0:00:42.061358965 [336m24545[00m  0x860f078 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:632:cheese_camera_device_get_caps_for_format:[00m Got video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YVYU, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YV12, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)I420, framerate=(fraction)[ 0/1, 30/1 ]

(cheese:24545): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `signal_id > 0' failed
0:01:06.509692665 [336m24545[00m  0x860f078 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:609:cheese_camera_device_get_caps_for_format:[00m Getting caps for 320x240
0:01:06.510349100 [336m24545[00m  0x860f078 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:632:cheese_camera_device_get_caps_for_format:[00m Got video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YVYU, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YV12, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)I420, framerate=(fraction)[ 0/1, 30/1 ]
0:01:22.901618075 [336m24545[00m  0x860f078 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:609:cheese_camera_device_get_caps_for_format:[00m Getting caps for 320x240
0:01:22.901712849 [336m24545[00m  0x860f078 [32;01mINFO   [00m [00mcheese-camera-device cheese-camera-device.c:632:cheese_camera_device_get_caps_for_format:[00m Got video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YVYU, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-rgb, width=(int)320, height=(int)240, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)YV12, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw-yuv, width=(int)320, height=(int)240, format=(fourcc)I420, framerate=(fraction)[ 0/1, 30/1 ]
Cheese 2.30.1 

lsusb : http://launchpadlibrarian.net/49429952/Lsusb.txt
lspci : http://launchpadlibrarian.net/49429951/Lspci.txt
Comment 1 Graham Downs 2010-06-06 15:42:43 UTC
I got this too. I found that I could still use the Spacebar to capture video/pictures though, even when the button was disabled.
Comment 2 Max Lin 2010-08-03 02:51:03 UTC
Created attachment 167028 [details] [review]
fix take button insensitive after recording

I have the same issue on my machine, I made a patch to set take picture button sensitive as true after stop recording, if this problem is bother you, you can try this patch, at least in my machine working fine, but the best solution is decided by the maintainer, maybe the next version fixes this problem.
Comment 3 daniel g. siegel 2010-08-08 22:28:30 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.
Comment 4 Filippo Argiolas 2010-08-25 10:19:07 UTC
Reopening, it's a bug with cheese-camera VIDEO_SAVED signal emission from a gstreamer thread.
Master currently just doesn't care about signals, I hardly would call that a "fix".
Comment 5 Filippo Argiolas 2010-08-25 10:55:47 UTC
The following fix has been pushed:
908bc79 camera: emit video-saved signal by name in gst threads
Comment 6 Filippo Argiolas 2010-08-25 10:55:51 UTC
Created attachment 168718 [details] [review]
camera: emit video-saved signal by name in gst threads

Static camera_signals array is not initizialized in the gstreamer thread
so we get a critical assertion failed (signal_id > 0) if we emit by id.
This should workaround the issue.