#!/bin/bash
clear
# 1. Find the Video device
DEVICE=$(v4l2-ctl --list-devices | grep -A 1 -i "Live Gamer" | grep "/dev/video" | head -n 1 | xargs)

if [ -z "$DEVICE" ]; then
    echo "❌ Error: Live Gamer EXTREME 3 not found!"
    exit 1
fi

echo "✅ Found device at: $DEVICE"

# 2. Setup Audio Loopback with "Safety Buffer"
# latency_msec=20 is the sweet spot: no human-perceptible lag,
# but enough buffer to prevent choppiness when audio restarts.
echo "🔊 Starting Steady-Clock Audio..."
pactl unload-module module-loopback 2>/dev/null
pactl load-module module-loopback latency_msec=20 adjust_time=0 source_dont_move=true sink_dont_move=true

# 3. Set Volume to 60% (Slightly lower to prevent clipping on level-up sounds)
SOURCE_NAME=$(pactl list sources short | grep -i "Live_Gamer" | awk '{print $2}')
if [ ! -z "$SOURCE_NAME" ]; then
    pactl set-source-volume "$SOURCE_NAME" 60%
fi

echo "🎮 Launching Video (Live Gamer EXTREME 3 1080p)..."

# 4. Launch Video
# Added -probesize and -analyzeduration to make the window pop up faster
ffplay -hide_banner \
    -f v4l2 -video_size 1920x1080 -framerate 60 -i "$DEVICE" \
    -fflags nobuffer+fastseek -probesize 32 -analyzeduration 0 \
    -flags low_delay -framedrop -an

# 5. Cleanup
echo "🧹 Cleaning up..."
pactl unload-module module-loopback
