From fe4882b43e148341fc61e507bbcc77ff70d5b0f4 Mon Sep 17 00:00:00 2001 From: mrjvs Date: Sat, 18 Nov 2023 23:00:50 +0100 Subject: [PATCH] add upcloud captions --- src/providers/embeds/upcloud.ts | 16 +++++++++++++++- src/providers/sources/gomovies/index.ts | 8 ++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/providers/embeds/upcloud.ts b/src/providers/embeds/upcloud.ts index 683327f..1ebe106 100644 --- a/src/providers/embeds/upcloud.ts +++ b/src/providers/embeds/upcloud.ts @@ -2,6 +2,7 @@ import crypto from 'crypto-js'; import { flags } from '@/main/targets'; import { makeEmbed } from '@/providers/base'; +import { Caption, getCaptionTypeFromUrl } from '@/providers/captions'; const { AES, enc } = crypto; @@ -96,12 +97,25 @@ export const upcloudScraper = makeEmbed({ if (!sources) throw new Error('upcloud source not found'); + const captions: Caption[] = []; + streamRes.tracks.forEach((track) => { + if (track.kind !== 'captions') return; + const type = getCaptionTypeFromUrl(track.file); + if (!type) return; + captions.push({ + language: track.label, // TODO Turn language name into ISO code + hasCorsRestrictions: false, + type, + url: track.file, + }); + }); + return { stream: { type: 'hls', playlist: sources.file, flags: [flags.NO_CORS], - captions: [], + captions, }, }; }, diff --git a/src/providers/sources/gomovies/index.ts b/src/providers/sources/gomovies/index.ts index e09cf8e..5240b02 100644 --- a/src/providers/sources/gomovies/index.ts +++ b/src/providers/sources/gomovies/index.ts @@ -17,9 +17,7 @@ export const goMoviesScraper = makeSourcerer({ async scrapeShow(ctx) { const search = await ctx.proxiedFetcher(`/ajax/search`, { method: 'POST', - body: JSON.stringify({ - keyword: ctx.media.title, - }), + body: new URLSearchParams({ keyword: ctx.media.title }), headers: { 'X-Requested-With': 'XMLHttpRequest', }, @@ -104,9 +102,7 @@ export const goMoviesScraper = makeSourcerer({ async scrapeMovie(ctx) { const search = await ctx.proxiedFetcher(`ajax/search`, { method: 'POST', - body: JSON.stringify({ - keyword: ctx.media.title, - }), + body: new URLSearchParams({ keyword: ctx.media.title }), headers: { 'X-Requested-With': 'XMLHttpRequest', },