@media-engine/providers 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -70,6 +70,15 @@ const result = await media.getAvailability({
70
70
  seasonNumber: 1,
71
71
  episodeNumber: 1,
72
72
  });
73
+
74
+ for await (const snapshot of media.getAvailabilityProgressively({
75
+ type: "series",
76
+ ids: { kinopoisk: "435" },
77
+ seasonNumber: 1,
78
+ episodeNumber: 1,
79
+ })) {
80
+ updatePlayerSources(snapshot.availability?.options ?? []);
81
+ }
73
82
  ```
74
83
 
75
84
  The package also exports `ddbbStreamingProvider()`, `aniLibertyStreamingProvider()`,
@@ -88,6 +97,9 @@ pair and preserves both identities in its result. Its links are bound to the
88
97
  playback User-Agent and may also be bound to the requesting public IP. Pass the playback client's
89
98
  exact User-Agent as `MediaEngineOperationOptions.playbackUserAgent`; the required value is retained
90
99
  in each option's `access.headers` for non-browser clients.
100
+ VideoHUB implements progressive availability, so every resolved translation can be displayed before
101
+ slower lookups finish. Its bounded warm cache keeps playlists and signed video resolutions separate,
102
+ never serves signed links stale, and preserves their original expiry.
91
103
  Rutube performs a bounded exact title/year movie search and returns only Rutube's documented public
92
104
  embed player. It does not expose or proxy Rutube media URLs and intentionally skips series.
93
105
 
package/README.ru.md CHANGED
@@ -70,6 +70,15 @@ const result = await media.getAvailability({
70
70
  seasonNumber: 1,
71
71
  episodeNumber: 1,
72
72
  });
73
+
74
+ for await (const snapshot of media.getAvailabilityProgressively({
75
+ type: "series",
76
+ ids: { kinopoisk: "435" },
77
+ seasonNumber: 1,
78
+ episodeNumber: 1,
79
+ })) {
80
+ updatePlayerSources(snapshot.availability?.options ?? []);
81
+ }
73
82
  ```
74
83
 
75
84
  Пакет также экспортирует `ddbbStreamingProvider()`, `aniLibertyStreamingProvider()`,
@@ -90,6 +99,10 @@ VideoHUB ищет по ID Кинопоиска и одним запросом pl
90
99
  клиента и могут быть привязаны к внешнему IP. Передавайте точный User-Agent клиента через
91
100
  `MediaEngineOperationOptions.playbackUserAgent`; для небраузерных клиентов нужное значение также
92
101
  сохраняется в `access.headers` каждого варианта.
102
+ VideoHUB поддерживает прогрессивную доступность: каждый готовый перевод можно показать, не ожидая
103
+ более медленных lookup. Ограниченный warm-cache раздельно хранит плейлисты и ещё действующие
104
+ подписанные video resolutions, никогда не выдаёт подписанные ссылки stale и сохраняет их исходный
105
+ срок действия.
93
106
  Rutube выполняет ограниченный точный поиск фильма по названию и году и возвращает только
94
107
  официальный публичный embed-плеер Rutube. Прямые media-URL не извлекаются и не проксируются;
95
108
  сериалы намеренно не поддерживаются.
@@ -1,2 +1,2 @@
1
- export declare const MEDIA_ENGINE_PROVIDERS_VERSION = "1.3.0";
2
- export declare const MEDIA_ENGINE_DEFAULT_USER_AGENT = "MediaEngine/1.3.0 (https://github.com/Yaneart/media-engine)";
1
+ export declare const MEDIA_ENGINE_PROVIDERS_VERSION = "1.4.0";
2
+ export declare const MEDIA_ENGINE_DEFAULT_USER_AGENT = "MediaEngine/1.4.0 (https://github.com/Yaneart/media-engine)";
@@ -1,5 +1,5 @@
1
1
  // Keep this runtime value aligned with packages/providers/package.json.
2
2
  // scripts/check-release-consistency.mjs enforces the manifest/runtime contract.
3
- export const MEDIA_ENGINE_PROVIDERS_VERSION = "1.3.0";
3
+ export const MEDIA_ENGINE_PROVIDERS_VERSION = "1.4.0";
4
4
  export const MEDIA_ENGINE_DEFAULT_USER_AGENT = `MediaEngine/${MEDIA_ENGINE_PROVIDERS_VERSION} (https://github.com/Yaneart/media-engine)`;
5
5
  //# sourceMappingURL=package-version.js.map
@@ -0,0 +1,19 @@
1
+ import type { VideoHubPlaylist, VideoHubSourceResolution } from "./client.js";
2
+ export declare class VideoHubStreamingCache {
3
+ #private;
4
+ constructor(options: {
5
+ maxEntries: number;
6
+ playlistTtlMs: number;
7
+ now: () => number;
8
+ });
9
+ getPlaylist(key: string): {
10
+ playlist: VideoHubPlaylist;
11
+ sourceUrl: string;
12
+ } | undefined;
13
+ setPlaylist(key: string, value: {
14
+ playlist: VideoHubPlaylist;
15
+ sourceUrl: string;
16
+ }): void;
17
+ getVideo(key: string): VideoHubSourceResolution | undefined;
18
+ setVideo(key: string, value: VideoHubSourceResolution): void;
19
+ }
@@ -0,0 +1,36 @@
1
+ import { MemoryCache } from "@media-engine/core";
2
+ const PLAYLIST_PREFIX = "playlist";
3
+ const VIDEO_PREFIX = "video";
4
+ // Bounded process-local cache; signed links are never served stale or beyond their original expiry.
5
+ // Ограниченный process-local кэш; подписанные ссылки не выдаются stale или после исходного expiry.
6
+ export class VideoHubStreamingCache {
7
+ #cache;
8
+ #playlistTtlMs;
9
+ #now;
10
+ constructor(options) {
11
+ this.#cache = new MemoryCache({ maxEntries: options.maxEntries, now: options.now });
12
+ this.#playlistTtlMs = options.playlistTtlMs;
13
+ this.#now = options.now;
14
+ }
15
+ getPlaylist(key) {
16
+ return this.#cache.get(`${PLAYLIST_PREFIX}:${key}`);
17
+ }
18
+ setPlaylist(key, value) {
19
+ if (this.#playlistTtlMs <= 0)
20
+ return;
21
+ this.#cache.set(`${PLAYLIST_PREFIX}:${key}`, value, {
22
+ ttlMs: this.#playlistTtlMs,
23
+ staleTtlMs: 0,
24
+ });
25
+ }
26
+ getVideo(key) {
27
+ return this.#cache.get(`${VIDEO_PREFIX}:${key}`);
28
+ }
29
+ setVideo(key, value) {
30
+ const ttlMs = Date.parse(value.expiresAt) - this.#now() - 1_000;
31
+ if (ttlMs <= 0)
32
+ return;
33
+ this.#cache.set(`${VIDEO_PREFIX}:${key}`, value, { ttlMs, staleTtlMs: 0 });
34
+ }
35
+ }
36
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/videohub-streaming/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,oGAAoG;AACpG,mGAAmG;AACnG,MAAM,OAAO,sBAAsB;IACxB,MAAM,CAAc;IACpB,cAAc,CAAS;IACvB,IAAI,CAAe;IAE5B,YAAY,OAAyE;QACnF,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAwD;QAC/E,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE;YAClD,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAA+B;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC;QAChE,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -21,6 +21,16 @@ export interface VideoHubMp4Source {
21
21
  export interface ResolvedVideoHubItem extends VideoHubPlaylistItem {
22
22
  sources: VideoHubMp4Source[];
23
23
  sourceUrl: string;
24
+ expiresAt?: string;
25
+ }
26
+ export interface VideoHubSourceResolution {
27
+ sources: VideoHubMp4Source[];
28
+ sourceUrl: string;
29
+ expiresAt: string;
30
+ }
31
+ export interface VideoHubItemResolutionSnapshot {
32
+ items: ResolvedVideoHubItem[];
33
+ complete: boolean;
24
34
  }
25
35
  export declare function resolveVideoHubKinopoiskId(query: MediaAvailability["query"]): string | undefined;
26
36
  export declare function loadVideoHubPlaylist(config: VideoHubStreamingConfig, kinopoiskId: string, context: ProviderContext, playbackUserAgent: string): Promise<{
@@ -28,6 +38,7 @@ export declare function loadVideoHubPlaylist(config: VideoHubStreamingConfig, ki
28
38
  sourceUrl: string;
29
39
  }>;
30
40
  export declare function resolveVideoHubItems(config: VideoHubStreamingConfig, playlist: VideoHubPlaylist, query: MediaAvailability["query"], context: ProviderContext, playbackUserAgent: string): Promise<ResolvedVideoHubItem[]>;
41
+ export declare function resolveVideoHubItemsProgressively(config: VideoHubStreamingConfig, playlist: VideoHubPlaylist, query: MediaAvailability["query"], context: ProviderContext, playbackUserAgent: string): AsyncGenerator<VideoHubItemResolutionSnapshot>;
31
42
  export declare function createVideoHubPlaylistUrl(baseUrl: string, kinopoiskId: string): URL;
32
43
  export declare function createVideoHubVideoUrl(baseUrl: string, vkId: string): URL;
33
44
  export declare function parseVideoHubPlaylist(provider: string, value: unknown, itemLimit: number): VideoHubPlaylist;
@@ -20,6 +20,11 @@ export function resolveVideoHubKinopoiskId(query) {
20
20
  return kinopoisk && /^[1-9]\d{0,11}$/u.test(kinopoisk) ? kinopoisk : undefined;
21
21
  }
22
22
  export async function loadVideoHubPlaylist(config, kinopoiskId, context, playbackUserAgent) {
23
+ throwIfContextAborted(context);
24
+ const cacheKey = `${kinopoiskId}\u0000${playbackUserAgent}`;
25
+ const cached = config.cache.getPlaylist(cacheKey);
26
+ if (cached)
27
+ return cached;
23
28
  const url = createVideoHubPlaylistUrl(config.baseUrl, kinopoiskId);
24
29
  const payload = await fetchJson({
25
30
  provider: config.name,
@@ -31,10 +36,12 @@ export async function loadVideoHubPlaylist(config, kinopoiskId, context, playbac
31
36
  maxResponseBytes: config.maxPlaylistResponseBytes,
32
37
  init: { headers: createHeaders(playbackUserAgent) },
33
38
  });
34
- return {
39
+ const result = {
35
40
  playlist: parseVideoHubPlaylist(config.name, payload, config.playlistItemLimit),
36
41
  sourceUrl: url.href,
37
42
  };
43
+ config.cache.setPlaylist(cacheKey, result);
44
+ return result;
38
45
  }
39
46
  function createVideoLookupContext(config, context) {
40
47
  return {
@@ -45,33 +52,61 @@ function createVideoLookupContext(config, context) {
45
52
  };
46
53
  }
47
54
  export async function resolveVideoHubItems(config, playlist, query, context, playbackUserAgent) {
55
+ let finalItems = [];
56
+ for await (const snapshot of resolveVideoHubItemsProgressively(config, playlist, query, context, playbackUserAgent)) {
57
+ finalItems = snapshot.items;
58
+ }
59
+ return finalItems;
60
+ }
61
+ // Resolves bounded video lookups concurrently and publishes every playable partial aggregate.
62
+ // Параллельно выполняет ограниченные video lookup и публикует каждый доступный частичный агрегат.
63
+ export async function* resolveVideoHubItemsProgressively(config, playlist, query, context, playbackUserAgent) {
48
64
  const selected = selectVideoHubPlaylistItems(playlist, query).slice(0, config.videoLookupLimit);
49
- if (selected.length === 0)
50
- return [];
65
+ if (selected.length === 0) {
66
+ yield { items: [], complete: true };
67
+ return;
68
+ }
51
69
  const resolved = new Array(selected.length);
70
+ const running = new Map();
52
71
  let nextIndex = 0;
53
72
  let firstError;
54
- const worker = async () => {
55
- while (nextIndex < selected.length) {
56
- const index = nextIndex;
57
- nextIndex += 1;
58
- const item = selected[index];
59
- try {
60
- const result = await loadVideoHubSources(config, item.vkId, context, playbackUserAgent);
61
- if (result.sources.length > 0)
62
- resolved[index] = { ...item, ...result };
63
- }
64
- catch (error) {
65
- rethrowIfProviderAborted(context, error);
66
- firstError ??= error;
67
- }
68
- }
73
+ const startNext = () => {
74
+ if (nextIndex >= selected.length)
75
+ return;
76
+ const index = nextIndex;
77
+ nextIndex += 1;
78
+ const item = selected[index];
79
+ const pending = loadVideoHubSources(config, item.vkId, context, playbackUserAgent).then((result) => ({ index, item, result }), (error) => {
80
+ rethrowIfProviderAborted(context, error);
81
+ return { index, error };
82
+ });
83
+ // A consumer may stop after the first snapshot; keep later abort rejections observed.
84
+ void pending.catch(() => undefined);
85
+ running.set(index, pending);
69
86
  };
70
- await Promise.all(Array.from({ length: Math.min(config.videoLookupConcurrency, selected.length) }, async () => worker()));
87
+ for (let index = 0; index < Math.min(config.videoLookupConcurrency, selected.length); index += 1) {
88
+ startNext();
89
+ }
90
+ while (running.size > 0) {
91
+ const outcome = await Promise.race(running.values());
92
+ running.delete(outcome.index);
93
+ startNext();
94
+ if ("error" in outcome) {
95
+ firstError ??= outcome.error;
96
+ continue;
97
+ }
98
+ if (outcome.result.sources.length === 0)
99
+ continue;
100
+ resolved[outcome.index] = { ...outcome.item, ...outcome.result };
101
+ yield {
102
+ items: resolved.filter((item) => item !== undefined),
103
+ complete: false,
104
+ };
105
+ }
71
106
  const available = resolved.filter((item) => item !== undefined);
72
107
  if (available.length === 0 && firstError !== undefined)
73
108
  throw firstError;
74
- return available;
109
+ yield { items: available, complete: true };
75
110
  }
76
111
  export function createVideoHubPlaylistUrl(baseUrl, kinopoiskId) {
77
112
  const url = new URL("/api/v1/player/sv/playlist", `${baseUrl}/`);
@@ -165,6 +200,11 @@ function compareEpisodeKeys(left, right) {
165
200
  return leftSeason - rightSeason || leftEpisode - rightEpisode;
166
201
  }
167
202
  async function loadVideoHubSources(config, vkId, context, playbackUserAgent) {
203
+ throwIfContextAborted(context);
204
+ const cacheKey = `${vkId}\u0000${playbackUserAgent}`;
205
+ const cached = config.cache.getVideo(cacheKey);
206
+ if (cached)
207
+ return cached;
168
208
  const url = createVideoHubVideoUrl(config.baseUrl, vkId);
169
209
  const payload = await fetchJson({
170
210
  provider: config.name,
@@ -176,10 +216,13 @@ async function loadVideoHubSources(config, vkId, context, playbackUserAgent) {
176
216
  maxResponseBytes: config.maxVideoResponseBytes,
177
217
  init: { headers: createHeaders(playbackUserAgent) },
178
218
  });
179
- return {
219
+ const result = {
180
220
  sources: parseVideoHubSources(config.name, payload),
181
221
  sourceUrl: url.href,
222
+ expiresAt: new Date(config.now() + config.linkTtlMs).toISOString(),
182
223
  };
224
+ config.cache.setVideo(cacheKey, result);
225
+ return result;
183
226
  }
184
227
  function parsePlaylistItem(value, isSerial) {
185
228
  if (!isRecord(value))
@@ -243,4 +286,9 @@ function invalidResponse(provider, stage) {
243
286
  retryable: false,
244
287
  });
245
288
  }
289
+ function throwIfContextAborted(context) {
290
+ if (context.signal?.aborted) {
291
+ throw context.signal.reason ?? new Error("VideoHUB operation was aborted.");
292
+ }
293
+ }
246
294
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/videohub-streaming/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/videohub-streaming/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { StreamingProviderCapabilities } from "@media-engine/core";
2
2
  import { ProviderRateLimitGate, type ProviderFetch } from "../shared/index.js";
3
+ import { VideoHubStreamingCache } from "./cache.js";
3
4
  export interface VideoHubStreamingProviderOptions {
4
5
  name?: string;
5
6
  version?: string;
@@ -12,6 +13,8 @@ export interface VideoHubStreamingProviderOptions {
12
13
  videoLookupConcurrency?: number;
13
14
  videoLookupTimeoutMs?: number;
14
15
  linkTtlMs?: number;
16
+ playlistCacheTtlMs?: number;
17
+ cacheMaxEntries?: number;
15
18
  userAgent?: string;
16
19
  now?: () => number;
17
20
  }
@@ -27,6 +30,7 @@ export interface VideoHubStreamingConfig {
27
30
  videoLookupConcurrency: number;
28
31
  videoLookupTimeoutMs: number;
29
32
  linkTtlMs: number;
33
+ cache: VideoHubStreamingCache;
30
34
  userAgent: string;
31
35
  now: () => number;
32
36
  }
@@ -2,6 +2,7 @@ import { MEDIA_ENGINE_DEFAULT_USER_AGENT } from "../package-version.js";
2
2
  import { ProviderRateLimitGate } from "../shared/index.js";
3
3
  import { resolveBoundedIntegerOption } from "../shared/options.js";
4
4
  import { createHardenedProviderFetch } from "../shared/safe-fetch.js";
5
+ import { VideoHubStreamingCache } from "./cache.js";
5
6
  const DEFAULT_PROVIDER_NAME = "videohub-streaming";
6
7
  const DEFAULT_BASE_URL = "https://plapi.cdnvideohub.com";
7
8
  const DEFAULT_MAX_PLAYLIST_RESPONSE_BYTES = 2 * 1024 * 1024;
@@ -11,9 +12,14 @@ const DEFAULT_VIDEO_LOOKUP_LIMIT = 8;
11
12
  const DEFAULT_VIDEO_LOOKUP_CONCURRENCY = 4;
12
13
  const DEFAULT_VIDEO_LOOKUP_TIMEOUT_MS = 15_000;
13
14
  const DEFAULT_LINK_TTL_MS = 5 * 60_000;
15
+ const DEFAULT_PLAYLIST_CACHE_TTL_MS = 5 * 60_000;
16
+ const DEFAULT_CACHE_MAX_ENTRIES = 256;
14
17
  const DEFAULT_ADDRESS_ATTEMPT_TIMEOUT_MS = 3_500;
15
18
  export function createVideoHubConfig(options) {
16
19
  const name = normalizeProviderName(options.name ?? DEFAULT_PROVIDER_NAME);
20
+ const now = options.now ?? Date.now;
21
+ const playlistCacheTtlMs = resolveBoundedIntegerOption(options.playlistCacheTtlMs, DEFAULT_PLAYLIST_CACHE_TTL_MS, "VideoHUB streaming playlistCacheTtlMs", 0, 60 * 60_000);
22
+ const cacheMaxEntries = resolveBoundedIntegerOption(options.cacheMaxEntries, DEFAULT_CACHE_MAX_ENTRIES, "VideoHUB streaming cacheMaxEntries", 2, 2_048);
17
23
  return {
18
24
  name,
19
25
  baseUrl: normalizeBaseUrl(options.baseUrl ?? DEFAULT_BASE_URL),
@@ -31,8 +37,13 @@ export function createVideoHubConfig(options) {
31
37
  videoLookupConcurrency: resolveBoundedIntegerOption(options.videoLookupConcurrency, DEFAULT_VIDEO_LOOKUP_CONCURRENCY, "VideoHUB streaming videoLookupConcurrency", 1, 8),
32
38
  videoLookupTimeoutMs: resolveBoundedIntegerOption(options.videoLookupTimeoutMs, DEFAULT_VIDEO_LOOKUP_TIMEOUT_MS, "VideoHUB streaming videoLookupTimeoutMs", 500, 15_000),
33
39
  linkTtlMs: resolveBoundedIntegerOption(options.linkTtlMs, DEFAULT_LINK_TTL_MS, "VideoHUB streaming linkTtlMs", 30_000, 60 * 60_000),
40
+ cache: new VideoHubStreamingCache({
41
+ maxEntries: cacheMaxEntries,
42
+ playlistTtlMs: playlistCacheTtlMs,
43
+ now,
44
+ }),
34
45
  userAgent: options.userAgent?.trim() || MEDIA_ENGINE_DEFAULT_USER_AGENT,
35
- now: options.now ?? Date.now,
46
+ now,
36
47
  };
37
48
  }
38
49
  export function createVideoHubCapabilities() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/videohub-streaming/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/videohub-streaming/config.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { rethrowIfProviderAborted } from "../shared/abort.js";
2
- import { loadVideoHubPlaylist, resolveVideoHubItems, resolveVideoHubKinopoiskId, } from "./client.js";
2
+ import { loadVideoHubPlaylist, resolveVideoHubItemsProgressively, resolveVideoHubKinopoiskId, } from "./client.js";
3
3
  import { createVideoHubCapabilities, createVideoHubConfig, } from "./config.js";
4
4
  import { mapVideoHubAvailability, mapVideoHubEpisodeCatalog } from "./mapping.js";
5
5
  export function videoHubStreamingProvider(options = {}) {
6
6
  const config = createVideoHubConfig(options);
7
+ const getAvailabilityProgressively = (query, context) => streamVideoHubAvailability(config, query, context);
7
8
  return {
8
9
  name: config.name,
9
10
  version: options.version,
@@ -11,31 +12,73 @@ export function videoHubStreamingProvider(options = {}) {
11
12
  capabilities: createVideoHubCapabilities(),
12
13
  availabilityDependsOnPlaybackUserAgent: true,
13
14
  async getAvailability(query, context) {
14
- if (query.providers && !query.providers.includes(config.name))
15
- return null;
16
- if (!canResolveQuery(query))
17
- return null;
18
- const kinopoiskId = resolveVideoHubKinopoiskId(query);
19
- if (!kinopoiskId)
20
- return null;
21
- const playbackUserAgent = resolvePlaybackUserAgent(context, config.userAgent);
22
- try {
23
- const { playlist, sourceUrl } = await loadVideoHubPlaylist(config, kinopoiskId, context, playbackUserAgent);
24
- if ((query.type !== "movie") !== playlist.isSerial)
25
- return null;
26
- if (isAnimeCatalogQuery(query)) {
27
- return mapVideoHubEpisodeCatalog(config.name, kinopoiskId, playlist, query, sourceUrl, config.now());
28
- }
29
- const items = await resolveVideoHubItems(config, playlist, query, context, playbackUserAgent);
30
- return mapVideoHubAvailability(config.name, kinopoiskId, playlist.title, items, query, sourceUrl, config.now(), config.linkTtlMs, playbackUserAgent);
31
- }
32
- catch (error) {
33
- rethrowIfProviderAborted(context, error);
34
- throw error;
15
+ let finalAvailability = null;
16
+ for await (const snapshot of getAvailabilityProgressively(query, context)) {
17
+ finalAvailability = snapshot.availability;
35
18
  }
19
+ return finalAvailability;
36
20
  },
21
+ getAvailabilityProgressively,
37
22
  };
38
23
  }
24
+ async function* streamVideoHubAvailability(config, query, context) {
25
+ const controller = new AbortController();
26
+ const abort = () => controller.abort(context.signal?.reason);
27
+ context.signal?.addEventListener("abort", abort, { once: true });
28
+ if (context.signal?.aborted)
29
+ abort();
30
+ const progressiveContext = { ...context, signal: controller.signal };
31
+ try {
32
+ if (query.providers && !query.providers.includes(config.name)) {
33
+ yield completeSnapshot(null);
34
+ return;
35
+ }
36
+ if (!canResolveQuery(query)) {
37
+ yield completeSnapshot(null);
38
+ return;
39
+ }
40
+ const kinopoiskId = resolveVideoHubKinopoiskId(query);
41
+ if (!kinopoiskId) {
42
+ yield completeSnapshot(null);
43
+ return;
44
+ }
45
+ const playbackUserAgent = resolvePlaybackUserAgent(context, config.userAgent);
46
+ const { playlist, sourceUrl } = await loadVideoHubPlaylist(config, kinopoiskId, progressiveContext, playbackUserAgent);
47
+ if ((query.type !== "movie") !== playlist.isSerial) {
48
+ yield completeSnapshot(null);
49
+ return;
50
+ }
51
+ if (isAnimeCatalogQuery(query)) {
52
+ yield completeSnapshot(mapVideoHubEpisodeCatalog(config.name, kinopoiskId, playlist, query, sourceUrl, config.now()));
53
+ return;
54
+ }
55
+ for await (const resolution of resolveVideoHubItemsProgressively(config, playlist, query, progressiveContext, playbackUserAgent)) {
56
+ const availability = mapVideoHubAvailability(config.name, kinopoiskId, playlist.title, resolution.items, query, sourceUrl, config.now(), config.linkTtlMs, playbackUserAgent);
57
+ yield resolution.complete
58
+ ? completeSnapshot(availability)
59
+ : {
60
+ availability,
61
+ state: "pending",
62
+ pendingProviders: [config.name],
63
+ };
64
+ }
65
+ }
66
+ catch (error) {
67
+ rethrowIfProviderAborted(progressiveContext, error);
68
+ throw error;
69
+ }
70
+ finally {
71
+ context.signal?.removeEventListener("abort", abort);
72
+ if (!controller.signal.aborted) {
73
+ const error = new Error("VideoHUB progressive availability consumer stopped.");
74
+ error.name = "AbortError";
75
+ controller.abort(error);
76
+ }
77
+ }
78
+ }
79
+ function completeSnapshot(availability) {
80
+ return { availability, state: "complete", pendingProviders: [] };
81
+ }
39
82
  function resolvePlaybackUserAgent(context, fallback) {
40
83
  const value = context.playbackUserAgent?.trim();
41
84
  return value && value.length <= 512 && !/[\u0000-\u001f\u007f]/u.test(value) ? value : fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/videohub-streaming/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/videohub-streaming/index.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ export function mapVideoHubEpisodeCatalog(provider, kinopoiskId, playlist, query
15
15
  };
16
16
  }
17
17
  export function mapVideoHubAvailability(provider, kinopoiskId, playlistTitle, items, query, sourceUrl, now, linkTtlMs, playbackUserAgent) {
18
- const expiresAt = new Date(now + linkTtlMs).toISOString();
19
- const options = uniqueOptions(items.flatMap((item) => item.sources.map((source) => createOption(provider, kinopoiskId, item, source, query, expiresAt, playbackUserAgent))));
18
+ const fallbackExpiresAt = new Date(now + linkTtlMs).toISOString();
19
+ const options = uniqueOptions(items.flatMap((item) => item.sources.map((source) => createOption(provider, kinopoiskId, item, source, query, item.expiresAt ?? fallbackExpiresAt, playbackUserAgent))));
20
20
  if (options.length === 0)
21
21
  return null;
22
22
  const episode = items[0] ? createEpisodeRef(items[0], query) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/videohub-streaming/mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/videohub-streaming/mapping.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@media-engine/providers",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Provider implementations for Media Engine.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/Yaneart/media-engine#readme",
@@ -70,7 +70,7 @@
70
70
  "access": "public"
71
71
  },
72
72
  "dependencies": {
73
- "@media-engine/core": "1.3.0"
73
+ "@media-engine/core": "1.4.0"
74
74
  },
75
75
  "scripts": {
76
76
  "clean": "node ../../scripts/clean-package-dist.mjs",