# shellcheck shell=bash
# fetch_ffmpeg <dir>: the pinned source tarball, checked, unpacked into <dir>/ffmpeg-<v>.
# The tarball is cached in ~/.cache/rp-ffmpeg (it is also the LGPL source we publish).
fetch_ffmpeg() {
  local cache="${XDG_CACHE_HOME:-$HOME/.cache}/rp-ffmpeg" tarball
  tarball="$cache/ffmpeg-$FFMPEG_VERSION.tar.xz"
  mkdir -p "$cache" "$1"
  if [[ ! -f "$tarball" ]]; then
    curl -sSfL -o "$tarball.part" "$FFMPEG_URL" && mv "$tarball.part" "$tarball"
  fi
  echo "$FFMPEG_SHA256  $tarball" | shasum -a 256 -c - >/dev/null || { echo "ffmpeg tarball checksum mismatch: $tarball" >&2; return 1; }
  rm -rf "$1/ffmpeg-$FFMPEG_VERSION"
  tar -xf "$tarball" -C "$1"
}
