summaryrefslogtreecommitdiffstats
path: root/meta-agl-core
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2024-12-17 11:49:15 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2025-01-08 21:01:16 +0000
commit967fc394b8241e306307c239dd46781fbc321daf (patch)
treeded42cc1b572fee91d63be869117ba92212122ce /meta-agl-core
parent9ca8054cb17b3562404e761ba1f8c787658494e7 (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.service5
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