Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-good gst-plugins-good
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 648
    • Issues 648
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 82
    • Merge requests 82
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-goodgst-plugins-good
  • Issues
  • #942

Closed
Open
Created Dec 09, 2021 by Marianna Smidth Buschle@msb.qtec

v4l2src: queries framerate interval based on max frame size instead of current frame size

Our camera has a different max framerate depending on the current frame size. Specially when having a reduced height we can increase the frame rate by a lot (HW limitations of how many lines we can read out).

However when gstreamer negotiates the CAPS it seems to be using always the max frame size instead of the current one. Which results in a max framerate much lower than what the driver actually supports.

Fx at 1024x1024 (max frame size) we can do 28.292 fps

root@qt5022:~# w=1024; h=1024; f=RGB3; v4l2-ctl -d /dev/qtec/video0 --list-framesizes ${f} --list-frameintervals width=${w},height=${h},pixelformat=${f}
ioctl: VIDIOC_ENUM_FRAMESIZES
	Size: Stepwise 4x4 - 1024x1024 with step 4/4
ioctl: VIDIOC_ENUM_FRAMEINTERVALS
	Interval: Continuous 0.035s - 25.054s (0.040-28.292 fps)

And with 1024x100 we can do 280.867 fps

root@qt5022:~# w=1024; h=100; f=RGB3; v4l2-ctl -d /dev/qtec/video0 --list-framesizes ${f} --list-frameintervals width=${w},height=${h},pixelformat=${f}
ioctl: VIDIOC_ENUM_FRAMESIZES
	Size: Stepwise 4x4 - 1024x1024 with step 4/4
ioctl: VIDIOC_ENUM_FRAMEINTERVALS
	Interval: Continuous 0.004s - 25.054s (0.040-280.867 fps)

However I get a non-negotiated error in gstreamer with fx 1024x100@100fps

gst-launch-1.0 v4l2src device=/dev/qtec/video0 ! video/x-raw, format=RGB, width=1024, height=100,framerate=100/1 ! fakesink --gst-debug=*:3           
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.069: gst_value_set_int_range_step: assertion 'end % step == 0' failed

(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.069: gst_value_set_int_range_step: assertion 'end % step == 0' failed

(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.069: gst_value_set_int_range_step: assertion 'end % step == 0' failed

(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.070: gst_value_set_int_range_step: assertion 'end % step == 0' failed
0:00:00.106394533   856 0x562342804e80 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:00.106552830   856 0x562342804e80 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../gstreamer-1.18.2/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.005847859
Setting pipeline to NULL ...
Freeing pipeline ...

We can see in the driver that gstreamer is calling ENUM_FRAME_INTERVALS with the max frame width and height.

The problem seems to be in the gst_pad_query_caps which is using the max frame size instead of the required one: video/x-raw, format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ];

0:00:00.110396542   837 0x5586d40c3a80 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<v4l2src0:src> query returned video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-bayer, format=(string)rggb, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)grbg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)gbrg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-bayer, format=(string)bggr, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate

Full log:

root@qt5022:~# gst-launch-1.0 v4l2src device=/dev/qtec/video0 ! video/x-raw, format=RGB, width=1024, height=100,framerate=100/1 ! fakesink --gst-debug=*:3,GST_CAPS:5
0:00:00.099739605   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3102:gst_pad_query_caps:<v4l2src0:src> get pad caps with filter (NULL)
0:00:00.100133227   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<v4l2src0:src> query returned image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.100191872   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3102:gst_pad_query_caps:<capsfilter0:sink> get pad caps with filter (NULL)
0:00:00.100220618   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:src> get pad peer caps with filter (NULL)
0:00:00.100273223   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<capsfilter0:sink> query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.100379971   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2277:gst_pad_link_check_compatible_unlocked:<v4l2src0:src> src caps image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.100489294   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2279:gst_pad_link_check_compatible_unlocked:<capsfilter0:sink> sink caps video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.100528731   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2297:gst_pad_link_check_compatible_unlocked: caps are compatible
0:00:00.100586896   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3102:gst_pad_query_caps:<capsfilter0:src> get pad caps with filter (NULL)
0:00:00.100613496   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:sink> get pad peer caps with filter (NULL)
0:00:00.100724800   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<capsfilter0:sink> peer query returned image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.100800761   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<capsfilter0:src> query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.100825188   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3102:gst_pad_query_caps:<fakesink0:sink> get pad caps with filter (NULL)
0:00:00.100853778   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<fakesink0:sink> query returned ANY
0:00:00.100889940   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3102:gst_pad_query_caps:<capsfilter0:src> get pad caps with filter (NULL)
0:00:00.100930137   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:sink> get pad peer caps with filter (NULL)
0:00:00.101042811   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<capsfilter0:sink> peer query returned image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.101109333   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<capsfilter0:src> query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.101132974   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3102:gst_pad_query_caps:<fakesink0:sink> get pad caps with filter (NULL)
0:00:00.101158685   837 0x5586d412ef20 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<fakesink0:sink> query returned ANY
0:00:00.101188597   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2277:gst_pad_link_check_compatible_unlocked:<capsfilter0:src> src caps video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.101209264   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2279:gst_pad_link_check_compatible_unlocked:<fakesink0:sink> sink caps ANY
0:00:00.101228279   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2297:gst_pad_link_check_compatible_unlocked: caps are compatible
Setting pipeline to PAUSED ...
0:00:00.103783701   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2732:gst_pad_get_current_caps:<capsfilter0:sink> get current pad caps (NULL)
0:00:00.103842409   837 0x5586d412ef20 DEBUG               GST_CAPS gstpad.c:2732:gst_pad_get_current_caps:<capsfilter0:src> get current pad caps (NULL)
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.105903147   837 0x5586d40c3a80 DEBUG               GST_CAPS gstutils.c:3102:gst_pad_query_caps:<v4l2src0:src> get pad caps with filter (NULL)

(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.295: gst_value_set_int_range_step: assertion 'end % step == 0' failed

(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.295: gst_value_set_int_range_step: assertion 'end % step == 0' failed

(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.296: gst_value_set_int_range_step: assertion 'end % step == 0' failed

(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.296: gst_value_set_int_range_step: assertion 'end % step == 0' failed
0:00:00.110396542   837 0x5586d40c3a80 DEBUG               GST_CAPS gstutils.c:3109:gst_pad_query_caps:<v4l2src0:src> query returned video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-bayer, format=(string)rggb, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)grbg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)gbrg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-bayer, format=(string)bggr, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate
0:00:00.110724900   837 0x5586d40c3a80 DEBUG               GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<v4l2src0:src> get pad peer caps with filter (NULL)
0:00:00.110819699   837 0x5586d40c3a80 DEBUG               GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:src> get pad peer caps with filter (NULL)
0:00:00.110988202   837 0x5586d40c3a80 DEBUG               GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<capsfilter0:src> peer query returned ANY
0:00:00.111132349   837 0x5586d40c3a80 DEBUG               GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<v4l2src0:src> peer query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.111327476   837 0x5586d40c3a80 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:00.111403836   837 0x5586d40c3a80 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../gstreamer-1.18.2/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.007282927
Setting pipeline to NULL ...
Freeing pipeline ...
Assignee
Assign to
Time tracking