From c5da7c19976c16505441c792554aee2f3d20ec39 Mon Sep 17 00:00:00 2001 From: WebStreamr <210764791+webstreamr@users.noreply.github.com> Date: Wed, 10 Sep 2025 10:06:55 +0000 Subject: [PATCH] fix(extractor): grab VixSrc height from playlist --- src/extractor/VixSrc.ts | 13 ++----------- src/extractor/__snapshots__/VixSrc.test.ts.snap | 4 ---- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/extractor/VixSrc.ts b/src/extractor/VixSrc.ts index 521ebd0..b02a730 100644 --- a/src/extractor/VixSrc.ts +++ b/src/extractor/VixSrc.ts @@ -1,7 +1,6 @@ -import bytes from 'bytes'; import { Context, CountryCode, Format, Meta, UrlResult } from '../types'; import { - buildMediaFlowProxyExtractorStreamUrl, + buildMediaFlowProxyExtractorStreamUrl, guessHeightFromPlaylist, hasMultiEnabled, iso639FromCountryCode, supportsMediaFlowProxy, @@ -20,12 +19,6 @@ export class VixSrc extends Extractor { } protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise { - const html = await this.fetcher.text(ctx, url); - - const filenameMatch = html.match(/"filename":"(.*?)"/); - const sizeMatch = html.match(/"size":(\d+)/); - const qualityMatch = html.match(/"quality":(\d+)/); - const playlistUrl = await buildMediaFlowProxyExtractorStreamUrl(ctx, this.fetcher, 'VixCloud', url); const countryCodes = await this.determineCountryCodesFromPlaylist(ctx, playlistUrl); @@ -42,9 +35,7 @@ export class VixSrc extends Extractor { ttl: this.ttl, meta: { countryCodes, - ...(filenameMatch && { title: filenameMatch[1] }), - ...(sizeMatch && { bytes: bytes.parse(`${sizeMatch[1]} kb`) as number }), - ...(qualityMatch && { height: parseInt(qualityMatch[1] as string) }), + height: await guessHeightFromPlaylist(ctx, this.fetcher, playlistUrl), }, }, ]; diff --git a/src/extractor/__snapshots__/VixSrc.test.ts.snap b/src/extractor/__snapshots__/VixSrc.test.ts.snap index cd8f33f..7264024 100644 --- a/src/extractor/__snapshots__/VixSrc.test.ts.snap +++ b/src/extractor/__snapshots__/VixSrc.test.ts.snap @@ -6,13 +6,11 @@ exports[`VixSrc Black Mirror 1`] = ` "format": "hls", "label": "VixSrc (via MediaFlow Proxy)", "meta": { - "bytes": 2389338112, "countryCodes": [ "it", "en", ], "height": 1080, - "title": "Black.Mirror.S04E02.Arkangel.1080p.NF.WEB-DL.ITA.ENG.DDP5.1.H.264.mkv", }, "sourceId": "vixsrc_", "ttl": 900000, @@ -29,13 +27,11 @@ exports[`VixSrc Full Metal Jacket 1`] = ` "format": "hls", "label": "VixSrc (via MediaFlow Proxy)", "meta": { - "bytes": 8544718848, "countryCodes": [ "it", "en", ], "height": 1080, - "title": "Full.metal.jacket.1987.1080p.x264.AC3.ITA.AAC.ENG.Subs.mkv", }, "sourceId": "vixsrc_", "ttl": 900000,