Files
2024-07-11 14:16:35 +02:00

46 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
function pty_exec() {
cmd=$1
pty=$(tty > /dev/null 2>&1; echo $?)
if [ $pty -eq 0 ]; then
cmd=$(echo $cmd | sed "s#\"#'#g")
event_cmd=$(echo /usr/local/demo/bin/touch-event-gtk-player -w $SCREEN_WIDTH -h $SCREEN_HEIGHT --graph \"$cmd\")
eval $event_cmd > /dev/null 2>&1
else
# no pty
echo "NO PTY"
event_cmd=$(echo /usr/local/demo/bin/touch-event-gtk-player -w $SCREEN_WIDTH -h $SCREEN_HEIGHT --graph \"$cmd\")
script -qc "$event_cmd" > /dev/null 2>&1
fi
}
# Detect if GPU are present or not
gpu_presence=0
if [ -f /etc/default/weston ] && $(grep "^OPTARGS" /etc/default/weston | grep -q "use-pixman" ) ;
then
echo "Without GPU"
ADDONS="videoconvert ! video/x-raw,format=BGRx ! queue !"
else
echo "With GPU"
gpu_presence=1
ADDONS=""
fi
# Detect size of screen
SCREEN_WIDTH=$(wayland-info | grep logical_width | sed -r "s/logical_width: ([0-9]+),.*/\1/")
SCREEN_HEIGHT=$(wayland-info | grep logical_width | sed -r "s/.*logical_height: ([0-9]+).*/\1/")
if [ $gpu_presence -eq 0 ] || [ $SCREEN_HEIGHT -lt 480 ];
then
VIDEO_FILE=/usr/local/demo/media/ST19619_ST_Company_Video_16_9_EN_272p.webm
else
VIDEO_FILE=/usr/local/demo/media/ST2297_visionv3.webm
fi
echo "Gstreamer graph:"
# WARNING: need to add a space before last ' to avoid that ' are taken by name and not by video-sink
GRAPH="playbin3 uri=file://$VIDEO_FILE video-sink='$ADDONS gtkwaylandsink name=gtkwsink '"
echo " $GRAPH"
pty_exec "$GRAPH"