v4l2src fails allocation with io-mode=1 (RW)

Nicolas Dufresne nicolas at ndufresne.ca
Thu Oct 18 15:51:46 UTC 2018


Le mercredi 17 octobre 2018 à 08:10 -0500, Marianna S. Buschle a écrit :
> root at qt5022:# gst-launch-1.0 v4l2src device=/dev/video5 io-mode=1
> num-buffers=1 ! video/x-raw,format=RGB,width=1680,height=1248,framerate=24/1
> ! fakesink --gst-debug=*:3        
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> 0:00:00.061089783   867       0x645450 ERROR         v4l2bufferpool
> gstv4l2bufferpool.c:913:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src>
> failed to queue buffers into the capture queue
> 0:00:00.061297961   867       0x645450 ERROR             bufferpool
> gstbufferpool.c:564:gst_buffer_pool_set_active:<v4l2src0:pool:src> start
> failed
> 0:00:00.061419398   867       0x645450 WARN                 v4l2src
> gstv4l2src.c:663:gst_v4l2src_decide_allocation:<v4l2src0> error: Failed to
> allocate required memory.
> 0:00:00.061481420   867       0x645450 WARN                 v4l2src
> gstv4l2src.c:663:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool
> activation failed
> 0:00:00.061791160   867       0x645450 WARN                 basesrc
> gstbasesrc.c:3275:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed
> to decide allocation
> 0:00:00.061917479   867       0x645450 WARN                 basesrc
> gstbasesrc.c:3055:gst_base_src_loop:<v4l2src0> error: Internal data stream
> error.
> 0:00:00.061993188   867       0x645450 WARN                 basesrc
> gstbasesrc.c:3055:gst_base_src_loop:<v4l2src0> error: streaming stopped,
> reason not-negotiated (-4)
> ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to
> allocate required memory.
> Additional debug info:
> ../../../git/sys/v4l2/gstv4l2src.c(663): gst_v4l2src_decide_allocation ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> Buffer pool activation failed
> Execution ended after 0:00:00.004947847
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> Setting pipeline to NULL ...
> Freeing pipeline ...
> 
> Using io-mode 2 (mmap) or 4 (dmabuf) works
> 
> Doing cat /dev/video5 or using qv4l2 in read() mode both work
> 
> Tracing the v4l2 calls in the driver I couldn't really see any error
> messages, so for me it seems like the problem is in gstreamer and not in our
> driver.
> 
> Can anybody reproduce / confirm this as a bug?

Yes, it looks like it is broken. Though, nobody uses this anymore, I
was more thinking in dropping support for that rather then fixing it.
Meanwhile, if you have a fix, I'll take it.

> 
> Some more debug info from bufferpool:
> 
> root at qt5022:# gst-launch-1.0 v4l2src device=/dev/video5 io-mode=1
> num-buffers=1 ! video/x-raw,format=RGB,width=1680,height=1248,framerate=24/1
> ! fakesink --gst-debug=*:3,*bufferpool*:5
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> 0:00:00.060853896   923       0x645c50 DEBUG             bufferpool
> gstbufferpool.c:185:gst_buffer_pool_init:<GstBufferPool at 0x7f516800a0c0>
> created
> 0:00:00.061482576   923       0x645c50 WARN               structure
> gststructure.c:1832:priv_gst_structure_append_to_gstring: No value transform
> to serialize field 'params' of type 'GstAllocationParams'
> 0:00:00.061589426   923       0x645c50 DEBUG         v4l2bufferpool
> gstv4l2bufferpool.c:510:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
> config GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\
> format\=\(string\)RGB\,\ width\=\(int\)1680\,\ height\=\(int\)1248\,\
> framerate\=\(fraction\)24/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
> colorimetry\=\(string\)sRGB\,\ interlace-mode\=\(string\)progressive",
> size=(uint)6289920, min-buffers=(uint)0, max-buffers=(uint)0,
> allocator=(GstAllocator)"NULL", params=(GstAllocationParams)NULL;
> 0:00:00.061822839   923       0x645c50 WARN               structure
> gststructure.c:1832:priv_gst_structure_append_to_gstring: No value transform
> to serialize field 'params' of type 'GstAllocationParams'
> 0:00:00.061910521   923       0x645c50 DEBUG             bufferpool
> gstbufferpool.c:614:default_set_config:<v4l2src0:pool:src> config
> GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\ format\=\(string\)RGB\,\
> width\=\(int\)1680\,\ height\=\(int\)1248\,\ framerate\=\(fraction\)24/1\,\
> pixel-aspect-ratio\=\(fraction\)1/1\,\ colorimetry\=\(string\)sRGB\,\
> interlace-mode\=\(string\)progressive", size=(uint)6289920,
> min-buffers=(uint)0, max-buffers=(uint)0, allocator=(GstAllocator)"NULL",
> params=(GstAllocationParams)NULL;
> 0:00:00.062634348   923       0x645c50 WARN               structure
> gststructure.c:1832:priv_gst_structure_append_to_gstring: No value transform
> to serialize field 'params' of type 'GstAllocationParams'
> 0:00:00.062751705   923       0x645c50 DEBUG         v4l2bufferpool
> gstv4l2bufferpool.c:510:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool:src>
> config GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\
> format\=\(string\)RGB\,\ width\=\(int\)1680\,\ height\=\(int\)1248\,\
> framerate\=\(fraction\)24/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
> colorimetry\=\(string\)sRGB\,\ interlace-mode\=\(string\)progressive",
> size=(uint)6289920, min-buffers=(uint)4, max-buffers=(uint)0,
> allocator=(GstAllocator)"NULL", params=(GstAllocationParams)NULL;
> 0:00:00.063024902   923       0x645c50 WARN               structure
> gststructure.c:1832:priv_gst_structure_append_to_gstring: No value transform
> to serialize field 'params' of type 'GstAllocationParams'
> 0:00:00.063104057   923       0x645c50 DEBUG             bufferpool
> gstbufferpool.c:614:default_set_config:<v4l2src0:pool:src> config
> GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\ format\=\(string\)RGB\,\
> width\=\(int\)1680\,\ height\=\(int\)1248\,\ framerate\=\(fraction\)24/1\,\
> pixel-aspect-ratio\=\(fraction\)1/1\,\ colorimetry\=\(string\)sRGB\,\
> interlace-mode\=\(string\)progressive", size=(uint)6289920,
> min-buffers=(uint)4, max-buffers=(uint)0, allocator=(GstAllocator)"NULL",
> params=(GstAllocationParams)NULL;
> 0:00:00.063265573   923       0x645c50 DEBUG         v4l2bufferpool
> gstv4l2bufferpool.c:744:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src>
> activating pool
> 0:00:00.063496816   923       0x645c50 WARN               structure
> gststructure.c:1832:priv_gst_structure_append_to_gstring: No value transform
> to serialize field 'params' of type 'GstAllocationParams'
> 0:00:00.063588085   923       0x645c50 DEBUG             bufferpool
> gstbufferpool.c:614:default_set_config:<v4l2src0:pool:src> config
> GstBufferPoolConfig, caps=(GstCaps)"video/x-raw\,\ format\=\(string\)RGB\,\
> width\=\(int\)1680\,\ height\=\(int\)1248\,\ framerate\=\(fraction\)24/1\,\
> pixel-aspect-ratio\=\(fraction\)1/1\,\ colorimetry\=\(string\)sRGB\,\
> interlace-mode\=\(string\)progressive", size=(uint)6289920,
> min-buffers=(uint)4, max-buffers=(uint)0, allocator=(GstAllocator)"NULL",
> params=(GstAllocationParams)NULL;
> 0:00:00.063787556   923       0x645c50 DEBUG         v4l2bufferpool
> gstv4l2bufferpool.c:1380:gst_v4l2_buffer_pool_release_buffer:<v4l2src0:pool:src>
> release buffer 0x7f5168011020
> 0:00:00.063962684   923       0x645c50 DEBUG         v4l2bufferpool
> gstv4l2bufferpool.c:1380:gst_v4l2_buffer_pool_release_buffer:<v4l2src0:pool:src>
> release buffer 0x7f5168011130
> 0:00:00.064109916   923       0x645c50 DEBUG         v4l2bufferpool
> gstv4l2bufferpool.c:1380:gst_v4l2_buffer_pool_release_buffer:<v4l2src0:pool:src>
> release buffer 0x7f5168011240
> 0:00:00.064225693   923       0x645c50 DEBUG         v4l2bufferpool
> gstv4l2bufferpool.c:1380:gst_v4l2_buffer_pool_release_buffer:<v4l2src0:pool:src>
> release buffer 0x7f5168011350
> 0:00:00.064307775   923       0x645c50 ERROR         v4l2bufferpool
> gstv4l2bufferpool.c:913:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src>
> failed to queue buffers into the capture queue
> 0:00:00.064394334   923       0x645c50 ERROR             bufferpool
> gstbufferpool.c:564:gst_buffer_pool_set_active:<v4l2src0:pool:src> start
> failed
> 0:00:00.064486602   923       0x645c50 WARN                 v4l2src
> gstv4l2src.c:663:gst_v4l2src_decide_allocation:<v4l2src0> error: Failed to
> allocate required memory.
> 0:00:00.064558738   923       0x645c50 WARN                 v4l2src
> gstv4l2src.c:663:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool
> activation failed
> 0:00:00.064901094   923       0x645c50 WARN                 basesrc
> gstbasesrc.c:3275:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed
> to decide allocation
> 0:00:00.065041810   923       0x645c50 WARN                 basesrc
> gstbasesrc.c:3055:gst_base_src_loop:<v4l2src0> error: Internal data stream
> error.
> 0:00:00.065117960   923       0x645c50 WARN                 basesrc
> gstbasesrc.c:3055:gst_base_src_loop:<v4l2src0> error: streaming stopped,
> reason not-negotiated (-4)
> ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to
> allocate required memory.
> Additional debug info:
> ../../../git/sys/v4l2/gstv4l2src.c(663): gst_v4l2src_decide_allocation ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> Buffer pool activation failed
> Execution ended after 0:00:00.007016015
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> 0:00:00.066706635   923       0x67fe30 DEBUG             bufferpool
> gstbufferpool.c:552:gst_buffer_pool_set_active:<v4l2src0:pool:src> pool was
> in the right state
> 0:00:00.067049135   923       0x67fe30 DEBUG             bufferpool
> gstbufferpool.c:197:gst_buffer_pool_finalize:<v4l2src0:pool:src>
> 0x7f516800a0c0 finalize
> 0:00:00.067081249   923       0x67fe30 DEBUG             bufferpool
> gstbufferpool.c:552:gst_buffer_pool_set_active:<v4l2src0:pool:src> pool was
> in the right state
> Setting pipeline to NULL ...
> Freeing pipeline ...
> 
> 
> 
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181018/62acfda0/attachment-0001.sig>


More information about the gstreamer-devel mailing list