Causes of pipeline non-transitivity?

Matthew Waters ystreet00 at gmail.com
Sun Apr 25 04:35:50 UTC 2021



On 25/4/21 1:39 am, amindfv--- via gstreamer-devel wrote:
> I frequently find myself confused and not knowing where to look when I'm able to build a pipeline from A->B, and a pipeline from B->C, but not from A->B->C.
>
> For example, I can go from v4l2src->glupload:
>
>      $ gst-launch-1.0 v4l2src ! glupload ! glimagesink
>
> And I can go from glupload->glshader:
>
>      $ gst-launch-1.0 videotestsrc ! glupload ! glshader fragment="\"`cat myshader.frag`\"" ! glimagesink
>
> But when I try and combine the two, I get an error:
>
>      $ gst-launch-1.0 v4l2src ! glupload ! glshader fragment="\"`cat myshader.frag`\"" ! glimagesink
>
>      WARNING: erroneous pipeline: could not link gluploadelement0 to glfiltershader0
>
> Where should I look when I hit issues like this? Is it always the case, for example, that A and B have negotiated a format that's incompatible with C? Or does it mean I need to provide more specific properties to A (or B, or C)? I don't see anything in gst-inspect that indicates they wouldn't all work together.

Add -v to gst-launch-1.0 to see the negotiated caps for successful cases.

In this case, you are probably missing a glcolorconvert element 
(automatically contained within glimagesink) or a videoconvert element 
as OpenGL only deals with RGBA buffers byt v4l2src likely produces some 
YUV format..

Cheers
-Matt

> Thanks,
> Tom
>
> _______________________________________________
> 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: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210425/2f0dd7e0/attachment.sig>


More information about the gstreamer-devel mailing list