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

Marianna S. Buschle msb at qtec.com
Wed Oct 17 13:10:43 UTC 2018


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?

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/


More information about the gstreamer-devel mailing list