<?php
// intro_proxy.php — proxy con soporte para Android y WebView

$video = __DIR__ . '/rgvip/intro/intro.mp4';

if (!file_exists($video)) {
    http_response_code(404);
    echo "Video no encontrado.";
    exit;
}

$size = filesize($video);
$start = 0;
$length = $size;
$end = $size - 1;

// Soporte para "Range" (necesario para Android)
if (isset($_SERVER['HTTP_RANGE'])) {
    if (preg_match('/bytes=(\d+)-(\d*)/', $_SERVER['HTTP_RANGE'], $matches)) {
        $start = intval($matches[1]);
        if (!empty($matches[2])) {
            $end = intval($matches[2]);
        }
        $length = $end - $start + 1;

        header("HTTP/1.1 206 Partial Content");
        header("Content-Range: bytes $start-$end/$size");
    }
}

// Cabeceras necesarias
header("Content-Type: video/mp4");
header("Accept-Ranges: bytes");
header("Content-Length: $length");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: 0");

// Abrir y servir el archivo desde la posición correcta
$fp = fopen($video, 'rb');
fseek($fp, $start);
$buffer = 1024 * 8;
while (!feof($fp) && $length > 0) {
    $read = ($length > $buffer) ? $buffer : $length;
    echo fread($fp, $read);
    flush();
    $length -= $read;
}
fclose($fp);
exit;
