prismcast 1.13.0 → 1.14.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 (218) hide show
  1. package/dist/app.d.ts +88 -6
  2. package/dist/app.js +287 -154
  3. package/dist/app.js.map +1 -1
  4. package/dist/browser/cdp.d.ts +6 -17
  5. package/dist/browser/cdp.js +6 -57
  6. package/dist/browser/cdp.js.map +1 -1
  7. package/dist/browser/index.d.ts +106 -23
  8. package/dist/browser/index.js +292 -225
  9. package/dist/browser/index.js.map +1 -1
  10. package/dist/browser/precaching.d.ts +25 -11
  11. package/dist/browser/precaching.js +245 -97
  12. package/dist/browser/precaching.js.map +1 -1
  13. package/dist/browser/tabCapture.js +3 -10
  14. package/dist/browser/tabCapture.js.map +1 -1
  15. package/dist/browser/tuning/comcastPolymer.js +13 -14
  16. package/dist/browser/tuning/comcastPolymer.js.map +1 -1
  17. package/dist/browser/tuning/hbo.js +34 -17
  18. package/dist/browser/tuning/hbo.js.map +1 -1
  19. package/dist/browser/video.d.ts +1 -1
  20. package/dist/browser/video.js +3 -3
  21. package/dist/channels/index.js +5 -5
  22. package/dist/channels/index.js.map +1 -1
  23. package/dist/cliHelp.d.ts +11 -0
  24. package/dist/cliHelp.js +148 -0
  25. package/dist/cliHelp.js.map +1 -0
  26. package/dist/config/channelForm.js +5 -4
  27. package/dist/config/channelForm.js.map +1 -1
  28. package/dist/config/consistencyProbe.d.ts +2 -4
  29. package/dist/config/consistencyProbe.js +8 -51
  30. package/dist/config/consistencyProbe.js.map +1 -1
  31. package/dist/config/index.d.ts +107 -55
  32. package/dist/config/index.js +499 -267
  33. package/dist/config/index.js.map +1 -1
  34. package/dist/config/paths.d.ts +13 -8
  35. package/dist/config/paths.js +21 -25
  36. package/dist/config/paths.js.map +1 -1
  37. package/dist/config/persistence.d.ts +57 -11
  38. package/dist/config/persistence.js +127 -44
  39. package/dist/config/persistence.js.map +1 -1
  40. package/dist/config/reactivity.d.ts +60 -36
  41. package/dist/config/reactivity.js +89 -116
  42. package/dist/config/reactivity.js.map +1 -1
  43. package/dist/config/services.d.ts +61 -26
  44. package/dist/config/services.js +137 -68
  45. package/dist/config/services.js.map +1 -1
  46. package/dist/config/streamSettings.d.ts +24 -0
  47. package/dist/config/streamSettings.js +17 -0
  48. package/dist/config/streamSettings.js.map +1 -0
  49. package/dist/config/userChannels.d.ts +60 -52
  50. package/dist/config/userChannels.js +138 -188
  51. package/dist/config/userChannels.js.map +1 -1
  52. package/dist/config/userConfig.d.ts +224 -61
  53. package/dist/config/userConfig.js +351 -134
  54. package/dist/config/userConfig.js.map +1 -1
  55. package/dist/hdhr/discover.d.ts +7 -1
  56. package/dist/hdhr/discover.js +12 -6
  57. package/dist/hdhr/discover.js.map +1 -1
  58. package/dist/hdhr/index.d.ts +51 -10
  59. package/dist/hdhr/index.js +108 -112
  60. package/dist/hdhr/index.js.map +1 -1
  61. package/dist/hdhr/udp.d.ts +11 -4
  62. package/dist/hdhr/udp.js +25 -20
  63. package/dist/hdhr/udp.js.map +1 -1
  64. package/dist/index.js +16 -143
  65. package/dist/index.js.map +1 -1
  66. package/dist/native/index.d.ts +1 -1
  67. package/dist/native/index.js +4 -3
  68. package/dist/native/index.js.map +1 -1
  69. package/dist/native/proxy.d.ts +1 -1
  70. package/dist/native/proxy.js +36 -28
  71. package/dist/native/proxy.js.map +1 -1
  72. package/dist/routes/cdp.d.ts +7 -6
  73. package/dist/routes/cdp.js +9 -8
  74. package/dist/routes/cdp.js.map +1 -1
  75. package/dist/routes/components.d.ts +23 -5
  76. package/dist/routes/components.js +21 -4
  77. package/dist/routes/components.js.map +1 -1
  78. package/dist/routes/config/channels/endpoints/browse.js +39 -29
  79. package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
  80. package/dist/routes/config/channels/endpoints/bulk.js +2 -6
  81. package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
  82. package/dist/routes/config/channels/endpoints/predefined.js +5 -15
  83. package/dist/routes/config/channels/endpoints/predefined.js.map +1 -1
  84. package/dist/routes/config/channels/endpoints/prefs.js +7 -6
  85. package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
  86. package/dist/routes/config/channels/endpoints/service.js +6 -5
  87. package/dist/routes/config/channels/endpoints/service.js.map +1 -1
  88. package/dist/routes/config/channels/endpoints/tags.js +4 -16
  89. package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
  90. package/dist/routes/config/channels/table.d.ts +2 -1
  91. package/dist/routes/config/channels/table.js +11 -13
  92. package/dist/routes/config/channels/table.js.map +1 -1
  93. package/dist/routes/config/http/envelope.d.ts +6 -3
  94. package/dist/routes/config/http/envelope.js +18 -5
  95. package/dist/routes/config/http/envelope.js.map +1 -1
  96. package/dist/routes/config/index.d.ts +21 -13
  97. package/dist/routes/config/index.js +47 -34
  98. package/dist/routes/config/index.js.map +1 -1
  99. package/dist/routes/config/settings.d.ts +43 -6
  100. package/dist/routes/config/settings.js +225 -125
  101. package/dist/routes/config/settings.js.map +1 -1
  102. package/dist/routes/config/vocabulary.d.ts +24 -0
  103. package/dist/routes/config/vocabulary.js +33 -0
  104. package/dist/routes/config/vocabulary.js.map +1 -0
  105. package/dist/routes/debug.js +28 -13
  106. package/dist/routes/debug.js.map +1 -1
  107. package/dist/routes/root/content.js +33 -26
  108. package/dist/routes/root/content.js.map +1 -1
  109. package/dist/routes/root/scripts/channels.js +23 -11
  110. package/dist/routes/root/scripts/channels.js.map +1 -1
  111. package/dist/routes/root/scripts/config.d.ts +1 -1
  112. package/dist/routes/root/scripts/config.js +127 -79
  113. package/dist/routes/root/scripts/config.js.map +1 -1
  114. package/dist/routes/root/scripts/shared.js +34 -23
  115. package/dist/routes/root/scripts/shared.js.map +1 -1
  116. package/dist/routes/root/scripts/status.handlers.d.ts +8 -13
  117. package/dist/routes/root/scripts/status.handlers.js +35 -21
  118. package/dist/routes/root/scripts/status.handlers.js.map +1 -1
  119. package/dist/routes/root/styles.js +13 -16
  120. package/dist/routes/root/styles.js.map +1 -1
  121. package/dist/routes/services.js +12 -16
  122. package/dist/routes/services.js.map +1 -1
  123. package/dist/routes/theme.js +12 -12
  124. package/dist/routes/theme.js.map +1 -1
  125. package/dist/routes/ui.d.ts +4 -3
  126. package/dist/routes/ui.js +17 -13
  127. package/dist/routes/ui.js.map +1 -1
  128. package/dist/service/generators.js +12 -9
  129. package/dist/service/generators.js.map +1 -1
  130. package/dist/streaming/captureSession.d.ts +4 -4
  131. package/dist/streaming/captureSession.js +6 -7
  132. package/dist/streaming/captureSession.js.map +1 -1
  133. package/dist/streaming/codec.d.ts +12 -2
  134. package/dist/streaming/codec.js +40 -28
  135. package/dist/streaming/codec.js.map +1 -1
  136. package/dist/streaming/fmp4Segmenter.d.ts +14 -4
  137. package/dist/streaming/fmp4Segmenter.js +99 -79
  138. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  139. package/dist/streaming/hls.d.ts +21 -14
  140. package/dist/streaming/hls.js +148 -122
  141. package/dist/streaming/hls.js.map +1 -1
  142. package/dist/streaming/hlsResume.d.ts +36 -13
  143. package/dist/streaming/hlsResume.js +68 -37
  144. package/dist/streaming/hlsResume.js.map +1 -1
  145. package/dist/streaming/monitor.d.ts +5 -3
  146. package/dist/streaming/monitor.js +47 -37
  147. package/dist/streaming/monitor.js.map +1 -1
  148. package/dist/streaming/mp4Parser.d.ts +29 -4
  149. package/dist/streaming/mp4Parser.js +49 -7
  150. package/dist/streaming/mp4Parser.js.map +1 -1
  151. package/dist/streaming/playlistBuilder.d.ts +1 -2
  152. package/dist/streaming/playlistBuilder.js +2 -3
  153. package/dist/streaming/playlistBuilder.js.map +1 -1
  154. package/dist/streaming/preroll.d.ts +43 -16
  155. package/dist/streaming/preroll.js +112 -62
  156. package/dist/streaming/preroll.js.map +1 -1
  157. package/dist/streaming/pretune.d.ts +2 -2
  158. package/dist/streaming/pretune.js +11 -7
  159. package/dist/streaming/pretune.js.map +1 -1
  160. package/dist/streaming/recovery.d.ts +29 -2
  161. package/dist/streaming/recovery.js +43 -4
  162. package/dist/streaming/recovery.js.map +1 -1
  163. package/dist/streaming/registry.d.ts +13 -10
  164. package/dist/streaming/registry.js +6 -5
  165. package/dist/streaming/registry.js.map +1 -1
  166. package/dist/streaming/setup.d.ts +29 -20
  167. package/dist/streaming/setup.js +181 -170
  168. package/dist/streaming/setup.js.map +1 -1
  169. package/dist/streaming/showInfo.d.ts +24 -12
  170. package/dist/streaming/showInfo.js +120 -113
  171. package/dist/streaming/showInfo.js.map +1 -1
  172. package/dist/streaming/statusEmitter.d.ts +15 -10
  173. package/dist/streaming/statusEmitter.js +24 -20
  174. package/dist/streaming/statusEmitter.js.map +1 -1
  175. package/dist/types/config.d.ts +24 -13
  176. package/dist/types/config.js +5 -1
  177. package/dist/types/config.js.map +1 -1
  178. package/dist/types/index.d.ts +3 -2
  179. package/dist/types/index.js +2 -1
  180. package/dist/types/index.js.map +1 -1
  181. package/dist/types/profiles.d.ts +2 -2
  182. package/dist/types/selection.d.ts +12 -10
  183. package/dist/types/streaming.d.ts +12 -5
  184. package/dist/types/streaming.js +12 -5
  185. package/dist/types/streaming.js.map +1 -1
  186. package/dist/utils/debugFilter.d.ts +3 -2
  187. package/dist/utils/debugFilter.js +7 -5
  188. package/dist/utils/debugFilter.js.map +1 -1
  189. package/dist/{hdhr → utils}/deviceId.d.ts +1 -1
  190. package/dist/{hdhr → utils}/deviceId.js +11 -29
  191. package/dist/utils/deviceId.js.map +1 -0
  192. package/dist/utils/errors.d.ts +7 -0
  193. package/dist/utils/errors.js +12 -3
  194. package/dist/utils/errors.js.map +1 -1
  195. package/dist/utils/fileLogger.d.ts +23 -12
  196. package/dist/utils/fileLogger.js +73 -41
  197. package/dist/utils/fileLogger.js.map +1 -1
  198. package/dist/utils/httpErrors.d.ts +13 -0
  199. package/dist/utils/httpErrors.js +22 -0
  200. package/dist/utils/httpErrors.js.map +1 -0
  201. package/dist/utils/index.d.ts +3 -0
  202. package/dist/utils/index.js +3 -0
  203. package/dist/utils/index.js.map +1 -1
  204. package/dist/utils/logger.d.ts +9 -8
  205. package/dist/utils/logger.js +64 -20
  206. package/dist/utils/logger.js.map +1 -1
  207. package/dist/utils/markup.js +8 -3
  208. package/dist/utils/markup.js.map +1 -1
  209. package/dist/utils/plainObject.d.ts +6 -0
  210. package/dist/utils/plainObject.js +18 -0
  211. package/dist/utils/plainObject.js.map +1 -0
  212. package/dist/utils/runtimeIdentity.context.js +1 -29
  213. package/dist/utils/runtimeIdentity.context.js.map +1 -1
  214. package/dist/utils/runtimeIdentity.d.ts +17 -6
  215. package/dist/utils/runtimeIdentity.js +50 -17
  216. package/dist/utils/runtimeIdentity.js.map +1 -1
  217. package/package.json +5 -5
  218. package/dist/hdhr/deviceId.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { EvaluateTimeoutError, LOG, capitalize, formatError, formatResolution, getAbortSignal, isPageDeathError, isSessionClosedError, runWithStreamContext, startTimer } from "../utils/index.js";
2
- import { RECOVERY_METHODS, checkCircuitBreaker, classifyNativeSegmentHealth, computeNextRecoveryLevel, createRecoveryMetrics, deriveStreamHealth, describeResolutionOutcome, formatIssueType, formatRecoveryDuration, getIssueCategory, getIssueDescription, getRecoveryMethod, isResolutionDegraded, nextNativeIssueRecord, recordRecoveryAttempt, recordRecoverySuccess, resetCircuitBreaker, resolutionAreaRatio, shouldTriggerRecovery, updateResolutionPeak } from "./recovery.js";
2
+ import { RECOVERY_METHODS, TINY_SEGMENT_EVIDENCE_SECONDS, checkCircuitBreaker, classifyNativeSegmentHealth, computeNextRecoveryLevel, createRecoveryMetrics, deriveStreamHealth, deriveTinySegmentCountTrigger, deriveTinySegmentThresholdBytes, describeResolutionOutcome, formatIssueType, formatRecoveryDuration, getIssueCategory, getIssueDescription, getRecoveryMethod, isResolutionDegraded, nextNativeIssueRecord, recordRecoveryAttempt, recordRecoverySuccess, resetCircuitBreaker, resolutionAreaRatio, shouldTriggerRecovery, updateResolutionPeak } from "./recovery.js";
3
3
  import { applyNativeQualityRefresh, getLastSegmentHasVideo, getLastSegmentSize, getStream, getStreamMemoryUsage, getStreamSegmenter, isCaptureIdentity, isHardwareAccelerated, makePendingCaptureIdentity } from "./registry.js";
4
4
  import { applyVideoStyles, buildVideoSelectorType, checkVideoPresence, enforceVideoVolume, ensurePlayback, findVideoContext, getVideoState, tuneToChannel, validateVideoElement, verifyFullscreen } from "../browser/video.js";
5
- import { getCaptureImpairment, syncWindowVisibility } from "../browser/index.js";
5
+ import { getCaptureImpairment, reaffirmCaptureSurface, syncWindowVisibility } from "../browser/index.js";
6
6
  import { getEffectiveCaptureCodec, isCaptureHardwareAccelerated } from "./codec.js";
7
7
  import { CONFIG } from "../config/index.js";
8
8
  import { clearNativeInitState } from "./hlsSegments.js";
@@ -13,7 +13,6 @@ import { getClientSummary } from "./clients.js";
13
13
  import { getPresetViewport } from "../config/presets.js";
14
14
  import { getProviderBySlug } from "../browser/channelSelection.js";
15
15
  import { getShowName } from "./showInfo.js";
16
- import { reaffirmCaptureSurface } from "../browser/cdp.js";
17
16
  import { refreshNativeManifest } from "../native/index.js";
18
17
  import { systemClock } from "homebridge-plugin-utils";
19
18
  const defaultMonitorDeps = { clock: systemClock, getCaptureImpairment, getEffectiveCaptureCodec, isCaptureHardwareAccelerated, syncWindowVisibility };
@@ -38,8 +37,8 @@ const defaultMonitorDeps = { clock: systemClock, getCaptureImpairment, getEffect
38
37
  * @param streamInfo - Stream metadata for status updates.
39
38
  * @param onCircuitBreak - Callback function called when circuit breaker trips.
40
39
  * @param onTabReplacement - Optional callback for tab replacement recovery. When provided and 3+ consecutive timeouts occur, this is called to replace the hung tab.
41
- * If null/undefined, tab replacement is not available; sustained evaluate timeouts are only surfaced via status (lastIssueType) with no
42
- * automatic recovery escalation.
40
+ * When no handler is supplied, or the browser is marked as unable to start captures, a tab that stays unresponsive past three timeouts
41
+ * terminates the stream through the circuit breaker, because nothing else can recover it.
43
42
  * @param deps - The injected browser-boundary collaborators; defaults to defaultMonitorDeps. Threaded so a test drives the ladder's availability decision and the
44
43
  * window sync without a live Chrome.
45
44
  * @returns A MonitorHandle exposing the live recovery metrics (getMetrics) and a self-contained dispose that stops the monitor's polling interval.
@@ -72,7 +71,8 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
72
71
  // for well-behaved sites like Hulu). On tick 2+ we escalate to !important priority to override sites that actively fight style changes. Reset to 0 when the
73
72
  // video fills the viewport again.
74
73
  let fullscreenReapplyCount = 0;
75
- // Flag indicating the cleanup function was called. When true, the next interval check will clear itself.
74
+ // The stopped marker. stopMonitoring raises it together with disposing the interval, and in-flight awaits read it so they apply nothing once the monitor has
75
+ // stopped.
76
76
  let intervalCleared = false;
77
77
  /* Serialization flag for the tick body. The interval fires on its schedule whether or not the previous tick's async body has settled, so without this a single
78
78
  * slow evaluate - bounded only by the evaluate timeout, seven and a half intervals long at the default cadence - stacks concurrent bodies that each mutate the
@@ -118,24 +118,30 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
118
118
  // Segment stall timeout (10 seconds). After L2/L3 recovery completes, if no new segments are produced within this window, the capture pipeline is considered
119
119
  // dead and we escalate directly to tab replacement. This catches the case where recovery reports success but the MediaRecorder/FFmpeg pipeline has silently died.
120
120
  const SEGMENT_STALL_TIMEOUT = 10000;
121
- // Tiny segment detection thresholds. Used for continuous segment size monitoring to detect dead capture pipelines. When video capture dies but audio continues,
122
- // segments contain only audio data. Audio is transcoded at a controlled bitrate (max 512Kbps), so audio-only segments are at most ~128KB for 2-second segments (the
123
- // default hls.segmentDuration). The 500KB threshold catches both dead captures (18 bytes) and audio-only captures while staying well below the smallest video preset
124
- // (480p/3Mbps ~ 750KB/segment, also a 2-second basis).
125
- // The default count trigger (10) requires roughly 20 seconds of consecutive tiny segments before action is taken, balancing responsiveness against false positives.
126
- const TINY_SEGMENT_THRESHOLD = 512000;
127
- const TINY_SEGMENT_COUNT_TRIGGER = 10;
128
- // Resolve the service-specific tiny segment count threshold once at monitor startup. Services with extended static content (e.g., Xfinity commercial
129
- // placeholders) set a higher value to tolerate longer periods of small segments without false positive tab replacements. Dead capture pipelines (segments with
130
- // no video trafs) always use TINY_SEGMENT_COUNT_TRIGGER regardless of this setting.
121
+ /* Tiny segment detection. A dead capture pipeline keeps emitting segments while the video element looks healthy - a few bytes each when capture has died
122
+ * outright, audio alone when only video has - so each new segment is measured against a floor stated as a rate and scaled to the stream's segment duration.
123
+ * The rate derives from the stream's video and audio bitrates, and the recovery module's floor constants state what that floor guarantees. A tab replacement
124
+ * is earned by TINY_SEGMENT_EVIDENCE_SECONDS of consecutive undersized segments, counted in whole segments of the stream's duration. The duration and the
125
+ * bitrates are the stream's own settings, which hold for its whole life, so a run of undersized segments is judged against the floor and the trigger the
126
+ * stream started with.
127
+ */
128
+ const { audioBitsPerSecond, segmentDuration: segmentDurationSeconds, videoBitsPerSecond } = streamInfo.settings;
129
+ const tinySegmentByteThreshold = deriveTinySegmentThresholdBytes({ audioBitsPerSecond, segmentDurationSeconds, videoBitsPerSecond });
130
+ const tinySegmentCountTrigger = deriveTinySegmentCountTrigger({ evidenceSeconds: TINY_SEGMENT_EVIDENCE_SECONDS, segmentDurationSeconds });
131
+ // Resolve the service-specific evidence window once at monitor startup. Services with extended static content (e.g., Xfinity commercial placeholders) state a
132
+ // longer window to tolerate small segments without false positive tab replacements. Dead capture pipelines (undersized segments with no video track) always
133
+ // use the default window regardless of this setting.
131
134
  const providerModule = streamInfo.serviceTag ? getProviderBySlug(streamInfo.serviceTag) : undefined;
132
- const providerTinySegmentThreshold = providerModule?.tinySegmentThreshold ?? TINY_SEGMENT_COUNT_TRIGGER;
135
+ const providerTinySegmentCountTrigger = deriveTinySegmentCountTrigger({
136
+ evidenceSeconds: providerModule?.tinySegmentEvidenceSeconds ?? TINY_SEGMENT_EVIDENCE_SECONDS,
137
+ segmentDurationSeconds
138
+ });
133
139
  // Segment staleness timeout. When no new segments have been produced for this duration, the capture pipeline is considered dead even though the video element may
134
140
  // appear healthy. This catches the case where Chrome's MediaRecorder silently stops emitting data without raising an error - the input stream stays "open" but no
135
141
  // data events fire. The 20-second threshold is 4x the maximum expected moof delivery interval (5 seconds) to avoid false positives during normal bursty delivery.
136
142
  const SEGMENT_STALENESS_TIMEOUT = 20000;
137
143
  // The capture surface: the size capture encodes at, reported beside the source's own size in the status the monitor emits. Read once for the monitor's lifetime,
138
- // because the quality preset is restart-gated and cannot change while a stream is running, so re-deriving it on every two-second tick would be work that can only
144
+ // because the quality preset is restart-gated and cannot change while a stream is running, so re-deriving it on every tick would be work that can only
139
145
  // ever produce the same answer.
140
146
  const presetViewport = getPresetViewport(CONFIG);
141
147
  // Resolution degradation detection. When the video element's intrinsic resolution falls well below the best the stream has delivered, the service's ABR is stuck
@@ -146,8 +152,8 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
146
152
  const RESOLUTION_RATIO_THRESHOLD = 1 / 3;
147
153
  // Grace period in milliseconds after stream start and after each recovery action. Gives ABR time to ramp up before flagging degradation.
148
154
  const RESOLUTION_GRACE_PERIOD = 30000;
149
- // Number of consecutive degraded readings required before triggering recovery. At ~2 seconds per monitor tick, 15 readings = ~30 seconds of sustained
150
- // degradation. This lets transient ABR dips (commercial breaks, ad transitions) self-heal without unnecessary page reloads.
155
+ // Number of consecutive degraded readings, one per monitor tick, required before triggering recovery. At the default monitor interval that is about 30 seconds
156
+ // of sustained degradation. This lets transient ABR dips (commercial breaks, ad transitions) self-heal without unnecessary page reloads.
151
157
  const RESOLUTION_DEGRADED_COUNT_THRESHOLD = 15;
152
158
  // Fixed margin in milliseconds before the maxContinuousPlayback limit at which a proactive reload is triggered. Two minutes provides enough time for page
153
159
  // navigation and video reinitialization to complete before the site enforces its cutoff.
@@ -215,9 +221,12 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
215
221
  peak: null,
216
222
  recoveryAttempt: 0
217
223
  };
224
+ // How long the current degradation has lasted, in seconds: the consecutive degraded readings times this stream's own monitor interval. The figure is a lower
225
+ // bound when a tick is skipped while a read is still outstanding, because a skipped tick takes no reading.
226
+ const degradedSeconds = () => Math.round((resolutionState.consecutiveDegradedReadings * streamInfo.settings.monitorInterval) / 1000);
218
227
  /**
219
228
  * Checks segment delivery health for native streams. Detects stalled streams by comparing the proxy's segment index and last segment timestamp against thresholds.
220
- * Recovery follows three escalation levels per the plan:
229
+ * Recovery escalates through these levels:
221
230
  *
222
231
  * - L1: Re-fetch manifest (handled by the proxy's internal retry loop - consecutive failures up to the threshold)
223
232
  * - L2: Reload page for fresh tokens (same mechanism as proactive token refresh, but triggered by segment staleness)
@@ -318,7 +327,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
318
327
  * Holds a native capture fallback at the decision site while the recovery grace window is open, reporting the stream as recovering instead of entering the
319
328
  * fallback cycle. Every native trigger - a relay that stopped itself on its error threshold, a stall the ladder has escalated to its last rung - describes a
320
329
  * condition that holds on every tick once it is true. Without this read the whole cycle - the mode pre-flip, the attempt, the revert, the window sync, the
321
- * warning - would run twice a second inside a window every other trigger is respecting. Nothing is lost by waiting, since neither condition is curing itself in
330
+ * warning - would run on every tick inside a window every other trigger is respecting. Nothing is lost by waiting, since neither condition is curing itself in
322
331
  * the meantime, and the status still goes out so the display keeps advancing. The replacement primitive's own entry gate stays the guarantee beneath this: a
323
332
  * gate here can be forgotten, that one cannot be bypassed.
324
333
  *
@@ -713,9 +722,9 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
713
722
  }
714
723
  /**
715
724
  * Reports whether the monitor is inside the post-recovery grace window. One state, read here by every consumer that has to honour it: the tick computes the
716
- * value it threads into the health checks from this, and the triggers that sit outside that thread - the tiny-segment gate, the unresponsive-tab gate, the
717
- * native fallback triggers through deferFallbackInsideGrace, and the replacement primitive's own entry gate - call it directly. A second way of asking the
718
- * same question is how a trigger ends up escalating inside a window every other trigger is respecting.
725
+ * value it threads into the health checks from this, which the tiny-segment and staleness gates read, and the triggers that sit outside that thread - the
726
+ * unresponsive-tab gate, the native fallback triggers through deferFallbackInsideGrace, and the replacement primitive's own entry gate - call it directly. A
727
+ * second way of asking the same question is how a trigger ends up escalating inside a window every other trigger is respecting.
719
728
  * @returns True while the grace window from the last recovery action is still open.
720
729
  */
721
730
  function isWithinRecoveryGrace() {
@@ -736,7 +745,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
736
745
  * terminateStream has already disposed this monitor; the resumption must then apply nothing at all - no grace window, no discontinuity mark, no context
737
746
  * adoption, no counter reset, no navigation-failure tally, no status emission - because each of those would describe a stream that is already gone.
738
747
  *
739
- * Releasing recoveryState.inProgress is this helper's own job for exactly that reason: all five callers raise the flag before their await and lower it on the
748
+ * Releasing recoveryState.inProgress is this helper's own job for exactly that reason: every caller raises the flag before its await and lowers it on the
740
749
  * way out, and the resumption they skip is where that lowering would otherwise have happened. executeTabReplacement is not one of them - its finally already
741
750
  * owns the release.
742
751
  * @returns True if the monitor stopped and the caller must apply nothing.
@@ -1129,17 +1138,17 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
1129
1138
  // A new segment was produced. Update the staleness tracker and check its size.
1130
1139
  segmentState.lastSegmentAdvanceTime = now;
1131
1140
  const segmentSize = getLastSegmentSize(sizeCheckEntry) ?? 0;
1132
- if (segmentSize < TINY_SEGMENT_THRESHOLD) {
1141
+ if (segmentSize < tinySegmentByteThreshold) {
1133
1142
  segmentState.consecutiveTinySegments++;
1134
1143
  segmentState.wasInTinyState = true;
1135
1144
  // Check track composition to determine the effective threshold. Dead capture pipelines produce audio-only segments (hasVideo=false) and always use the
1136
1145
  // default count for fast detection. Segments with video trafs present use the service-specific threshold, which may be higher for services with extended
1137
1146
  // static content (e.g., Xfinity commercial placeholders lasting several minutes).
1138
1147
  const hasVideo = getLastSegmentHasVideo(sizeCheckEntry);
1139
- const effectiveThreshold = (hasVideo === false) ? TINY_SEGMENT_COUNT_TRIGGER : providerTinySegmentThreshold;
1148
+ const effectiveThreshold = (hasVideo === false) ? tinySegmentCountTrigger : providerTinySegmentCountTrigger;
1140
1149
  LOG.debug("recovery:tracks", "Below-threshold segment: %d bytes, hasVideo=%s, consecutive=%d, threshold=%d.", segmentSize, String(hasVideo), segmentState.consecutiveTinySegments, effectiveThreshold);
1141
1150
  /* Act on sustained undersized segments, but not inside the post-recovery grace window. The grace term is what keeps a stream that a replacement did not
1142
- * cure from re-escalating every two seconds: a fresh capture needs its window to start producing real segments, and a stream still emitting tiny ones
1151
+ * cure from re-escalating on every tick: a fresh capture needs its window to start producing real segments, and a stream still emitting tiny ones
1143
1152
  * when the window closes will satisfy this again immediately. Suppressing the whole branch - the warning and the circuit-breaker fallback alongside the
1144
1153
  * replacement - is deliberate, and mirrors what the staleness branch below has always done with its own grace term. The counter keeps advancing
1145
1154
  * meanwhile, so the evidence is not lost, only the reaction is deferred.
@@ -1242,12 +1251,12 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
1242
1251
  // Escalation step 1: page reload. Forces the service's ABR to restart quality negotiation. Only triggers after sustained degradation
1243
1252
  // (RESOLUTION_DEGRADED_COUNT_THRESHOLD consecutive readings) to let transient ABR dips self-heal.
1244
1253
  if ((resolutionState.consecutiveDegradedReadings >= RESOLUTION_DEGRADED_COUNT_THRESHOLD) && (resolutionState.recoveryAttempt === 0)) {
1245
- const degradedDuration = resolutionState.consecutiveDegradedReadings * 2;
1246
- LOG.warn("Video resolution has been degraded for %ss (%s\u00d7%s against a %s\u00d7%s peak). Attempting recovery via %s.", String(degradedDuration), String(state.videoWidth), String(state.videoHeight), String(peak.width), String(peak.height), RECOVERY_METHODS.pageNavigation);
1254
+ LOG.warn("Video resolution has been degraded, so recovery will be attempted.", { degradedSeconds: degradedSeconds(), method: RECOVERY_METHODS.pageNavigation,
1255
+ peak: formatResolution(peak.width, peak.height), resolution: formatResolution(state.videoWidth, state.videoHeight) });
1247
1256
  recoveryState.inProgress = true;
1248
1257
  if (!isPageReloadAllowed()) {
1249
1258
  LOG.warn("Resolution recovery deferred - page navigation rate limit reached (%s in %s minutes).", CONFIG.playback.maxPageReloads, Math.round(CONFIG.playback.pageReloadWindow / 60000));
1250
- // Defer by pushing grace end forward to avoid re-triggering every 2 seconds.
1259
+ // Defer by pushing grace end forward to avoid re-triggering on every tick.
1251
1260
  resolutionState.graceEnd = now + RESOLUTION_GRACE_PERIOD;
1252
1261
  recoveryState.inProgress = false;
1253
1262
  emitStatusUpdate();
@@ -1289,8 +1298,8 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
1289
1298
  // Escalation step 2: tab replacement. Creates a fresh page with new capture pipeline and network connections.
1290
1299
  if ((resolutionState.consecutiveDegradedReadings >= RESOLUTION_DEGRADED_COUNT_THRESHOLD) && (resolutionState.recoveryAttempt === 1)) {
1291
1300
  if (canReplaceTab()) {
1292
- const degradedDuration = resolutionState.consecutiveDegradedReadings * 2;
1293
- LOG.warn("Video resolution is still degraded after %ss (%s\u00d7%s). Attempting recovery via %s.", String(degradedDuration), String(state.videoWidth), String(state.videoHeight), RECOVERY_METHODS.tabReplacement);
1301
+ LOG.warn("Video resolution is still degraded, so recovery will be attempted again.", { degradedSeconds: degradedSeconds(),
1302
+ method: RECOVERY_METHODS.tabReplacement, resolution: formatResolution(state.videoWidth, state.videoHeight) });
1294
1303
  await executeTabReplacement("resolution degraded");
1295
1304
  resolutionState.consecutiveDegradedReadings = 0;
1296
1305
  resolutionState.recoveryAttempt = 2;
@@ -1340,7 +1349,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
1340
1349
  // yield. If the site eventually cuts the stream, normal error recovery handles it.
1341
1350
  if (!isPageReloadAllowed()) {
1342
1351
  LOG.warn("Proactive reload deferred - page navigation rate limit reached (%s in %s minutes).", CONFIG.playback.maxPageReloads, Math.round(CONFIG.playback.pageReloadWindow / 60000));
1343
- // Set a grace period so this deferral does not re-trigger every 2 seconds while the rate limit remains in effect. Level 3 is the bound a page navigation
1352
+ // Set a grace period so this deferral does not re-trigger on every tick while the rate limit remains in effect. Level 3 is the bound a page navigation
1344
1353
  // would have taken, which is the action being deferred.
1345
1354
  setRecoveryGracePeriod(3);
1346
1355
  recoveryState.inProgress = false;
@@ -1789,7 +1798,8 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
1789
1798
  const healthyDuration = now - recoveryState.lastRecoveryTime;
1790
1799
  if ((recoveryState.escalationLevel > 0) && (healthyDuration > CONFIG.playback.sustainedPlaybackRequired)) {
1791
1800
  // Clear buffering state. The bufferingStartTime may persist through recovery cycles due to networkState === 2 (NETWORK_LOADING) being true for live streams
1792
- // even during healthy playback. Since we have confirmed 60 seconds of progression, the stream is definitively not buffering.
1801
+ // even during healthy playback. The stream has gone sustainedPlaybackRequired (60 seconds by default) since its last recovery attempt and is progressing
1802
+ // on this tick, so it is not buffering.
1793
1803
  bufferingStartTime = null;
1794
1804
  // Reset escalation, failure counters, segment tracking, and circuit breaker. Sustained healthy playback confirms the stream works, so we clear every
1795
1805
  // failure tally for a true fresh start. Without resetting the counters here, a stale consecutiveNavigationFailures count could carry across the healthy
@@ -1870,7 +1880,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
1870
1880
  // Log errors that escape the inner try/catch. In normal operation we should not reach here - if we do, there's a bug to investigate.
1871
1881
  LOG.warn("Monitor tick error escaped inner try/catch: %s.", formatError(outerError));
1872
1882
  }));
1873
- }, CONFIG.playback.monitorInterval, { repeat: true });
1883
+ }, streamInfo.settings.monitorInterval, { repeat: true });
1874
1884
  /* The monitor's teardown: mark the interval cleared (so any in-flight async tick short-circuits) and clear it. Self-contained - it owns only the interval. Defined
1875
1885
  * as a const so it is exposed as both dispose() and [Symbol.dispose].
1876
1886
  */
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/streaming/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/streaming/monitor.ts"],"names":[],"mappings":"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"}
@@ -34,9 +34,10 @@ export declare function createMP4BoxParser(onBox: MP4BoxCallback): MP4BoxParser;
34
34
  export declare function iterateChildBoxes(data: Buffer, callback: (type: string, data: Buffer, offset: number, size: number) => void): void;
35
35
  /**
36
36
  * Detects whether a moof box starts with a keyframe (sync sample) by examining the sample flags of the first sample in each trun box. The detection inspects all traf
37
- * boxes within the moof to handle multi-track containers (e.g., separate audio and video tracks). A non-keyframe signal from any traf (sample_depends_on === 1) takes
38
- * precedence because audio tracks are always independently decodable - the only source of sample_depends_on === 1 is a non-keyframe video track. This avoids needing
39
- * to map track IDs back to the moov box's codec metadata.
37
+ * boxes within the moof to handle multi-track containers (e.g., separate audio and video tracks). A non-keyframe signal from any traf - a first sample that
38
+ * evaluateSampleFlags classifies as non-sync, whether from sample_depends_on === 1 or from the sample_is_non_sync_sample bit - takes precedence, on the assumption
39
+ * that audio tracks never set either one, so the only source of the signal is a non-keyframe video track. This avoids needing to map track IDs back to the moov
40
+ * box's codec metadata.
40
41
  *
41
42
  * The function checks three flag sources in priority order per the ISO 14496-12 spec: trun first_sample_flags (0x004), trun per-sample flags (0x400), and tfhd
42
43
  * default_sample_flags (0x020).
@@ -56,7 +57,9 @@ export interface OffsetTrackResult {
56
57
  /**
57
58
  * Applies a constant per-track offset to Chrome's original tfdt.baseMediaDecodeTime values. Reads Chrome's original tfdt, adds the per-track offset, and writes back.
58
59
  * During normal playback the offset is 0 (pure pass-through of Chrome's wall-clock-based timestamps). At tab replacement boundaries the offset bridges the PTS
59
- * discontinuity - it is computed once per track from the difference between the previous segmenter's "next expected" value and Chrome's new starting tfdt.
60
+ * discontinuity. The caller computes it once per track from the shared timeline position computeTimelinePosition derives, so the tracks share one reference, and
61
+ * falls back to the per-track difference between the previous segmenter's "next expected" value and Chrome's new starting tfdt (offset = initialTrackTimestamp -
62
+ * originalTfdt) when the timescales are unavailable.
60
63
  *
61
64
  * This approach preserves Chrome's inter-track synchronization. Chrome uses wall-clock-based timestamps that keep audio and video aligned regardless of frame drops.
62
65
  *
@@ -93,6 +96,28 @@ export interface MoovTrackInfo {
93
96
  * @returns Map from track_ID to track info. Only includes tracks where the track ID, timescale, and handler type were all successfully extracted.
94
97
  */
95
98
  export declare function parseMoovTrackInfo(moovData: Buffer): Map<number, MoovTrackInfo>;
99
+ /**
100
+ * Extracts per-track metadata from an init segment, the ftyp box followed by the moov box. The box parser walks the segment's top-level boxes to find the moov,
101
+ * which parseMoovTrackInfo then reads; handed the whole init segment, parseMoovTrackInfo would read the ftyp's header as its parent's and find no track.
102
+ * @param initSegment - The init segment buffer.
103
+ * @returns Map from track_ID to track info, or an empty map when the buffer carries no complete moov box.
104
+ */
105
+ export declare function parseInitSegmentTrackInfo(initSegment: Buffer): Map<number, MoovTrackInfo>;
106
+ /**
107
+ * Options for converting per-track decode-time counters into one timeline position.
108
+ */
109
+ export interface TimelinePositionOptions {
110
+ timescales: ReadonlyMap<number, number>;
111
+ trackTimestamps: ReadonlyMap<number, bigint>;
112
+ }
113
+ /**
114
+ * Converts per-track decode-time counters into one position on the timeline the tracks share, in seconds: each counter over its track's timescale, averaged
115
+ * across the tracks that carry both. A continuing segmenter derives every track's offset from this one position, so the tracks share a reference rather than
116
+ * freezing the jitter between them, and the resume line reports the same position from the counters a previous session persisted.
117
+ * @param options - The tracks' timescales and counters.
118
+ * @returns The position in seconds, or null when no track carries both a counter and a positive timescale.
119
+ */
120
+ export declare function computeTimelinePosition(options: TimelinePositionOptions): Nullable<number>;
96
121
  /**
97
122
  * Video codec configuration extracted from the avcC box inside the moov. These are the parameters Chrome's MediaRecorder used to encode the video, needed to match
98
123
  * the preroll's FFmpeg encoding so CDVR's transcoder sees consistent codec parameters across the preroll-to-real DISCONTINUITY boundary.