diff --git a/apps/expo/src/app/videoPlayer/index.tsx b/apps/expo/src/app/videoPlayer/index.tsx index 397e623..d3788d6 100644 --- a/apps/expo/src/app/videoPlayer/index.tsx +++ b/apps/expo/src/app/videoPlayer/index.tsx @@ -169,7 +169,7 @@ const VideoPlayer: React.FC = ({ data }) => { let highestQuality; let url; - let tracks; + let _tracks; switch (stream.type) { case "file": @@ -178,16 +178,12 @@ const VideoPlayer: React.FC = ({ data }) => { return url ?? null; case "hls": url = stream.playlist; - tracks = await extractTracksFromHLS(url, { + _tracks = await extractTracksFromHLS(url, { ...stream.preferredHeaders, ...stream.headers, }); } - if (tracks) { - console.log(tracks); - } - setVideoSrc({ uri: url, headers: { diff --git a/packages/provider-utils/src/video.ts b/packages/provider-utils/src/video.ts index a02dd14..144b369 100644 --- a/packages/provider-utils/src/video.ts +++ b/packages/provider-utils/src/video.ts @@ -1,3 +1,4 @@ +import type { Item } from "parse-hls"; import hls from "parse-hls"; import { default as toWebVTT } from "srt-webvtt"; @@ -105,10 +106,16 @@ export function findHighestQuality( return undefined; } +export interface HLSPlaylist { + video: Item[]; + audio: Item[]; + subtitles: Item[]; +} + export async function extractTracksFromHLS( playlistUrl: string, headers: Record, -) { +): Promise { try { const response = await fetch(playlistUrl, { headers }).then((res) => res.text(),