#3272 HIGH Trial-3: gstreamer not getting camera data
Zarro Boogs per Child
bugtracker at laptop.org
Sat Sep 8 13:58:20 EDT 2007
#3272: gstreamer not getting camera data
-----------------------------+----------------------------------------------
Reporter: erikb | Owner: erikb
Type: defect | Status: new
Priority: high | Milestone: Trial-3
Component: camera-activity | Version: Development build as of this date
Keywords: | Verified: 0
-----------------------------+----------------------------------------------
After launching, closing, re-opening, a number of activities (three
browsers, a calculator, an etoys and Journal), I am able to repeat the
"camera power turns on without giving us a picture" bug.
We don't get anything good in the Record logs, but at the suggestion of
dcbw, we ran:
{{{
gst-launch-0.10 v4l2src ! ffmpegcolorspace ! xvimagesink
}}}
and got:
{{{
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
ERROR: from element /pipeline0/v4l2src0: Failed setting the video format
for device '/dev/video0'
Additional debug info:
V4l2src_calls.c(361): gst_v4l2src_set_capture (): /pipeline0/v4l2src0:
Failed to set pixelformat to YUV 4:2:2 @ 640x480 for device /dev/video0.
(12 - Cannot allocate memory)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...
}}}
An even simpler pipeline gives a similar bug:
{{{
Failed to set pixelformat to RGB 565 @ 640x480 for device /dev/video0. (12
- Cannot allocate memory)
}}}
I also tried a videotestsrc ! xvimagesink successfully (pinning the bug on
the camera, not xv).
Running top tells us:
{{{
cpu is 6.3%us, 0.7%sy, 0%...
memory is 237608k total, 210612K used, 26996 free, 0k buffers
}}}
I will try to add some exception handlers to the Record activity to handle
the camera not working, although when I launch a pipeline in python with
the xo in this state, I get::
{{{
>>> p = gst.parse_launch("v4l2src ! xvimagesink")
>>> p.set_state( gst.STATE_PLAYING )
<enum GST_STATE_CHANGE_ASYNC of type GstStateChangeReturn>
}}}
which is identical output to a working xo (leds turn on too).... except
you see camera images on a working xo. Also, querying get_state() on the
pipeline and each element gives identical results too. I suppose I could
try to grab a buffer and see if its empty or not, but this is a bit of a
hack as getting the (12 - Cannot allocate memory) bug directly would be
nice.
--
Ticket URL: <https://dev.laptop.org/ticket/3272>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list