prismcast 1.7.0 → 1.9.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.
Files changed (208) hide show
  1. package/README.md +6 -6
  2. package/dist/app.js +24 -13
  3. package/dist/app.js.map +1 -1
  4. package/dist/browser/cdp.d.ts +4 -6
  5. package/dist/browser/cdp.js +13 -17
  6. package/dist/browser/cdp.js.map +1 -1
  7. package/dist/browser/index.js +3 -3
  8. package/dist/browser/index.js.map +1 -1
  9. package/dist/browser/login.js +11 -8
  10. package/dist/browser/login.js.map +1 -1
  11. package/dist/browser/precaching.d.ts +1 -1
  12. package/dist/browser/precaching.js +23 -23
  13. package/dist/browser/precaching.js.map +1 -1
  14. package/dist/browser/tuning/directv.js +4 -7
  15. package/dist/browser/tuning/directv.js.map +1 -1
  16. package/dist/browser/tuning/fox.js +1 -1
  17. package/dist/browser/tuning/fox.js.map +1 -1
  18. package/dist/browser/tuning/hbo.js +1 -1
  19. package/dist/browser/tuning/hbo.js.map +1 -1
  20. package/dist/browser/tuning/hulu.js +3 -3
  21. package/dist/browser/tuning/hulu.js.map +1 -1
  22. package/dist/browser/tuning/sling.js +2 -2
  23. package/dist/browser/tuning/sling.js.map +1 -1
  24. package/dist/channels/index.d.ts +2 -0
  25. package/dist/channels/index.js +438 -252
  26. package/dist/channels/index.js.map +1 -1
  27. package/dist/config/health.d.ts +3 -3
  28. package/dist/config/health.js +13 -18
  29. package/dist/config/health.js.map +1 -1
  30. package/dist/config/index.js +11 -2
  31. package/dist/config/index.js.map +1 -1
  32. package/dist/config/persistence.d.ts +59 -0
  33. package/dist/config/persistence.js +127 -0
  34. package/dist/config/persistence.js.map +1 -0
  35. package/dist/config/profiles.js +10 -10
  36. package/dist/config/profiles.js.map +1 -1
  37. package/dist/config/servicePacks.d.ts +46 -0
  38. package/dist/config/{providerPacks.js → servicePacks.js} +28 -31
  39. package/dist/config/servicePacks.js.map +1 -0
  40. package/dist/config/services.d.ts +202 -0
  41. package/dist/config/services.js +758 -0
  42. package/dist/config/services.js.map +1 -0
  43. package/dist/config/sites.js +61 -61
  44. package/dist/config/sites.js.map +1 -1
  45. package/dist/config/userChannels.d.ts +89 -27
  46. package/dist/config/userChannels.js +400 -184
  47. package/dist/config/userChannels.js.map +1 -1
  48. package/dist/config/userConfig.d.ts +13 -9
  49. package/dist/config/userConfig.js +78 -60
  50. package/dist/config/userConfig.js.map +1 -1
  51. package/dist/config/userProfiles.d.ts +31 -15
  52. package/dist/config/userProfiles.js +154 -123
  53. package/dist/config/userProfiles.js.map +1 -1
  54. package/dist/hdhr/channelMap.d.ts +1 -1
  55. package/dist/hdhr/channelMap.js +4 -7
  56. package/dist/hdhr/channelMap.js.map +1 -1
  57. package/dist/hdhr/discover.js +7 -15
  58. package/dist/hdhr/discover.js.map +1 -1
  59. package/dist/hdhr/index.js +6 -9
  60. package/dist/hdhr/index.js.map +1 -1
  61. package/dist/native/index.d.ts +2 -2
  62. package/dist/native/index.js +17 -27
  63. package/dist/native/index.js.map +1 -1
  64. package/dist/native/intercept.js +86 -89
  65. package/dist/native/intercept.js.map +1 -1
  66. package/dist/native/probe.js +2 -2
  67. package/dist/native/probe.js.map +1 -1
  68. package/dist/native/proxy.d.ts +2 -2
  69. package/dist/native/proxy.js +4 -4
  70. package/dist/native/proxy.js.map +1 -1
  71. package/dist/routes/assets.js +29 -51
  72. package/dist/routes/assets.js.map +1 -1
  73. package/dist/routes/auth.js +3 -3
  74. package/dist/routes/auth.js.map +1 -1
  75. package/dist/routes/channels.js +5 -11
  76. package/dist/routes/channels.js.map +1 -1
  77. package/dist/routes/components.d.ts +0 -8
  78. package/dist/routes/components.js +0 -19
  79. package/dist/routes/components.js.map +1 -1
  80. package/dist/routes/config/channels/index.d.ts +1 -1
  81. package/dist/routes/config/channels/index.js +1 -1
  82. package/dist/routes/config/channels/index.js.map +1 -1
  83. package/dist/routes/config/channels/routes.js +748 -420
  84. package/dist/routes/config/channels/routes.js.map +1 -1
  85. package/dist/routes/config/channels/table.d.ts +21 -6
  86. package/dist/routes/config/channels/table.js +456 -193
  87. package/dist/routes/config/channels/table.js.map +1 -1
  88. package/dist/routes/config/index.d.ts +2 -2
  89. package/dist/routes/config/index.js +3 -3
  90. package/dist/routes/config/index.js.map +1 -1
  91. package/dist/routes/config/{providers.js → services.js} +47 -42
  92. package/dist/routes/config/services.js.map +1 -0
  93. package/dist/routes/config/settings.js +88 -49
  94. package/dist/routes/config/settings.js.map +1 -1
  95. package/dist/routes/debug.js +5 -7
  96. package/dist/routes/debug.js.map +1 -1
  97. package/dist/routes/health.js +1 -1
  98. package/dist/routes/health.js.map +1 -1
  99. package/dist/routes/icons.d.ts +16 -0
  100. package/dist/routes/icons.js +44 -0
  101. package/dist/routes/icons.js.map +1 -0
  102. package/dist/routes/index.js +2 -2
  103. package/dist/routes/index.js.map +1 -1
  104. package/dist/routes/logs.js +4 -4
  105. package/dist/routes/logs.js.map +1 -1
  106. package/dist/routes/playlist.d.ts +6 -4
  107. package/dist/routes/playlist.js +98 -45
  108. package/dist/routes/playlist.js.map +1 -1
  109. package/dist/routes/root/content.js +94 -55
  110. package/dist/routes/root/content.js.map +1 -1
  111. package/dist/routes/root/scripts/channels.js +620 -478
  112. package/dist/routes/root/scripts/channels.js.map +1 -1
  113. package/dist/routes/root/scripts/config.js +884 -964
  114. package/dist/routes/root/scripts/config.js.map +1 -1
  115. package/dist/routes/root/scripts/shared.js +468 -188
  116. package/dist/routes/root/scripts/shared.js.map +1 -1
  117. package/dist/routes/root/scripts/status.js +252 -207
  118. package/dist/routes/root/scripts/status.js.map +1 -1
  119. package/dist/routes/root/styles.js +57 -8
  120. package/dist/routes/root/styles.js.map +1 -1
  121. package/dist/routes/services.d.ts +6 -0
  122. package/dist/routes/{providers.js → services.js} +43 -43
  123. package/dist/routes/services.js.map +1 -0
  124. package/dist/routes/ui.d.ts +1 -1
  125. package/dist/routes/ui.js +3 -1
  126. package/dist/routes/ui.js.map +1 -1
  127. package/dist/service/commands.js +8 -43
  128. package/dist/service/commands.js.map +1 -1
  129. package/dist/service/generators.d.ts +1 -1
  130. package/dist/service/generators.js +143 -41
  131. package/dist/service/generators.js.map +1 -1
  132. package/dist/streaming/codec.d.ts +20 -0
  133. package/dist/streaming/codec.js +68 -0
  134. package/dist/streaming/codec.js.map +1 -0
  135. package/dist/streaming/fmp4Segmenter.d.ts +2 -2
  136. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  137. package/dist/streaming/hls.d.ts +4 -4
  138. package/dist/streaming/hls.js +35 -29
  139. package/dist/streaming/hls.js.map +1 -1
  140. package/dist/streaming/hlsResume.js +3 -3
  141. package/dist/streaming/hlsResume.js.map +1 -1
  142. package/dist/streaming/monitor.d.ts +2 -2
  143. package/dist/streaming/monitor.js +19 -13
  144. package/dist/streaming/monitor.js.map +1 -1
  145. package/dist/streaming/preroll.d.ts +15 -14
  146. package/dist/streaming/preroll.js +32 -12
  147. package/dist/streaming/preroll.js.map +1 -1
  148. package/dist/streaming/registry.d.ts +2 -2
  149. package/dist/streaming/registry.js +4 -8
  150. package/dist/streaming/registry.js.map +1 -1
  151. package/dist/streaming/setup.d.ts +4 -4
  152. package/dist/streaming/setup.js +28 -34
  153. package/dist/streaming/setup.js.map +1 -1
  154. package/dist/streaming/showInfo.js +8 -10
  155. package/dist/streaming/showInfo.js.map +1 -1
  156. package/dist/streaming/statusEmitter.d.ts +4 -3
  157. package/dist/streaming/statusEmitter.js +3 -3
  158. package/dist/streaming/statusEmitter.js.map +1 -1
  159. package/dist/types/channels.d.ts +18 -11
  160. package/dist/types/config.d.ts +3 -2
  161. package/dist/types/index.d.ts +4 -3
  162. package/dist/types/index.js +1 -0
  163. package/dist/types/index.js.map +1 -1
  164. package/dist/types/profiles.d.ts +9 -9
  165. package/dist/types/selection.d.ts +1 -1
  166. package/dist/types/shared.d.ts +1 -1
  167. package/dist/types/streaming.d.ts +8 -16
  168. package/dist/types/streaming.js +5 -1
  169. package/dist/types/streaming.js.map +1 -1
  170. package/dist/upgrade/commands.js +1 -16
  171. package/dist/upgrade/commands.js.map +1 -1
  172. package/dist/utils/chromeFetch.js +1 -1
  173. package/dist/utils/cliOutput.d.ts +10 -0
  174. package/dist/utils/cliOutput.js +17 -0
  175. package/dist/utils/cliOutput.js.map +1 -0
  176. package/dist/utils/debugFilter.js +3 -3
  177. package/dist/utils/debugFilter.js.map +1 -1
  178. package/dist/utils/fileLogger.js +4 -3
  179. package/dist/utils/fileLogger.js.map +1 -1
  180. package/dist/utils/format.d.ts +21 -4
  181. package/dist/utils/format.js +45 -7
  182. package/dist/utils/format.js.map +1 -1
  183. package/dist/utils/index.d.ts +1 -0
  184. package/dist/utils/index.js +1 -0
  185. package/dist/utils/index.js.map +1 -1
  186. package/dist/utils/logger.js +17 -27
  187. package/dist/utils/logger.js.map +1 -1
  188. package/dist/utils/morganStream.js +2 -2
  189. package/dist/utils/morganStream.js.map +1 -1
  190. package/dist/utils/platform.js +3 -2
  191. package/dist/utils/platform.js.map +1 -1
  192. package/dist/utils/retry.js +2 -4
  193. package/dist/utils/retry.js.map +1 -1
  194. package/dist/utils/streamContext.d.ts +7 -0
  195. package/dist/utils/streamContext.js +10 -1
  196. package/dist/utils/streamContext.js.map +1 -1
  197. package/dist/utils/version.js +4 -4
  198. package/dist/utils/version.js.map +1 -1
  199. package/package.json +5 -7
  200. package/dist/config/providerPacks.d.ts +0 -46
  201. package/dist/config/providerPacks.js.map +0 -1
  202. package/dist/config/providers.d.ts +0 -175
  203. package/dist/config/providers.js +0 -678
  204. package/dist/config/providers.js.map +0 -1
  205. package/dist/routes/config/providers.js.map +0 -1
  206. package/dist/routes/providers.d.ts +0 -6
  207. package/dist/routes/providers.js.map +0 -1
  208. /package/dist/routes/config/{providers.d.ts → services.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hdhr/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hdhr/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
+ import type { CaptureCodec } from "../streaming/codec.js";
1
2
  import type { ManifestInterceptionResult } from "./intercept.js";
2
3
  import type { NativeProxy } from "./proxy.js";
3
4
  import type { Nullable } from "../types/index.js";
4
5
  import type { Page } from "puppeteer-core";
5
- import type { PrerollCodec } from "../streaming/preroll.js";
6
6
  /**
7
7
  * Options for attempting native streaming.
8
8
  */
@@ -12,7 +12,7 @@ export interface AttemptNativeStreamingOptions {
12
12
  mpegTsClient?: boolean;
13
13
  onError: (error: string) => void;
14
14
  page: Page;
15
- prerollCodec?: PrerollCodec;
15
+ prerollCodec?: CaptureCodec;
16
16
  prerollSegmentCount?: number;
17
17
  streamId: number;
18
18
  streamIdStr: string;
@@ -7,7 +7,7 @@ import { clearProbeCache, probeManifest } from "./probe.js";
7
7
  import { installManifestInterceptor, removeManifestInterceptor } from "./intercept.js";
8
8
  import { createNativeProxy } from "./proxy.js";
9
9
  import { fetchDecryptionKey } from "./decrypt.js";
10
- /* This module orchestrates the native streaming decision. After the browser navigates to a channel and video playback begins, we check whether the provider's HLS
10
+ /* This module orchestrates the native streaming decision. After the browser navigates to a channel and video playback begins, we check whether the service's HLS
11
11
  * stream can be consumed directly in Node (bypassing screen capture). The decision flow is:
12
12
  *
13
13
  * 1. Await the manifest interception promise (CDP listener was installed before navigation)
@@ -136,30 +136,20 @@ export async function attemptNativeStreaming(options) {
136
136
  * @returns The expiration timestamp in milliseconds, or null.
137
137
  */
138
138
  function parseTokenExpiry(url) {
139
- // Pattern 1: exp=N (plain query parameter).
140
- const expMatch = /[?&]exp=(\d{10,13})/.exec(url);
141
- if (expMatch) {
142
- const value = Number(expMatch[1]);
143
- // If the value is 10 digits, it's seconds; if 13, it's milliseconds.
144
- return value < 1e12 ? value * 1000 : value;
145
- }
146
- // Pattern 2: hdnea=...~exp=N~... (Akamai token in query parameter).
147
- const hdneaExpMatch = /~exp=(\d{10,13})~/.exec(url);
148
- if (hdneaExpMatch) {
149
- const value = Number(hdneaExpMatch[1]);
150
- return value < 1e12 ? value * 1000 : value;
151
- }
152
- // Pattern 3: /exp=N~ (Akamai token in URL path, e.g., foxvideo-sports.akamaized.net/exp=N~acl=...).
153
- const pathExpMatch = /\/exp=(\d{10,13})~/.exec(url);
154
- if (pathExpMatch) {
155
- const value = Number(pathExpMatch[1]);
156
- return value < 1e12 ? value * 1000 : value;
157
- }
158
- // Pattern 4: URL-encoded exp%3D (hdnts parameter).
159
- const encodedExpMatch = /exp%3D(\d{10,13})/.exec(url);
160
- if (encodedExpMatch) {
161
- const value = Number(encodedExpMatch[1]);
162
- return value < 1e12 ? value * 1000 : value;
139
+ // Each pattern captures a 10-13 digit expiration timestamp from a different token format. The patterns are tried in order; the first match wins.
140
+ const expiryPatterns = [
141
+ /[?&]exp=(\d{10,13})/, // Plain query parameter: exp=N.
142
+ /~exp=(\d{10,13})~/, // Akamai token in query parameter: hdnea=...~exp=N~...
143
+ /\/exp=(\d{10,13})~/, // Akamai token in URL path: /exp=N~acl=...
144
+ /exp%3D(\d{10,13})/ // URL-encoded hdnts parameter: exp%3DN.
145
+ ];
146
+ for (const pattern of expiryPatterns) {
147
+ const match = pattern.exec(url);
148
+ if (match) {
149
+ const value = Number(match[1]);
150
+ // If the value is 10 digits, it's seconds; if 13, it's milliseconds.
151
+ return value < 1e12 ? value * 1000 : value;
152
+ }
163
153
  }
164
154
  return null;
165
155
  }
@@ -253,8 +243,8 @@ export async function refreshNativeManifest(options) {
253
243
  return false;
254
244
  }
255
245
  // Navigate the page back to the channel URL to trigger fresh authentication. The interceptor captures .m3u8 requests generated by this navigation. Note: this
256
- // uses a bare page.goto without the provider's site profile (no waitForNetworkIdle, scroll options, etc.). This is acceptable because native streaming only
257
- // activates for providers whose video players load the HLS manifest during basic page load. Providers requiring profile-aware navigation for manifest delivery
246
+ // uses a bare page.goto without the service's site profile (no waitForNetworkIdle, scroll options, etc.). This is acceptable because native streaming only
247
+ // activates for services whose video players load the HLS manifest during basic page load. Services requiring profile-aware navigation for manifest delivery
258
248
  // would have failed the initial interception and would not be in native mode.
259
249
  await page.goto(url, { timeout: 30000, waitUntil: "domcontentloaded" });
260
250
  // Check if the proxy was stopped while we were navigating (e.g., stream terminated during the page load).
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
@@ -62,107 +62,104 @@ export async function installManifestInterceptor(page, timeout = INTERCEPTION_TI
62
62
  let latestManifestUrl = null;
63
63
  let resolved = false;
64
64
  let manifestCount = 0;
65
- // Finalize function, assigned inside the promise constructor and exposed on the returned handle.
66
- let finalize = () => { };
67
- const promise = new Promise((resolve) => {
68
- // Timeout guard. If finalize() is never called (defensive), resolve with whatever we have after the timeout.
69
- const timer = setTimeout(() => {
70
- if (!resolved) {
71
- resolved = true;
72
- cdpSession.off("Network.responseReceived", wrappedHandler);
73
- if (latestManifestUrl) {
74
- LOG.debug("native:intercept", "Manifest interception timed out after %sms. Resolving with latest URL (%s captured).", elapsed(), manifestCount);
75
- resolve({ cdpSession, masterManifestUrl: latestManifestUrl });
76
- }
77
- else {
78
- LOG.debug("native:intercept", "Manifest interception timed out after %sms. No master manifest captured.", elapsed());
79
- removeManifestInterceptor(cdpSession);
80
- resolve(null);
81
- }
82
- }
83
- }, timeout);
84
- // Listen for completed responses. We use Network.responseReceived to capture .m3u8 URLs, then fetch the manifest body directly from Node.js to verify it is
85
- // a master manifest. This avoids CDP's Network.getResponseBody which is unreliable — Chrome's network cache can evict response bodies before we read them.
86
- const onResponseReceived = async (params) => {
87
- if (resolved) {
65
+ const { promise, resolve } = Promise.withResolvers();
66
+ // Listen for completed responses. We use Network.responseReceived to capture .m3u8 URLs, then fetch the manifest body directly from Node.js to verify it is
67
+ // a master manifest. This avoids CDP's Network.getResponseBody which is unreliable — Chrome's network cache can evict response bodies before we read them.
68
+ const onResponseReceived = async (params) => {
69
+ if (resolved) {
70
+ return;
71
+ }
72
+ const url = params.response.url;
73
+ // Filter for .m3u8 URLs. Strip query parameters before checking the extension.
74
+ const urlPath = url.split("?")[0];
75
+ if (!urlPath.endsWith(".m3u8")) {
76
+ return;
77
+ }
78
+ LOG.debug("native:intercept", "Observed .m3u8 response: %s.", url.slice(0, 120));
79
+ // Fetch the manifest body directly to inspect whether this is a master manifest. The URL contains embedded CDN auth tokens, so no cookies or special
80
+ // headers are needed beyond the Chrome User-Agent injected by chromeFetch().
81
+ try {
82
+ const response = await chromeFetch(url, { signal: AbortSignal.timeout(5000) });
83
+ if (!response.ok) {
84
+ LOG.debug("native:intercept", "Manifest fetch returned HTTP %s for %s.", response.status, url.slice(0, 120));
88
85
  return;
89
86
  }
90
- const url = params.response.url;
91
- // Filter for .m3u8 URLs. Strip query parameters before checking the extension.
92
- const urlPath = url.split("?")[0];
93
- if (!urlPath.endsWith(".m3u8")) {
94
- return;
87
+ const body = await response.text();
88
+ // Master manifests contain #EXT-X-STREAM-INF directives that reference variant playlists. Media/variant playlists contain #EXTINF or #EXT-X-TARGETDURATION
89
+ // but not #EXT-X-STREAM-INF.
90
+ if (body.includes("#EXT-X-STREAM-INF")) {
91
+ manifestCount++;
92
+ firstManifestUrl ??= url;
93
+ latestManifestUrl = url;
94
+ LOG.debug("native:intercept", "Master manifest captured (#%s) in %sms: %s.", manifestCount, elapsed(), url.slice(0, 120));
95
95
  }
96
- LOG.debug("native:intercept", "Observed .m3u8 response: %s.", url.slice(0, 120));
97
- // Fetch the manifest body directly to inspect whether this is a master manifest. The URL contains embedded CDN auth tokens, so no cookies or special
98
- // headers are needed beyond the Chrome User-Agent injected by chromeFetch().
99
- try {
100
- const response = await chromeFetch(url, { signal: AbortSignal.timeout(5000) });
101
- if (!response.ok) {
102
- LOG.debug("native:intercept", "Manifest fetch returned HTTP %s for %s.", response.status, url.slice(0, 120));
103
- return;
104
- }
105
- const body = await response.text();
106
- // Master manifests contain #EXT-X-STREAM-INF directives that reference variant playlists. Media/variant playlists contain #EXTINF or #EXT-X-TARGETDURATION
107
- // but not #EXT-X-STREAM-INF.
108
- if (body.includes("#EXT-X-STREAM-INF")) {
109
- manifestCount++;
110
- firstManifestUrl ??= url;
111
- latestManifestUrl = url;
112
- LOG.debug("native:intercept", "Master manifest captured (#%s) in %sms: %s.", manifestCount, elapsed(), url.slice(0, 120));
113
- }
114
- else {
115
- LOG.debug("native:intercept", "Skipping non-master .m3u8 (no #EXT-X-STREAM-INF).");
116
- }
96
+ else {
97
+ LOG.debug("native:intercept", "Skipping non-master .m3u8 (no #EXT-X-STREAM-INF).");
117
98
  }
118
- catch (error) {
119
- LOG.debug("native:intercept", "Could not fetch .m3u8 body: %s.", String(error));
99
+ }
100
+ catch (error) {
101
+ LOG.debug("native:intercept", "Could not fetch .m3u8 body: %s.", String(error));
102
+ }
103
+ };
104
+ // Wrap the async handler to avoid no-misused-promises — EventEmitter.on() does not handle returned promises.
105
+ const wrappedHandler = (...args) => { void onResponseReceived(...args); };
106
+ cdpSession.on("Network.responseReceived", wrappedHandler);
107
+ // Timeout guard. If finalize() is never called (defensive), resolve with whatever we have after the timeout.
108
+ const timer = setTimeout(() => {
109
+ if (!resolved) {
110
+ resolved = true;
111
+ cdpSession.off("Network.responseReceived", wrappedHandler);
112
+ if (latestManifestUrl) {
113
+ LOG.debug("native:intercept", "Manifest interception timed out after %sms. Resolving with latest URL (%s captured).", elapsed(), manifestCount);
114
+ resolve({ cdpSession, masterManifestUrl: latestManifestUrl });
120
115
  }
121
- };
122
- // Wrap the async handler to avoid no-misused-promises — EventEmitter.on() does not handle returned promises.
123
- const wrappedHandler = (...args) => { void onResponseReceived(...args); };
124
- cdpSession.on("Network.responseReceived", wrappedHandler);
125
- // Assign the finalize function. Called by the stream setup code after channel selection is complete. The resolution strategy depends on two factors: whether a
126
- // manifest has already been captured, and whether the tune is direct or guide-based.
127
- //
128
- // - Manifest captured + direct tune: resolve immediately (A&E, most TVE sites — manifest arrived during page load).
129
- // - Manifest captured + guide tune: wait FINALIZE_SETTLE_DELAY (Fox guide, Hulu — a newer manifest from the channel switch may still arrive).
130
- // - No manifest captured + either: wait FINALIZE_SETTLE_DELAY (Fox Sports — manifest fetch starts after video element appears, hasn't arrived yet).
131
- finalize = (directTune) => {
116
+ else {
117
+ LOG.debug("native:intercept", "Manifest interception timed out after %sms. No master manifest captured.", elapsed());
118
+ removeManifestInterceptor(cdpSession);
119
+ resolve(null);
120
+ }
121
+ }
122
+ }, timeout);
123
+ // Finalize function exposed on the returned handle. Called by the stream setup code after channel selection is complete. The resolution strategy depends on
124
+ // two factors: whether a manifest has already been captured, and whether the tune is direct or guide-based.
125
+ //
126
+ // - Manifest captured + direct tune: resolve immediately (A&E, most TVE sites — manifest arrived during page load).
127
+ // - Manifest captured + guide tune: wait FINALIZE_SETTLE_DELAY (Fox guide, Hulu — a newer manifest from the channel switch may still arrive).
128
+ // - No manifest captured + either: wait FINALIZE_SETTLE_DELAY (Fox Sports — manifest fetch starts after video element appears, hasn't arrived yet).
129
+ const finalize = (directTune) => {
130
+ if (resolved) {
131
+ return;
132
+ }
133
+ // Helper that resolves the promise with the current state. For direct tunes, the first manifest is the correct one (loaded for the navigated URL — background
134
+ // prefetches for other channels may have overwritten latestManifestUrl). For guide tunes, the last manifest is correct (from the channel switch click).
135
+ const resolveNow = () => {
132
136
  if (resolved) {
133
137
  return;
134
138
  }
135
- // Helper that resolves the promise with the current state. For direct tunes, the first manifest is the correct one (loaded for the navigated URL — background
136
- // prefetches for other channels may have overwritten latestManifestUrl). For guide tunes, the last manifest is correct (from the channel switch click).
137
- const resolveNow = () => {
138
- if (resolved) {
139
- return;
140
- }
141
- resolved = true;
142
- clearTimeout(timer);
143
- cdpSession.off("Network.responseReceived", wrappedHandler);
144
- const selectedUrl = directTune ? firstManifestUrl : latestManifestUrl;
145
- if (selectedUrl) {
146
- LOG.debug("native:intercept", "Interception finalized in %sms with %s manifest(s). Using %s: %s.", elapsed(), manifestCount, directTune ? "first" : "latest", selectedUrl.slice(0, 120));
147
- resolve({ cdpSession, masterManifestUrl: selectedUrl });
148
- }
149
- else {
150
- LOG.debug("native:intercept", "Interception finalized in %sms but no master manifest was captured.", elapsed());
151
- removeManifestInterceptor(cdpSession);
152
- resolve(null);
153
- }
154
- };
155
- if (directTune && firstManifestUrl) {
156
- // Direct tune with manifest already captured: resolve immediately with zero delay. The first manifest arrived during page load and is the correct one.
157
- resolveNow();
139
+ resolved = true;
140
+ clearTimeout(timer);
141
+ cdpSession.off("Network.responseReceived", wrappedHandler);
142
+ const selectedUrl = directTune ? firstManifestUrl : latestManifestUrl;
143
+ if (selectedUrl) {
144
+ LOG.debug("native:intercept", "Interception finalized in %sms with %s manifest(s). Using %s: %s.", elapsed(), manifestCount, directTune ? "first" : "latest", selectedUrl.slice(0, 120));
145
+ resolve({ cdpSession, masterManifestUrl: selectedUrl });
158
146
  }
159
147
  else {
160
- // Either no manifest captured yet (some providers fetch the manifest after the video element appears) or a guide-based tune where the channel switch
161
- // may produce a newer manifest. Wait briefly for in-flight responses.
162
- setTimeout(resolveNow, FINALIZE_SETTLE_DELAY);
148
+ LOG.debug("native:intercept", "Interception finalized in %sms but no master manifest was captured.", elapsed());
149
+ removeManifestInterceptor(cdpSession);
150
+ resolve(null);
163
151
  }
164
152
  };
165
- });
153
+ if (directTune && firstManifestUrl) {
154
+ // Direct tune with manifest already captured: resolve immediately with zero delay. The first manifest arrived during page load and is the correct one.
155
+ resolveNow();
156
+ }
157
+ else {
158
+ // Either no manifest captured yet (some services fetch the manifest after the video element appears) or a guide-based tune where the channel switch
159
+ // may produce a newer manifest. Wait briefly for in-flight responses.
160
+ setTimeout(resolveNow, FINALIZE_SETTLE_DELAY);
161
+ }
162
+ };
166
163
  return { finalize, promise };
167
164
  }
168
165
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../src/native/intercept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../src/native/intercept.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const FETCH_TIMEOUT = 10000;
17
17
  // contain session-bound auth tokens that expire between tunes, so they must never be cached — only the stable encryption type is safe to persist across sessions.
18
18
  // The DRM skip optimization in setup.ts uses this cache to avoid installing the CDP interceptor for channels known to use DRM.
19
19
  const probeCache = new Map();
20
- // Cache entries older than this are considered stale and re-probed. 24 hours covers the case where a provider changes a channel's encryption profile (e.g., free →
20
+ // Cache entries older than this are considered stale and re-probed. 24 hours covers the case where a service changes a channel's encryption profile (e.g., free →
21
21
  // premium DRM). The DRM short-circuit in probeManifest() still applies within the TTL, so frequently-tuned DRM channels avoid repeated probe overhead.
22
22
  const PROBE_CACHE_TTL = 24 * 60 * 60 * 1000;
23
23
  /**
@@ -56,7 +56,7 @@ export function clearProbeCache(channelName) {
56
56
  * @returns The probe result, or null if probing fails.
57
57
  */
58
58
  export async function probeManifest(masterUrl, channelName) {
59
- // Short-circuit for DRM channels only. The cached DRM classification is stable within the TTL window (providers rarely change DRM type), and the caller returns
59
+ // Short-circuit for DRM channels only. The cached DRM classification is stable within the TTL window (services rarely change DRM type), and the caller returns
60
60
  // null immediately on DRM without using any URLs. For clear/aes128 channels, we must re-probe to get fresh variant and key URLs with current auth tokens.
61
61
  const cached = getCachedEncryption(channelName);
62
62
  if (cached === "drm") {
@@ -1 +1 @@
1
- {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/native/probe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGjE;;;;;;;GAOG;AAEH,+CAA+C;AAC/C,MAAM,aAAa,GAAG,KAAK,CAAC;AAmC5B,+JAA+J;AAC/J,kKAAkK;AAClK,+HAA+H;AAC/H,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6D,CAAC;AAExF,mKAAmK;AACnK,uJAAuJ;AACvJ,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IAErD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE1C,IAAG,CAAC,KAAK,EAAE,CAAC;QAEV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,eAAe,EAAE,CAAC;QAEpD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,UAAU,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IAEjD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,WAAmB;IAExE,gKAAgK;IAChK,0JAA0J;IAC1J,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAG,MAAM,KAAK,KAAK,EAAE,CAAC;QAEpB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,8BAA8B,EAAE,WAAW,CAAC,CAAC;QAEvE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrI,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,IAAI,CAAC;QAEH,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAG,CAAC,UAAU,EAAE,CAAC;YAEf,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,yCAAyC,EAAE,WAAW,CAAC,CAAC;YAElF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0DAA0D;QAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE7D,IAAG,CAAC,WAAW,EAAE,CAAC;YAEhB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,qDAAqD,EAAE,WAAW,CAAC,CAAC;YAE9F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,mCAAmC,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3G,+DAA+D;QAC/D,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEnE,IAAG,eAAe,EAAE,CAAC;YAEnB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,4CAA4C,EAAE,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACtH,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE7D,IAAG,CAAC,WAAW,EAAE,CAAC;YAEhB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,0CAA0C,EAAE,WAAW,CAAC,CAAC;YAEnF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QAEhG,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEtF,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,qCAAqC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE5G,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAE1C,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAExF,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAEhB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,kCAAkC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE/E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,2BAA2B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAoBD;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,UAAkB,EAAE,SAAiB;IAE9D,oJAAoJ;IACpJ,MAAM,aAAa,GAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAE/I,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,GAAqB,IAAI,CAAC;IACvC,IAAI,cAAc,GAAqB,IAAI,CAAC;IAC5C,IAAI,OAAO,GAAqB,IAAI,CAAC;IACrC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAErC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAE1C,SAAS;QACX,CAAC;QAED,6BAA6B;QAC7B,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,2DAA2D;QAC3D,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAqB,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjF,kJAAkJ;QAClJ,qIAAqI;QACrI,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,GAAqB,IAAI,CAAC;QAEnC,IAAG,WAAW,EAAE,CAAC;YAEf,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACxC,CAAC;QAED,uCAAuC;QACvC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,IAAG,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAE/C,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAG,SAAS,GAAG,aAAa,EAAE,CAAC;YAE7B,aAAa,GAAG,SAAS,CAAC;YAC1B,SAAS,GAAG,KAAK,CAAC;YAClB,cAAc,GAAG,UAAU,CAAC;YAC5B,OAAO,GAAG,WAAW,CAAC;QACxB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,0CAA0C,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhH,IAAG,CAAC,OAAO,EAAE,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yDAAyD;IACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;AACzH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,OAAyB,EAAE,eAAiC,EACjH,WAAmB;IAEnB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,GAAmB,OAAO,CAAC;IACzC,IAAI,MAAM,GAAqB,IAAI,CAAC;IAEpC,KAAI,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAG,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAEtC,SAAS;QACX,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnE,IAAG,MAAM,KAAK,MAAM,EAAE,CAAC;YAErB,SAAS;QACX,CAAC;QAED,IAAG,MAAM,KAAK,SAAS,EAAE,CAAC;YAExB,uCAAuC;YACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAG,CAAC,QAAQ,EAAE,CAAC;gBAEb,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,oCAAoC,EAAE,WAAW,CAAC,CAAC;gBAC7E,UAAU,GAAG,KAAK,CAAC;gBAEnB,MAAM;YACR,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAEvD,2DAA2D;YAC3D,4CAA4C;YAC5C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE5D,IAAG,aAAa,EAAE,CAAC;gBAEjB,UAAU,GAAG,QAAQ,CAAC;gBACtB,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;iBAAM,CAAC;gBAEN,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,gDAAgD,EAAE,WAAW,CAAC,CAAC;gBACzF,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;YAED,MAAM;QACR,CAAC;QAED,iEAAiE;QACjE,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,4CAA4C,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7F,UAAU,GAAG,KAAK,CAAC;QAEnB,MAAM;IACR,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;AAClK,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAEhD,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAE3F,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAEhB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE5C,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,8BAA8B,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;IAClC,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,oCAAoC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,UAAkB,EAAE,SAAiB;IAEhE,KAAI,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAG,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAExC,SAAS;QACX,CAAC;QAED,+BAA+B;QAC/B,IAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAEnC,SAAS;QACX,CAAC;QAED,qJAAqJ;QACrJ,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAG,QAAQ,EAAE,CAAC;YAEZ,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,OAAe;IAErD,sDAAsD;IACtD,IAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAE3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qEAAqE;IACrE,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/native/probe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGjE;;;;;;;GAOG;AAEH,+CAA+C;AAC/C,MAAM,aAAa,GAAG,KAAK,CAAC;AAmC5B,+JAA+J;AAC/J,kKAAkK;AAClK,+HAA+H;AAC/H,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6D,CAAC;AAExF,kKAAkK;AAClK,uJAAuJ;AACvJ,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IAErD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE1C,IAAG,CAAC,KAAK,EAAE,CAAC;QAEV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,eAAe,EAAE,CAAC;QAEpD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,UAAU,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IAEjD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,WAAmB;IAExE,+JAA+J;IAC/J,0JAA0J;IAC1J,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAG,MAAM,KAAK,KAAK,EAAE,CAAC;QAEpB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,8BAA8B,EAAE,WAAW,CAAC,CAAC;QAEvE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACrI,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,IAAI,CAAC;QAEH,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAG,CAAC,UAAU,EAAE,CAAC;YAEf,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,yCAAyC,EAAE,WAAW,CAAC,CAAC;YAElF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0DAA0D;QAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE7D,IAAG,CAAC,WAAW,EAAE,CAAC;YAEhB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,qDAAqD,EAAE,WAAW,CAAC,CAAC;YAE9F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,mCAAmC,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3G,+DAA+D;QAC/D,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEnE,IAAG,eAAe,EAAE,CAAC;YAEnB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,4CAA4C,EAAE,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACtH,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE7D,IAAG,CAAC,WAAW,EAAE,CAAC;YAEhB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,0CAA0C,EAAE,WAAW,CAAC,CAAC;YAEnF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QAEhG,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEtF,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,qCAAqC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE5G,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAE1C,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAExF,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAEhB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,kCAAkC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE/E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,2BAA2B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAoBD;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,UAAkB,EAAE,SAAiB;IAE9D,oJAAoJ;IACpJ,MAAM,aAAa,GAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAE/I,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,GAAqB,IAAI,CAAC;IACvC,IAAI,cAAc,GAAqB,IAAI,CAAC;IAC5C,IAAI,OAAO,GAAqB,IAAI,CAAC;IACrC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAErC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAE1C,SAAS;QACX,CAAC;QAED,6BAA6B;QAC7B,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,2DAA2D;QAC3D,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAqB,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjF,kJAAkJ;QAClJ,qIAAqI;QACrI,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,GAAqB,IAAI,CAAC;QAEnC,IAAG,WAAW,EAAE,CAAC;YAEf,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACxC,CAAC;QAED,uCAAuC;QACvC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,IAAG,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAE/C,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAG,SAAS,GAAG,aAAa,EAAE,CAAC;YAE7B,aAAa,GAAG,SAAS,CAAC;YAC1B,SAAS,GAAG,KAAK,CAAC;YAClB,cAAc,GAAG,UAAU,CAAC;YAC5B,OAAO,GAAG,WAAW,CAAC;QACxB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,0CAA0C,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhH,IAAG,CAAC,OAAO,EAAE,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yDAAyD;IACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;AACzH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,OAAyB,EAAE,eAAiC,EACjH,WAAmB;IAEnB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,GAAmB,OAAO,CAAC;IACzC,IAAI,MAAM,GAAqB,IAAI,CAAC;IAEpC,KAAI,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAG,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAEtC,SAAS;QACX,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnE,IAAG,MAAM,KAAK,MAAM,EAAE,CAAC;YAErB,SAAS;QACX,CAAC;QAED,IAAG,MAAM,KAAK,SAAS,EAAE,CAAC;YAExB,uCAAuC;YACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAG,CAAC,QAAQ,EAAE,CAAC;gBAEb,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,oCAAoC,EAAE,WAAW,CAAC,CAAC;gBAC7E,UAAU,GAAG,KAAK,CAAC;gBAEnB,MAAM;YACR,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAEvD,2DAA2D;YAC3D,4CAA4C;YAC5C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE5D,IAAG,aAAa,EAAE,CAAC;gBAEjB,UAAU,GAAG,QAAQ,CAAC;gBACtB,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;iBAAM,CAAC;gBAEN,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,gDAAgD,EAAE,WAAW,CAAC,CAAC;gBACzF,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;YAED,MAAM;QACR,CAAC;QAED,iEAAiE;QACjE,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,4CAA4C,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7F,UAAU,GAAG,KAAK,CAAC;QAEnB,MAAM;IACR,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;AAClK,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAEhD,IAAI,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAE3F,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAEhB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE5C,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,8BAA8B,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;IAClC,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,oCAAoC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,UAAkB,EAAE,SAAiB;IAEhE,KAAI,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAG,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAExC,SAAS;QACX,CAAC;QAED,+BAA+B;QAC/B,IAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAEnC,SAAS;QACX,CAAC;QAED,qJAAqJ;QACrJ,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAG,QAAQ,EAAE,CAAC;YAEZ,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,OAAe;IAErD,sDAAsD;IACtD,IAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAE3D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qEAAqE;IACrE,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type PrerollCodec } from "../streaming/preroll.js";
2
1
  import type { CDPSession } from "puppeteer-core";
2
+ import type { CaptureCodec } from "../streaming/codec.js";
3
3
  import type { Nullable } from "../types/index.js";
4
4
  /**
5
5
  * Options for creating a native HLS proxy.
@@ -12,7 +12,7 @@ export interface NativeProxyOptions {
12
12
  keyUrl: Nullable<string>;
13
13
  onError: (error: string) => void;
14
14
  prefetchedKey: Nullable<Buffer>;
15
- prerollCodec?: PrerollCodec;
15
+ prerollCodec?: CaptureCodec;
16
16
  prerollSegmentCount?: number;
17
17
  streamId: number;
18
18
  streamIdStr: string;
@@ -11,12 +11,12 @@ import { buildPlaylist } from "../streaming/playlistBuilder.js";
11
11
  import { getStream } from "../streaming/registry.js";
12
12
  import { removeManifestInterceptor } from "./intercept.js";
13
13
  import { resolveUrl } from "./probe.js";
14
- /* This module implements the native HLS proxy that replaces Chrome screen capture for viable streams. It polls the provider's variant manifest at regular intervals,
14
+ /* This module implements the native HLS proxy that replaces Chrome screen capture for viable streams. It polls the service's variant manifest at regular intervals,
15
15
  * detects new segments by tracking #EXT-X-MEDIA-SEQUENCE, fetches each segment (optionally decrypting AES-128), stores them in the existing HLS segment system, and
16
16
  * generates an HLS playlist that faithfully propagates upstream metadata — discontinuity markers, program timestamps, and SCTE-35 ad signaling (cue-out, cue-in,
17
17
  * cue-out-cont).
18
18
  *
19
- * The proxy generates its own playlist rather than rewriting the provider's playlist, which avoids dealing with CDN-relative URLs and provider-specific quirks. However,
19
+ * The proxy generates its own playlist rather than rewriting the service's playlist, which avoids dealing with CDN-relative URLs and service-specific quirks. However,
20
20
  * it preserves all playback-critical tags from the upstream manifest so that downstream consumers (Channels DVR) can correctly handle PTS resets at ad boundaries,
21
21
  * synchronize wall-clock time, and detect commercial breaks.
22
22
  *
@@ -631,7 +631,7 @@ export function createNativeProxy(options) {
631
631
  async function processManifest(body) {
632
632
  const { mediaSequence, segments, targetDuration } = parseVariantManifest(body, video.variantUrl);
633
633
  video.lastTargetDuration = targetDuration;
634
- // Prune old entries from the fetchedSequences Set and segment metadata on each poll cycle. The provider's media sequence window slides forward, so entries below
634
+ // Prune old entries from the fetchedSequences Set and segment metadata on each poll cycle. The service's media sequence window slides forward, so entries below
635
635
  // the current base sequence will never be checked again. Without pruning, these structures grow unboundedly over hours of streaming.
636
636
  for (const seq of video.fetchedSequences) {
637
637
  if (seq < mediaSequence) {
@@ -798,7 +798,7 @@ export function createNativeProxy(options) {
798
798
  * served during the standalone preroll phase, ensuring smooth MEDIA-SEQUENCE progression. For streams with separate audio, generates a master playlist referencing
799
799
  * video.m3u8 and audio.m3u8, plus individual variant playlists for each (no preroll — preroll is muxed and can't be split into separate renditions).
800
800
  *
801
- * @param targetDuration - The #EXT-X-TARGETDURATION value from the provider's manifest.
801
+ * @param targetDuration - The #EXT-X-TARGETDURATION value from the service's manifest.
802
802
  */
803
803
  function generatePlaylist(targetDuration) {
804
804
  const stream = getStream(streamId);