gstreamer video pipes doesn't work with agl-compositor 0.0.19

Description

Gstreamer video pipes doesn't work on agl-compositor 0.0.19.
A simple test video pipe like this:
gst-launch-1.0 autovideosrc ! glimagesink / waylandsink

Either waylandsink or glimagesink, the pipe generate following logs with debug level 3:

Setting pipeline to PAUSED ...
0:00:00.211935334 884 0x790fb0 FIXME default gstutils.c:3980:gst_pad_create_stream_id_internal:<autovideosrc0-actual-src-pipewir:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id

But there are a difference between glimagesink and waylandsink, it is about agl-compositor logs & reaction. With implementing waylandsink, agl-compositor doesn't produce any log, and It looks like It doesn't notice the pipe request at all ! ... but with glimagesink element, agl-compositor get the surface request signal with "null" app_id, but It doesn't step forward, and the request remained in "pending" status. The following logs belong to the situation:

[05:45:49.005] Setting surface to initial size of surface to 800x416
[05:45:49.005] Added surface 0x1b0ead0, app_id (null) to pending list

After we destroy the pipe, agl-compositor notice that with the below log:

[05:48:39.238] Removed surface 0x1b0ead0, app_id (null), role NONE

On the qemu-x86_64 image, It doesn't produce much log on journal by default, after a few tries just I could see the following warning on journal (with Weston default debug level):

│Jul 20 16:10:47 qemux86-64 wireplumber[260]: wp_global_bind: assertion 'global->proxy' failed
│Jul 20 16:10:47 qemux86-64 wireplumber[260]: wp_proxy_set_pw_proxy: assertion 'proxy' failed

After increasing agl-compositor log level to 3, now we get these logs on journal:

agl_ivi_demo_master_qemu_journal.log

Environment

QEMU x86_64, imx6 IVI image master branch (12.90)

Attachments

1

Activity

Show:

Marius Vlad 
June 20, 2022 at 2:33 PM

I've just confirmed now that I can run successfully a pipeline on qemu on master using the following:

gst-launch-1.0 videotestsrc ! videoconvert ! waylandsink fullscreen=true

autovideosrc like staid it is error prone.

Vivid apparently is not installed but videotestsrc should do the trick to try out/test out video pipeline.

Stephane Desneux 
June 3, 2022 at 1:51 PM
(edited)

done with https://lf-automotivelinux.atlassian.net/browse/SPEC-4421#icft=SPEC-4421 but the title for this issue was a bit misleading...

BTW note that the permissions problem is only related a) to renesas and b) with the OMX decoder module which requires special devices. So I think you can close this issue, except if there's still a "general" problem.

Marius Vlad 
June 3, 2022 at 1:20 PM
(edited)

ronan Le Martret will open soon an issue to track the problem on master and/or marlin. So we need a simple gstreamer command line to check that a video plays nicely on master.

Since marlin we don't use SMACK anymore, so if there are still permissions related issues are probably due to user, though there shouldn't be any at this point. agl-driver is part of video/render group. I'd expect to work out of the box.

AFAICS, adding fullscreen=true is enough to run the pipeline correctly with waylandsink. We'll give it a try. Or do you have a nice command line to test gstreamer with agl-compositor?

Yep, that's sufficient to run with waylandsink. camera-gstreamer is the alternative, albeit I haven't tried it lately, but should resize on its own.

I'd suggest opening a new JIRA ticket, if there's still an issue with permissions, this JIRA issue is related to gstreamer autovideosrc. I'll do a follow-up with qemu and v4l2src and see if there's still a need to keep this open.

Stephane Desneux 
June 3, 2022 at 11:01 AM

Hi , thx for your quick reply.
In fact, we try to solve the issue mentioned by Francesco here: https://lists.automotivelinux.org/g/agl-dev-community/message/9872

It's a matter of permissions with the "full" renesas image (some entries in /dev related to omx plugin need extra permissions)

will open soon an issue to track the problem on master and/or marlin. So we need a simple gstreamer command line to check that a video plays nicely on master.

AFAICS, adding fullscreen=true is enough to run the pipeline correctly with waylandsink. We'll give it a try. Or do you have a nice command line to test gstreamer with agl-compositor?

Marius Vlad 
June 3, 2022 at 9:58 AM

I guess the only thing that comes in mind here, is to give vivid a test on qemu w/ v4l2src and see how that fares.

Won't Fix

Details

Assignee

Reporter

Hardware Platform(s) Affected

NXP i.MX6
QEMU x86_64

Priority

Created July 31, 2021 at 4:34 AM
Updated June 30, 2022 at 4:05 PM
Resolved June 20, 2022 at 2:33 PM

Flag notifications