46 lines
1.5 KiB
Bash
Executable File
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"
|