Find location of not-linked/-negotiated errors

Marianna Smidth Buschle msb at qtec.com
Mon Jan 17 12:32:06 UTC 2022


I normally find running with '-v' (verbose) to be helpful in a lot of 
situations.


Otherwise my general approach for non-negotiated is using 
'GST_DEBUG=*:3,GST_CAPS:5' and checking the CAPS to see if I can spot 
the problem.


gst-launch-1.0 v4l2src ! 
video/x-raw,format=RGB,width=1024,framerate=30/1 ! fakesink 
--gst-debug=*:3,GST_CAPS:5

0:00:00.148678349 37743 0x561f05193360 DEBUG GST_CAPS 
gstutils.c:3109:gst_pad_query_caps:<v4l2src0:src> query returned 
video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)10/1; video/x-raw, 
format=(string)YUY2, width=(int)960, height=(int)540, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1; video/x-raw, 
format=(string)YUY2, width=(int)848, height=(int)480, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)20/1; video/x-raw, 
format=(string)YUY2, width=(int)640, height=(int)480, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; video/x-raw, 
format=(string)YUY2, width=(int)640, height=(int)360, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; video/x-raw, 
format=(string)YUY2, width=(int)424, height=(int)240, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; video/x-raw, 
format=(string)YUY2, width=(int)352, height=(int)288, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; video/x-raw, 
format=(string)YUY2, width=(int)320, height=(int)240, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; video/x-raw, 
format=(string)YUY2, width=(int)320, height=(int)180, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; image/jpeg, 
width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, 
framerate=(fraction)30/1; image/jpeg, width=(int)960, height=(int)540, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; image/jpeg, 
width=(int)848, height=(int)480, pixel-aspect-ratio=(fraction)1/1, 
framerate=(fraction)30/1; image/jpeg, width=(int)640, height=(int)480, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; image/jpeg, 
width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, 
framerate=(fraction)30/1; image/jpeg, width=(int)424, height=(int)240, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; image/jpeg, 
width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, 
framerate=(fraction)30/1; image/jpeg, width=(int)320, height=(int)240, 
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; image/jpeg, 
width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, 
framerate=(fraction)30/1

Like here you can see that my v4l2src doesn't support RGB


Also the message itself will tell you at least one of the elements 
('v4l2src0' in this case):

gst-launch-1.0 v4l2src ! 
video/x-raw,format=RGB,width=1024,framerate=30/1 ! fakesink --gst-debug=*:3
PAUSERER rørledning ...
Rørledningen kører, og behøver ikke at blive PREROLL'ed ...
0:00:00.130859616 37706 0x55e91b94fb60 WARN basesrc 
gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data 
stream error.
0:00:00.130916048 37706 0x55e91b94fb60 WARN basesrc 
gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, 
reason not-negotiated (-4)
FEJL: fra element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal 
data stream error.
Yderligere fejlsøgningsinformation:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): 
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)


But I agree, this is one of the annoying things to debug with gstreamer...

I also use gst-inspect a lot in order to get ideas of where the problem 
could be.


Best Regards

Marianna

On 17.01.2022 13.00, gstreamer-devel-request at lists.freedesktop.org wrote:
> Hello again,
>
> this also sounds like a very simple thing, but if my pipeline fails to start with one of these errors, how do I figure out which elements were involved, i.e. failed to link/negotiate? I assume there is a suitable GST_DEBUG config, but I haven't found it yet.
>
> Best, Florian

-- 
Best regards / Med venlig hilsen
“Marianna Smidth Buschle”



More information about the gstreamer-devel mailing list