Red layer on an incoming stream on RPi4 running AGL

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Red layer on an incoming stream on RPi4 running AGL

klichko
Hi,

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",
NULL);
        GstElement *sinkBin = gst_element_factory_make("glsinkbin",
nullptr);
        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");
        etc.

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
all.

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
platforms.

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

Thanks,
Damir

<http://gstreamer-devel.966125.n4.nabble.com/file/t379582/IMG_20200803_153711.jpg>

streaming.log
<http://gstreamer-devel.966125.n4.nabble.com/file/t379582/streaming.log>  



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel