camerabin throws an error in gst_camerabin_capture_start gstcamerabin.c(4036)

Bug #734600 reported by Rick Spencer
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gst-plugins-bad
Expired
Medium
gst-plugins-bad0.10 (Ubuntu)
Won't Fix
Medium
Unassigned

Bug Description

An easy way to observe the error is using web_cam_box.py

Steps:
1. bzr barnch lp:quidgets
2. cd quidgets/quickly/widgets
3. python web_cam_box.py, note that the default web cam is displaying properly
4. Click the "picture" button, this emits the capture-start signal

Result, an error message is retrieved from the bus:
Error: GStreamer encountered a general core library error. gstcamerabin.c(4036): gst_camerabin_capture_start (): /GstCameraBin:camera-source

Expected:
An "image-captured" message is sent on the bus

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: gstreamer0.10-plugins-bad 0.10.21-1ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-6.34-generic 2.6.38-rc7
Uname: Linux 2.6.38-6-generic i686
NonfreeKernelModules: wl
Architecture: i386
Date: Sun Mar 13 19:04:27 2011
InstallationMedia: Ubuntu-Netbook 10.04 "Lucid Lynx" - Alpha i386 (20100329)
ProcEnviron:
 LANGUAGE=en_US:en
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: gst-plugins-bad0.10
UpgradeStatus: Upgraded to natty on 2010-12-08 (95 days ago)

Revision history for this message
Rick Spencer (rick-rickspencer3) wrote :
Revision history for this message
Rick Spencer (rick-rickspencer3) wrote :

I hit this same issue on my Natty desktop as well

Changed in gst-plugins-bad0.10 (Ubuntu):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
description: updated
Revision history for this message
Rick Spencer (rick-rickspencer3) wrote :

Running with GST_DEBUG=2 ...

rick@rick-mini10v:~/Projects/quidgets/quickly/widgets$ GST_DEBUG=2 python web_cam_box.py
0:00:00.079447007 1812 0x9c799e0 WARN GST_REGISTRY gstregistry.c:1184:gst_registry_scan_path_level:<registry0> ignoring old plugin /usr/lib/gstreamer-0.10/libgstvalve.so which has been merged into the corelements plugin
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
0:00:01.155537967 1812 0xa223b58 WARN default xoverlay.c:354:gst_x_overlay_set_xwindow_id:<autovideosink0-actual-sink-xvimage> Using deprecated gst_x_overlay_set_xwindow_id()

0:00:08.351641219 1812 0x9c799e0 WARN camerabin camerabinimage.c:620:gst_camerabin_image_link_elements:<camerabinimage0> linking element failed
0:00:08.351846865 1812 0x9c799e0 WARN camerabin gstcamerabin.c:1042:gst_camerabin_change_mode:<camera-source> state change failed
0:00:08.351947067 1812 0x9c799e0 WARN camerabin gstcamerabin.c:4036:gst_camerabin_capture_start:<camera-source> error: starting capture failed
Error: GStreamer encountered a general core library error. gstcamerabin.c(4036): gst_camerabin_capture_start (): /GstCameraBin:camera-source

Revision history for this message
Pedro Villavicencio (pedro) wrote :

Thanks for the report, i've send it to https://bugzilla.gnome.org/show_bug.cgi?id=645427 so the upstream developers can have a look to it, i'll keep the bug posted with comments/questions etc. Thanks again.

Changed in gst-plugins-bad0.10 (Ubuntu):
importance: Undecided → Low
status: New → Triaged
Changed in gst-plugins-bad:
importance: Unknown → Medium
status: Unknown → New
Changed in gst-plugins-bad0.10 (Ubuntu):
importance: Low → Medium
Changed in gst-plugins-bad:
status: New → Incomplete
Revision history for this message
Pedro Villavicencio (pedro) wrote :

There's a few questions from the upstream folks:

1.) Please try with the latest GStreamer from the PPA.
2.) Fix some of the unrelated errors (remove stale
/usr/lib/gstreamer-0.10/libgstvalve.so, don't use deprecated api in
web_cam_box.py - gst_x_overlay_set_xwindow_id())
3.) Please attach the output from v4l-info and xvinfo.
4.) can you run gst-launch camerabin ?

May you please attach those logs to the report? i can forward those upstream later. Thanks again.

Revision history for this message
Simon Vermeersch (simonvermeersch) wrote :

I have the same issue and figured out the cause of it (but not yet how to solve this). When you comment out the following line:

self.camerabin.set_property("image-encoder",gst.element_factory_make("pngenc", "png_encoder"))

it works fine, except that it'll save as jpeg then instead of png.

As for the questions:
1) The same thing happens with stock gstreamer from Natty as from gstreamer installed from the gstreamer-developers ppa

2) I commented out the following: imagesink.set_xwindow_id(self.video_window.window.xid), which made gstreamer creates its own window to show the webcam output. I also tried using a fakesink so that nothing is shown. Both methods don't fix this problem.

3) Going to attach those to this bug.

4) That works fine, I launched it and afterwards closed the window once I could view my webcam:
$ gst-launch camerabin
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstCameraBin:camerabin0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage: Output window was closed
Additional debug info:
xvimagesink.c(1311): gst_xvimagesink_handle_xevents (): /GstCameraBin:camerabin0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage
Execution ended after 1695783781 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Revision history for this message
Simon Vermeersch (simonvermeersch) wrote :
Revision history for this message
Simon Vermeersch (simonvermeersch) wrote :
Revision history for this message
Pedro Villavicencio (pedro) wrote :

Thanks for the info titeuf!, I've already commented upstream, i'll keep in touch.

Changed in gst-plugins-bad:
status: Incomplete → New
Martin Pitt (pitti)
Changed in gst-plugins-bad0.10 (Ubuntu):
assignee: Canonical Desktop Team (canonical-desktop-team) → nobody
Revision history for this message
Rick Spencer (rick-rickspencer3) wrote :

it's not clear that the bug even exists anymore, but even if it does, I don't see it getting fixed reasonably. Setting to won't fix as we shouldn't even spend time evaluating if it's still valid.

Changed in gst-plugins-bad0.10 (Ubuntu):
status: Triaged → Won't Fix
Changed in gst-plugins-bad:
status: New → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.