Red layer on an incoming stream on RPi4 running AGL

klichko klichko at
Mon Aug 3 14:21:05 UTC 2020


I'm trying to stream video from remote host to AGL (master branch, using
GStreamer 1.16.2) running on RPi4, and the resulting stream ends up with
some kind of red layer on top of it, you can see it in the attached image,
and the output of the /journalctl -f/ command is also attached in the
streaming.log file

Code snippet that handles incoming video stream is as follows:

        q = gst_element_factory_make ("queue", NULL);
        conv = gst_element_factory_make (convert_name, NULL);
        sink = gst_element_factory_make (sink_name, NULL);
        g_object_set(qmlsink, "widget", videoItem, NULL);

        GstElement *glupload = gst_element_factory_make ("glupload", NULL);
        GstElement *colconv = gst_element_factory_make ("glcolorconvert",
        GstElement *sinkBin = gst_element_factory_make("glsinkbin",
        g_object_set (sinkBin, "sink", qmlsink, nullptr);
        gst_bin_add_many (GST_BIN (pipe), q, conv, glupload, colconv
,sinkBin, NULL);
        gst_element_link_many (q, conv, glupload, colconv, sinkBin, NULL);

        gst_element_sync_state_with_parent (q);
        gst_element_sync_state_with_parent (conv);
        gst_element_sync_state_with_parent (glupload);
        gst_element_sync_state_with_parent (colconv);
        gst_element_sync_state_with_parent (sinkBin);

Most of my attempts to fix this have been related to modifying of the
glcolorconvert parameter, as it seemed to me that is related to either the
color format or the transparency, e.g.:

        GstElement *colconv = gst_element_factory_make ("glcolorconvert",
"video/x-raw, format=(string)RGB");
        GstElement *colconv = gst_element_factory_make ("glcolorconvert",
"video/x-raw, format=(string)RGBA");
        GstElement *colconv = gst_element_factory_make ("glcolorconvert",
"video/x-raw, format=(string)BGR");
        GstElement *colconv = gst_element_factory_make ("glcolorconvert",
"video/x-raw, format=(string)BGRA");
        GstElement *colconv = gst_element_factory_make ("glcolorconvert",
"video/x-raw, format=(string)I420");

However, none of those settings produced any change whatsoever, so either
I'm not setting it correctly, or it is not related to this problem after

One thing to note is that we used this same code on multiple other
platforms, including Intel MinnowBoard running AGL Icefish (GStreamer
1.14.4), and also Ubuntu 20.04 (GStreamer 1.16.2) and Ubuntu 18.04
(GStreamer 1.14.4) and this issue has not manifested on either of these

Any help that can move me in the right direction to solve this would be
appreciated :)




Sent from:

More information about the gstreamer-devel mailing list