#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