#!/usr/bin/env bash
# 从本机 SRS 拉 SRT 流并用 ffplay 全屏输出到 HDMI（需已登录图形会话：X11 或 Wayland 下 XWayland）
# 注意：下方端口为 SRS 的 SRT 端口（常见 10080），与 Web 控制台端口（见 config/runtime.env）无关。
set -euo pipefail

# SRS SRT 播放地址（与 srs 里 app/stream 名一致时可只改此项）
: "${SRS_SRT_URL:=srt://127.0.0.1:10080?streamid=#!::r=live/livestream,m=request&latency=10}"

# X11：常见为 :0（开发板/工控机本地桌面）
if [[ -z "${DISPLAY:-}" ]]; then
  export DISPLAY="${DISPLAY:-:0}"
fi

# 部分 ARM 板卡仅支持 OpenGL ES，可尝试：export FFPLAY_SDL_DRIVER=opengles2
if [[ -n "${FFPLAY_SDL_DRIVER:-}" ]]; then
  export SDL_VIDEODRIVER="${FFPLAY_SDL_DRIVER}"
fi

# 纯 DRM/KMS 无 X 时不能用本脚本；请改用 ffmpeg 直送 drm 或 kmsgrab（见 README 说明）
if ! command -v ffplay >/dev/null 2>&1; then
  echo "ffplay 未找到，请安装 ffmpeg（含 ffplay）。" >&2
  exit 1
fi

# 需要额外参数时可在本行自行追加，例如：-window_title hdmi
exec ffplay -nostats -hide_banner \
  -fflags nobuffer -flags low_delay -framedrop \
  -probesize 32 -analyzeduration 0 -sync ext -infbuf \
  -vf "setpts=PTS-STARTPTS" \
  "$SRS_SRT_URL"
