/**
 * CCTV 스트림 타입 감지 유틸리티
 */

export type StreamType = 'hls' | 'mjpeg' | 'iframe' | 'mp4' | 'unknown';

/** URL 패턴으로 스트림 타입을 자동 감지한다. */
export function detectStreamType(url: string): StreamType {
  const lower = url.toLowerCase();

  // KHOA 공식 팝업 페이지 (내장 video.js — videoUrl 파라미터에 .m3u8이 포함되므로 HLS보다 먼저 체크)
  if (lower.includes('khoa.go.kr') && lower.includes('popup.do')) {
    return 'iframe';
  }

  // KBS 재난안전포탈 CCTV 공유 페이지 (iframe 임베드)
  if (lower.includes('d.kbs.co.kr')) {
    return 'iframe';
  }

  if (lower.includes('.m3u8') || lower.includes('/hls/')) {
    return 'hls';
  }

  if (
    lower.includes('mjpeg') ||
    lower.includes('mjpg') ||
    lower.includes('/video/mjpg') ||
    lower.includes('action=stream')
  ) {
    return 'mjpeg';
  }

  if (
    lower.includes('youtube.com/embed') ||
    lower.includes('player.') ||
    lower.includes('/embed/')
  ) {
    return 'iframe';
  }

  if (lower.endsWith('.mp4') || lower.endsWith('.webm') || lower.endsWith('.ogg')) {
    return 'mp4';
  }

  return 'unknown';
}
