UNPKG

@werk1/w1-system-videoblock

Version:

Universal video player supporting YouTube, Vimeo, HLS, DASH with coordination and GSAP integration for W1 System

29 lines (28 loc) 1.42 kB
import React from "react"; import type { W1VideoPlayerState } from "../../../types"; import { type DashPlayer } from "../streaming-utils/platforms/dash"; import { type HLSPlayer } from "../streaming-utils/platforms/hls"; import type { VimeoPlayer, YouTubePlayer } from "../streaming-utils/types"; interface UseStreamingSetupProps { src: string; isClient: boolean; enableStreamingLibs: boolean; autoplay: boolean; muted: boolean; loop: boolean; videoRef: React.RefObject<HTMLVideoElement | null>; externalPlayerContainerRef: React.RefObject<HTMLDivElement | null>; onReady?: (video: HTMLVideoElement) => void; onError?: (error: MediaError | null) => void; onStateChange?: (state: W1VideoPlayerState) => void; setState: React.Dispatch<React.SetStateAction<W1VideoPlayerState>>; setIsStreamingActive: React.Dispatch<React.SetStateAction<boolean>>; } interface StreamingPlayers { hlsPlayerRef: React.RefObject<HLSPlayer | null>; dashPlayerRef: React.RefObject<DashPlayer | null>; youtubePlayerRef: React.RefObject<YouTubePlayer | null>; vimeoPlayerRef: React.RefObject<VimeoPlayer | null>; } export declare const useStreamingSetup: ({ src, isClient, enableStreamingLibs, autoplay, muted, loop, videoRef, externalPlayerContainerRef, onReady, onError, onStateChange, setState, setIsStreamingActive, }: UseStreamingSetupProps) => StreamingPlayers; export {};