diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2024-12-17 11:49:15 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2025-01-08 21:01:16 +0000 |
commit | 967fc394b8241e306307c239dd46781fbc321daf (patch) | |
tree | ded42cc1b572fee91d63be869117ba92212122ce /meta-agl-core | |
parent | 9ca8054cb17b3562404e761ba1f8c787658494e7 (diff) |
agl-compositor-stream-pipewire: Add an artificial wait out time
This improves the preceived time on the receiver side to display
incoming frames.
In testing, the sender gstreamer pipleine starts much faster that
receiver one. Besides that, the receiver client has an additional delay
time when starting up as it waits for the gRPC proxy server to have a
ready channel available, thus increaseing that start-up time.
If the sender side starts the gstreamer pipeline prior to the receiver
one, it won't actually get a frame renderered, and displaying a black
screen. Users will notice that black screen for over a minute when the
client (in this case tbtnavi) renders something on the screen which would
also show if tbtnavi client starting just then, which in reality happpend
far sooner. Any other client would alleviate this issue if they would
continuously update the screen.
This artifical delay would make the gstreamer pipeline start a bit
later, overall improving the time when tbtnavi would be displayed on the
receiver side, pretty much a few seconds after xdg-cluster-recevier
started as well.
Bug-AGL: SPEC-5235
Change-Id: Ib71ca64212dc37314ccab3d33fbb6ad0400be828
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30681
Tested-by: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-core')
-rw-r--r-- | meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-stream-pipewire.service | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-stream-pipewire.service b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-stream-pipewire.service index 949162c22..a01edda22 100644 --- a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-stream-pipewire.service +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-stream-pipewire.service @@ -10,6 +10,11 @@ ConditionPathExists=/usr/bin/agl-stream-pipewire-output [Service] Type=simple EnvironmentFile=-/etc/default/agl-stream-pipewire-output +# need to wait until receiver has its receiver client started; this might be a +# bit controversial but this actually decreases the preceived time when we +# start displaying frames on the receiver side. A proper solution would be +# somehow have a way to convey when it is the best time start the stream +ExecStartPre=sleep 10 ExecStart=/usr/bin/agl-stream-pipewire-output @REMOTE_OUTPUT_IP@ @REMOTE_OUTPUT_PORT@ User=agl-driver |