prismcast 1.4.2 → 1.5.1

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 (189) hide show
  1. package/dist/app.js +36 -1
  2. package/dist/app.js.map +1 -1
  3. package/dist/browser/cdp.d.ts +2 -1
  4. package/dist/browser/cdp.js +44 -23
  5. package/dist/browser/cdp.js.map +1 -1
  6. package/dist/browser/channelSelection.d.ts +45 -1
  7. package/dist/browser/channelSelection.js +165 -27
  8. package/dist/browser/channelSelection.js.map +1 -1
  9. package/dist/browser/display.d.ts +0 -4
  10. package/dist/browser/display.js +0 -7
  11. package/dist/browser/display.js.map +1 -1
  12. package/dist/browser/index.d.ts +5 -0
  13. package/dist/browser/index.js +14 -0
  14. package/dist/browser/index.js.map +1 -1
  15. package/dist/browser/precaching.d.ts +5 -0
  16. package/dist/browser/precaching.js +116 -0
  17. package/dist/browser/precaching.js.map +1 -0
  18. package/dist/browser/tuning/directv.d.ts +2 -0
  19. package/dist/browser/tuning/directv.js +773 -0
  20. package/dist/browser/tuning/directv.js.map +1 -0
  21. package/dist/browser/tuning/fox.d.ts +2 -2
  22. package/dist/browser/tuning/fox.js +141 -22
  23. package/dist/browser/tuning/fox.js.map +1 -1
  24. package/dist/browser/tuning/hbo.d.ts +2 -2
  25. package/dist/browser/tuning/hbo.js +110 -41
  26. package/dist/browser/tuning/hbo.js.map +1 -1
  27. package/dist/browser/tuning/hulu.d.ts +2 -2
  28. package/dist/browser/tuning/hulu.js +442 -168
  29. package/dist/browser/tuning/hulu.js.map +1 -1
  30. package/dist/browser/tuning/sling.d.ts +2 -2
  31. package/dist/browser/tuning/sling.js +200 -56
  32. package/dist/browser/tuning/sling.js.map +1 -1
  33. package/dist/browser/tuning/spectrum.d.ts +2 -0
  34. package/dist/browser/tuning/spectrum.js +410 -0
  35. package/dist/browser/tuning/spectrum.js.map +1 -0
  36. package/dist/browser/tuning/youtubeTv.d.ts +2 -2
  37. package/dist/browser/tuning/youtubeTv.js +243 -57
  38. package/dist/browser/tuning/youtubeTv.js.map +1 -1
  39. package/dist/browser/video.d.ts +1 -1
  40. package/dist/browser/video.js +4 -2
  41. package/dist/browser/video.js.map +1 -1
  42. package/dist/channels/index.js +425 -34
  43. package/dist/channels/index.js.map +1 -1
  44. package/dist/config/health.d.ts +78 -0
  45. package/dist/config/health.js +202 -0
  46. package/dist/config/health.js.map +1 -0
  47. package/dist/config/paths.d.ts +15 -0
  48. package/dist/config/paths.js +21 -0
  49. package/dist/config/paths.js.map +1 -1
  50. package/dist/config/profiles.d.ts +6 -4
  51. package/dist/config/profiles.js +65 -14
  52. package/dist/config/profiles.js.map +1 -1
  53. package/dist/config/providerPacks.d.ts +46 -0
  54. package/dist/config/providerPacks.js +200 -0
  55. package/dist/config/providerPacks.js.map +1 -0
  56. package/dist/config/providers.d.ts +36 -3
  57. package/dist/config/providers.js +173 -9
  58. package/dist/config/providers.js.map +1 -1
  59. package/dist/config/sites.d.ts +1 -12
  60. package/dist/config/sites.js +50 -5
  61. package/dist/config/sites.js.map +1 -1
  62. package/dist/config/userChannels.d.ts +35 -2
  63. package/dist/config/userChannels.js +109 -17
  64. package/dist/config/userChannels.js.map +1 -1
  65. package/dist/config/userConfig.d.ts +5 -1
  66. package/dist/config/userConfig.js +58 -6
  67. package/dist/config/userConfig.js.map +1 -1
  68. package/dist/config/userProfiles.d.ts +81 -0
  69. package/dist/config/userProfiles.js +424 -0
  70. package/dist/config/userProfiles.js.map +1 -0
  71. package/dist/routes/config/channels/index.d.ts +3 -0
  72. package/dist/routes/config/channels/index.js +3 -0
  73. package/dist/routes/config/channels/index.js.map +1 -0
  74. package/dist/routes/config/channels/routes.d.ts +6 -0
  75. package/dist/routes/config/channels/routes.js +799 -0
  76. package/dist/routes/config/channels/routes.js.map +1 -0
  77. package/dist/routes/config/channels/table.d.ts +46 -0
  78. package/dist/routes/config/channels/table.js +821 -0
  79. package/dist/routes/config/channels/table.js.map +1 -0
  80. package/dist/routes/config/index.d.ts +37 -0
  81. package/dist/routes/config/index.js +81 -0
  82. package/dist/routes/config/index.js.map +1 -0
  83. package/dist/routes/config/providers.d.ts +18 -0
  84. package/dist/routes/config/providers.js +573 -0
  85. package/dist/routes/config/providers.js.map +1 -0
  86. package/dist/routes/config/settings.d.ts +39 -0
  87. package/dist/routes/config/settings.js +820 -0
  88. package/dist/routes/config/settings.js.map +1 -0
  89. package/dist/routes/index.d.ts +3 -2
  90. package/dist/routes/index.js +7 -4
  91. package/dist/routes/index.js.map +1 -1
  92. package/dist/routes/playlist.d.ts +5 -1
  93. package/dist/routes/playlist.js +32 -7
  94. package/dist/routes/playlist.js.map +1 -1
  95. package/dist/routes/providers.d.ts +6 -0
  96. package/dist/routes/providers.js +166 -0
  97. package/dist/routes/providers.js.map +1 -0
  98. package/dist/routes/root/content.d.ts +32 -0
  99. package/dist/routes/root/content.js +860 -0
  100. package/dist/routes/root/content.js.map +1 -0
  101. package/dist/routes/root/index.js +197 -0
  102. package/dist/routes/root/index.js.map +1 -0
  103. package/dist/routes/root/scripts/channels.d.ts +1 -0
  104. package/dist/routes/root/scripts/channels.js +745 -0
  105. package/dist/routes/root/scripts/channels.js.map +1 -0
  106. package/dist/routes/root/scripts/config.d.ts +1 -0
  107. package/dist/routes/root/scripts/config.js +1686 -0
  108. package/dist/routes/root/scripts/config.js.map +1 -0
  109. package/dist/routes/root/scripts/index.d.ts +3 -0
  110. package/dist/routes/root/scripts/index.js +8 -0
  111. package/dist/routes/root/scripts/index.js.map +1 -0
  112. package/dist/routes/root/scripts/status.d.ts +1 -0
  113. package/dist/routes/root/scripts/status.js +436 -0
  114. package/dist/routes/root/scripts/status.js.map +1 -0
  115. package/dist/routes/root/styles.d.ts +5 -0
  116. package/dist/routes/root/styles.js +442 -0
  117. package/dist/routes/root/styles.js.map +1 -0
  118. package/dist/routes/ui.js +8 -3
  119. package/dist/routes/ui.js.map +1 -1
  120. package/dist/service/commands.d.ts +5 -3
  121. package/dist/service/commands.js +117 -33
  122. package/dist/service/commands.js.map +1 -1
  123. package/dist/service/generators.d.ts +27 -0
  124. package/dist/service/generators.js +97 -6
  125. package/dist/service/generators.js.map +1 -1
  126. package/dist/streaming/fmp4Segmenter.js +2 -2
  127. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  128. package/dist/streaming/hls.js +29 -1
  129. package/dist/streaming/hls.js.map +1 -1
  130. package/dist/streaming/hlsResume.d.ts +41 -0
  131. package/dist/streaming/hlsResume.js +153 -0
  132. package/dist/streaming/hlsResume.js.map +1 -0
  133. package/dist/streaming/hlsSegments.d.ts +6 -0
  134. package/dist/streaming/hlsSegments.js +8 -0
  135. package/dist/streaming/hlsSegments.js.map +1 -1
  136. package/dist/streaming/lifecycle.js +1 -1
  137. package/dist/streaming/lifecycle.js.map +1 -1
  138. package/dist/streaming/monitor.d.ts +1 -38
  139. package/dist/streaming/monitor.js +20 -307
  140. package/dist/streaming/monitor.js.map +1 -1
  141. package/dist/streaming/recovery.d.ts +143 -0
  142. package/dist/streaming/recovery.js +286 -0
  143. package/dist/streaming/recovery.js.map +1 -0
  144. package/dist/streaming/registry.d.ts +1 -1
  145. package/dist/streaming/setup.d.ts +1 -1
  146. package/dist/streaming/setup.js +3 -1
  147. package/dist/streaming/setup.js.map +1 -1
  148. package/dist/streaming/statusEmitter.d.ts +4 -2
  149. package/dist/streaming/statusEmitter.js +5 -0
  150. package/dist/streaming/statusEmitter.js.map +1 -1
  151. package/dist/types/channels.d.ts +68 -0
  152. package/dist/types/channels.js +2 -0
  153. package/dist/types/channels.js.map +1 -0
  154. package/dist/types/config.d.ts +127 -0
  155. package/dist/types/config.js +2 -0
  156. package/dist/types/config.js.map +1 -0
  157. package/dist/types/index.d.ts +7 -429
  158. package/dist/types/index.js +1 -5
  159. package/dist/types/index.js.map +1 -1
  160. package/dist/types/profiles.d.ts +143 -0
  161. package/dist/types/profiles.js +2 -0
  162. package/dist/types/profiles.js.map +1 -0
  163. package/dist/types/selection.d.ts +102 -0
  164. package/dist/types/selection.js +6 -0
  165. package/dist/types/selection.js.map +1 -0
  166. package/dist/types/shared.d.ts +7 -0
  167. package/dist/types/shared.js +6 -0
  168. package/dist/types/shared.js.map +1 -0
  169. package/dist/types/streaming.d.ts +96 -0
  170. package/dist/types/streaming.js +2 -0
  171. package/dist/types/streaming.js.map +1 -0
  172. package/dist/utils/debugFilter.js +4 -1
  173. package/dist/utils/debugFilter.js.map +1 -1
  174. package/dist/utils/format.d.ts +7 -0
  175. package/dist/utils/format.js +22 -0
  176. package/dist/utils/format.js.map +1 -1
  177. package/dist/utils/index.d.ts +1 -0
  178. package/dist/utils/index.js +1 -0
  179. package/dist/utils/index.js.map +1 -1
  180. package/dist/utils/sanitize.d.ts +14 -0
  181. package/dist/utils/sanitize.js +37 -0
  182. package/dist/utils/sanitize.js.map +1 -0
  183. package/package.json +5 -3
  184. package/dist/routes/config.d.ts +0 -76
  185. package/dist/routes/config.js +0 -2187
  186. package/dist/routes/config.js.map +0 -1
  187. package/dist/routes/root.js +0 -3158
  188. package/dist/routes/root.js.map +0 -1
  189. /package/dist/routes/{root.d.ts → root/index.d.ts} +0 -0
@@ -6,10 +6,13 @@ import { deleteChannelStreamId, getChannelStreamId, isTerminationInitiated, setC
6
6
  import { emitCurrentSystemStatus, isLoginModeActive, unregisterManagedPage } from "../browser/index.js";
7
7
  import { getAllChannels, isPredefinedChannelDisabled } from "../config/userChannels.js";
8
8
  import { getInitSegment, getPlaylist, getSegment, waitForPlaylist } from "./hlsSegments.js";
9
- import { getResolvedChannel, resolveProviderKey } from "../config/providers.js";
9
+ import { getProviderTagForChannel, getResolvedChannel, resolveProviderKey } from "../config/providers.js";
10
+ import { markChannelFailure, markChannelSuccess } from "../config/health.js";
10
11
  import { CONFIG } from "../config/index.js";
12
+ import { consumeResumeData } from "./hlsResume.js";
11
13
  import { createFMP4Segmenter } from "./fmp4Segmenter.js";
12
14
  import { createHash } from "node:crypto";
15
+ import { getProviderBySlug } from "../browser/channelSelection.js";
13
16
  import { registerClient } from "./clients.js";
14
17
  import { triggerShowNameUpdate } from "./showInfo.js";
15
18
  // Login mode error body used by both validateChannel() and handlePlayStream() to ensure consistent response format.
@@ -552,6 +555,12 @@ export async function initializeStream(options) {
552
555
  }, onCircuitBreak);
553
556
  }
554
557
  catch (error) {
558
+ // Mark channel health as failed. Only for predefined channels (channel is defined). Ad-hoc URL streams have no persistent channel identity.
559
+ if (channel) {
560
+ const failVariantKey = resolveProviderKey(channelName);
561
+ const failProviderTag = getProviderTagForChannel(failVariantKey);
562
+ markChannelFailure(channelName, failProviderTag);
563
+ }
555
564
  // Remove startup sentinel on failure and re-throw for the caller to handle error responses.
556
565
  deleteChannelStreamId(channelName);
557
566
  throw error;
@@ -584,8 +593,18 @@ export async function initializeStream(options) {
584
593
  streamIdStr: setup.streamId,
585
594
  url: setup.url
586
595
  });
596
+ // Check for resume data from a previous shutdown. If available, the segmenter will continue from the saved sequence numbers instead of starting at 0, preventing
597
+ // HLS sequence resets that cause Channels DVR to produce broken recording timelines.
598
+ const resumeData = consumeResumeData(channelName);
587
599
  // Create the native fMP4 segmenter to parse the MP4/AAC stream into HLS segments.
588
600
  const segmenter = createFMP4Segmenter({
601
+ ...(resumeData ? {
602
+ initialTrackTimestamps: resumeData.trackTimestamps,
603
+ pendingDiscontinuity: true,
604
+ previousInitSegment: resumeData.initSegment,
605
+ startingInitVersion: resumeData.initVersion,
606
+ startingSegmentIndex: resumeData.segmentIndex
607
+ } : {}),
589
608
  onError: (error) => {
590
609
  // Skip error handling if termination was already initiated.
591
610
  if (isTerminationInitiated(setup.numericStreamId)) {
@@ -622,6 +641,15 @@ export async function initializeStream(options) {
622
641
  const displayName = channel?.name ?? url;
623
642
  const tuneTime = ((Date.now() - setup.startTime.getTime()) / 1000).toFixed(1);
624
643
  LOG.info("Streaming %s (%s, %s). Tuned in %ss%s.", displayName, setup.profileName, captureMode, tuneTime, setup.directTune ? " (direct)" : "");
644
+ // Mark channel health as successful. Only for predefined channels (channel is defined). Ad-hoc URL streams have no persistent channel identity. Provider
645
+ // auth is conditionally skipped when the provider defines validateTune and the tuned channel does not prove paid access (e.g., Sling Freestream channels).
646
+ if (channel) {
647
+ const successVariantKey = resolveProviderKey(channelName);
648
+ const successProviderTag = getProviderTagForChannel(successVariantKey);
649
+ const provider = getProviderBySlug(successProviderTag);
650
+ const markAuth = !provider?.validateTune || provider.validateTune(channel.channelSelector ?? channelName);
651
+ markChannelSuccess(channelName, successProviderTag, markAuth);
652
+ }
625
653
  // Emit stream added event.
626
654
  emitStreamAdded(createInitialStreamStatus({
627
655
  channelName: channel?.name ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"hls.js","sourceRoot":"","sources":["../../src/streaming/hls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hls.js","sourceRoot":"","sources":["../../src/streaming/hls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { Nullable } from "../types/index.js";
2
+ /**
3
+ * Data collected from an active stream at shutdown, passed in by the shutdown handler.
4
+ */
5
+ export interface ResumeStreamData {
6
+ channelName: string;
7
+ initSegment: Nullable<Buffer>;
8
+ initVersion: number;
9
+ segmentIndex: number;
10
+ trackTimestamps: Map<number, bigint>;
11
+ }
12
+ /**
13
+ * Resume data returned to the caller for seeding a new segmenter.
14
+ */
15
+ export interface ResumeData {
16
+ initSegment: Nullable<Buffer>;
17
+ initVersion: number;
18
+ segmentIndex: number;
19
+ trackTimestamps: Map<number, bigint>;
20
+ }
21
+ /**
22
+ * Loads resume state from disk into memory. Called once at startup after config loading. The file is deleted immediately after reading — it only needs to exist
23
+ * between shutdown and the next startup. If the file is missing or corrupt, the map stays empty and all streams start at 0 (today's behavior).
24
+ */
25
+ export declare function loadResumeState(): void;
26
+ /**
27
+ * Consumes resume data for a channel. Returns the seeding parameters if the entry exists and is within TTL, or null if no resume data is available. The entry is
28
+ * removed from the in-memory map after consumption (each channel resumes at most once).
29
+ * @param channelName - The channel key to look up.
30
+ * @returns Resume data for seeding the segmenter, or null.
31
+ */
32
+ export declare function consumeResumeData(channelName: string): Nullable<ResumeData>;
33
+ /**
34
+ * Saves resume state to disk. Merges active stream data (always takes precedence for a given channel) with unconsumed in-memory entries still within TTL. This
35
+ * supports the rapid-restart scenario where a channel that never reconnected carries forward through multiple restart cycles.
36
+ *
37
+ * Called during graceful shutdown with data collected from active streams by the shutdown handler. The caller passes pre-collected stream data to avoid circular
38
+ * dependencies with the registry module.
39
+ * @param entries - Stream data collected from active streams at shutdown.
40
+ */
41
+ export declare function saveResumeState(entries: ResumeStreamData[]): void;
@@ -0,0 +1,153 @@
1
+ /* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
2
+ *
3
+ * hlsResume.ts: HLS sequence number persistence across restarts.
4
+ */
5
+ import { LOG, formatError } from "../utils/index.js";
6
+ import fs from "node:fs";
7
+ import { getResumeFilePath } from "../config/paths.js";
8
+ /* When PrismCast restarts mid-recording, HLS media sequences reset to 0. Channels DVR detects "Playlist reset to a lower sequence" and produces unpredictable
9
+ * timestamps in the recording. This module persists final sequence numbers at shutdown and seeds from them on restart so sequences always move forward.
10
+ *
11
+ * The data is only relevant for ~90 seconds after shutdown — just long enough for Channels DVR to reconnect. The file is written once at shutdown and deleted
12
+ * immediately after loading at the next startup.
13
+ */
14
+ // TTL for resume entries. Entries older than this are discarded on load.
15
+ const RESUME_TTL = 90_000;
16
+ // In-memory map of channel name to resume entry. Populated at startup, consumed as streams reconnect.
17
+ const resumeMap = new Map();
18
+ /**
19
+ * Loads resume state from disk into memory. Called once at startup after config loading. The file is deleted immediately after reading — it only needs to exist
20
+ * between shutdown and the next startup. If the file is missing or corrupt, the map stays empty and all streams start at 0 (today's behavior).
21
+ */
22
+ export function loadResumeState() {
23
+ const filePath = getResumeFilePath();
24
+ let raw;
25
+ try {
26
+ raw = fs.readFileSync(filePath, "utf-8");
27
+ }
28
+ catch {
29
+ // File does not exist — clean start.
30
+ return;
31
+ }
32
+ // Delete the file immediately. It has served its purpose.
33
+ try {
34
+ fs.unlinkSync(filePath);
35
+ }
36
+ catch {
37
+ // Non-fatal — the file will be overwritten on next shutdown.
38
+ }
39
+ let parsed;
40
+ try {
41
+ parsed = JSON.parse(raw);
42
+ }
43
+ catch {
44
+ LOG.warn("Corrupt hls-resume.json discarded.");
45
+ return;
46
+ }
47
+ const now = Date.now();
48
+ let loaded = 0;
49
+ for (const [channel, entry] of Object.entries(parsed)) {
50
+ // Discard entries that have exceeded the TTL.
51
+ if ((now - entry.timestamp) > RESUME_TTL) {
52
+ continue;
53
+ }
54
+ // Deserialize trackTimestamps from Record<string, string> to Map<number, bigint>.
55
+ const trackTimestamps = new Map();
56
+ for (const [key, value] of Object.entries(entry.trackTimestamps)) {
57
+ trackTimestamps.set(Number(key), BigInt(value));
58
+ }
59
+ // Deserialize initSegment from base64 string to Buffer.
60
+ const initSegment = entry.initSegment ? Buffer.from(entry.initSegment, "base64") : null;
61
+ resumeMap.set(channel, {
62
+ initSegment,
63
+ initVersion: entry.initVersion,
64
+ segmentIndex: entry.segmentIndex,
65
+ timestamp: entry.timestamp,
66
+ trackTimestamps
67
+ });
68
+ loaded++;
69
+ }
70
+ if (loaded > 0) {
71
+ LOG.info("Loaded HLS resume state for %d channel%s.", loaded, loaded === 1 ? "" : "s");
72
+ }
73
+ }
74
+ /**
75
+ * Consumes resume data for a channel. Returns the seeding parameters if the entry exists and is within TTL, or null if no resume data is available. The entry is
76
+ * removed from the in-memory map after consumption (each channel resumes at most once).
77
+ * @param channelName - The channel key to look up.
78
+ * @returns Resume data for seeding the segmenter, or null.
79
+ */
80
+ export function consumeResumeData(channelName) {
81
+ const entry = resumeMap.get(channelName);
82
+ if (!entry) {
83
+ return null;
84
+ }
85
+ // Remove the entry regardless of TTL check — expired entries should not linger.
86
+ resumeMap.delete(channelName);
87
+ // Check TTL again in case time has passed since loadResumeState().
88
+ if ((Date.now() - entry.timestamp) > RESUME_TTL) {
89
+ return null;
90
+ }
91
+ LOG.info("Resuming HLS sequence for '%s' from segment %d.", channelName, entry.segmentIndex);
92
+ return {
93
+ initSegment: entry.initSegment,
94
+ initVersion: entry.initVersion + 1,
95
+ segmentIndex: entry.segmentIndex,
96
+ trackTimestamps: entry.trackTimestamps
97
+ };
98
+ }
99
+ /**
100
+ * Serializes a resume entry for JSON persistence. Converts Map<number, bigint> to Record<string, string> and Buffer to base64.
101
+ */
102
+ function serializeEntry(initSegment, initVersion, segmentIndex, timestamp, trackTimestamps) {
103
+ const serializedTimestamps = {};
104
+ for (const [key, value] of trackTimestamps) {
105
+ serializedTimestamps[String(key)] = String(value);
106
+ }
107
+ return {
108
+ initSegment: initSegment ? initSegment.toString("base64") : null,
109
+ initVersion,
110
+ segmentIndex,
111
+ timestamp,
112
+ trackTimestamps: serializedTimestamps
113
+ };
114
+ }
115
+ /**
116
+ * Saves resume state to disk. Merges active stream data (always takes precedence for a given channel) with unconsumed in-memory entries still within TTL. This
117
+ * supports the rapid-restart scenario where a channel that never reconnected carries forward through multiple restart cycles.
118
+ *
119
+ * Called during graceful shutdown with data collected from active streams by the shutdown handler. The caller passes pre-collected stream data to avoid circular
120
+ * dependencies with the registry module.
121
+ * @param entries - Stream data collected from active streams at shutdown.
122
+ */
123
+ export function saveResumeState(entries) {
124
+ const now = Date.now();
125
+ const merged = new Map();
126
+ // Carry forward unconsumed entries that are still within TTL.
127
+ for (const [channel, entry] of resumeMap) {
128
+ if ((now - entry.timestamp) <= RESUME_TTL) {
129
+ merged.set(channel, serializeEntry(entry.initSegment, entry.initVersion, entry.segmentIndex, entry.timestamp, entry.trackTimestamps));
130
+ }
131
+ }
132
+ // Active stream data takes precedence over carried-forward entries.
133
+ for (const stream of entries) {
134
+ merged.set(stream.channelName, serializeEntry(stream.initSegment, stream.initVersion, stream.segmentIndex, now, stream.trackTimestamps));
135
+ }
136
+ // Nothing to save.
137
+ if (merged.size === 0) {
138
+ return;
139
+ }
140
+ // Convert the Map to a plain object for JSON serialization.
141
+ const obj = {};
142
+ for (const [channel, entry] of merged) {
143
+ obj[channel] = entry;
144
+ }
145
+ try {
146
+ fs.writeFileSync(getResumeFilePath(), JSON.stringify(obj), "utf-8");
147
+ LOG.info("Saved HLS resume state for %d channel%s.", merged.size, merged.size === 1 ? "" : "s");
148
+ }
149
+ catch (error) {
150
+ LOG.warn("Failed to save HLS resume state: %s.", formatError(error));
151
+ }
152
+ }
153
+ //# sourceMappingURL=hlsResume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hlsResume.js","sourceRoot":"","sources":["../../src/streaming/hlsResume.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,12 @@ export declare function storeSegment(streamId: number, filename: string, data: B
13
13
  * @returns The segment data, or undefined if not found.
14
14
  */
15
15
  export declare function getSegment(streamId: number, filename: string): Buffer | undefined;
16
+ /**
17
+ * Returns the number of media segments currently stored for a stream. Used by the segmenter to clamp the playlist window to segments that actually exist in storage.
18
+ * @param streamId - The numeric stream ID.
19
+ * @returns The number of stored segments, or 0 if the stream is not found.
20
+ */
21
+ export declare function getSegmentCount(streamId: number): number;
16
22
  /**
17
23
  * Stores the fMP4 initialization segment for a stream. The init segment contains codec configuration and is sent once at stream start. Unlike media segments, it is
18
24
  * retained for the entire stream lifetime (not subject to rotation).
@@ -58,6 +58,14 @@ export function getSegment(streamId, filename) {
58
58
  }
59
59
  return stream.hls.segments.get(filename);
60
60
  }
61
+ /**
62
+ * Returns the number of media segments currently stored for a stream. Used by the segmenter to clamp the playlist window to segments that actually exist in storage.
63
+ * @param streamId - The numeric stream ID.
64
+ * @returns The number of stored segments, or 0 if the stream is not found.
65
+ */
66
+ export function getSegmentCount(streamId) {
67
+ return getStream(streamId)?.hls.segments.size ?? 0;
68
+ }
61
69
  // Init Segment Management.
62
70
  /**
63
71
  * Stores the fMP4 initialization segment for a stream. The init segment contains codec configuration and is sent once at stream start. Unlike media segments, it is
@@ -1 +1 @@
1
- {"version":3,"file":"hlsSegments.js","sourceRoot":"","sources":["../../src/streaming/hlsSegments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AAEH,sBAAsB;AAEtB;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,QAAgB,EAAE,IAAY;IAE3E,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,mDAAmD,EAAE,QAAQ,CAAC,CAAC;QAE1F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAExC,kIAAkI;IAClI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE1D,8IAA8I;IAC9I,OAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAExD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QAE1D,IAAG,SAAS,KAAK,SAAS,EAAE,CAAC;YAE3B,MAAM;QACR,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAgB;IAE3D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,2BAA2B;AAE3B;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAAY;IAE7D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,wDAAwD,EAAE,QAAQ,CAAC,CAAC;QAE/F,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC;IAEpD,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IAE9B,+DAA+D;IAC/D,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAG,WAAW,EAAE,CAAC;QAEf,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAEpC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE9E,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAE7C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC;AAC7C,CAAC;AAED,uBAAuB;AAEvB;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IAE9D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,qDAAqD,EAAE,QAAQ,CAAC,CAAC;QAE5F,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;IAEnD,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;IAE9B,IAAG,eAAe,EAAE,CAAC;QAEnB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE9E,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,8BAA8B,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAE1C,OAAO,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAe;IAErE,OAAO,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAAe;IAExE,OAAO,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACxF,CAAC;AAED,oBAAoB;AAEpB;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,UAA0D,EAAE,OAAe;IAEvH,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QAEtD,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAEzD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAE,YAAY,EAAE,cAAc,CAAE,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"hlsSegments.js","sourceRoot":"","sources":["../../src/streaming/hlsSegments.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { LOG, formatDuration, formatError, getAbortController, unregisterAbortController } from "../utils/index.js";
2
2
  import { formatKeyframeStatsSummary, formatSessionStatsSummary } from "./fmp4Segmenter.js";
3
- import { formatRecoveryMetricsSummary, getTotalRecoveryAttempts } from "./monitor.js";
3
+ import { formatRecoveryMetricsSummary, getTotalRecoveryAttempts } from "./recovery.js";
4
4
  import { getStream, unregisterStream } from "./registry.js";
5
5
  import { clearClients } from "./clients.js";
6
6
  import { clearShowName } from "./showInfo.js";
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/streaming/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/streaming/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,6 @@
1
+ import type { RecoveryMetrics, TabReplacementResult } from "./recovery.js";
1
2
  import type { Frame, Page } from "puppeteer-core";
2
3
  import type { Nullable, ResolvedSiteProfile } from "../types/index.js";
3
- /**
4
- * Recovery metrics tracked throughout the stream's lifetime. Returned when the monitor stops for inclusion in termination logs.
5
- */
6
- export interface RecoveryMetrics {
7
- currentRecoveryStartTime: Nullable<number>;
8
- currentRecoveryMethod: Nullable<string>;
9
- pageNavigationAttempts: number;
10
- pageNavigationSuccesses: number;
11
- playUnmuteAttempts: number;
12
- playUnmuteSuccesses: number;
13
- sourceReloadAttempts: number;
14
- sourceReloadSuccesses: number;
15
- tabReplacementAttempts: number;
16
- tabReplacementSuccesses: number;
17
- totalRecoveryTimeMs: number;
18
- }
19
- /**
20
- * Gets the total number of recovery attempts across all methods. Iterates over ATTEMPT_FIELDS to sum all attempt counters, ensuring new recovery methods are
21
- * automatically included without code changes.
22
- * @param metrics - The recovery metrics object.
23
- * @returns Total recovery attempts.
24
- */
25
- export declare function getTotalRecoveryAttempts(metrics: RecoveryMetrics): number;
26
- /**
27
- * Formats the recovery metrics summary for the termination log. Uses the SUCCESS_FIELDS mapping to iterate over all recovery methods, eliminating hardcoded
28
- * checks for each method type. This ensures new recovery methods are automatically included in the summary.
29
- * @param metrics - The recovery metrics object.
30
- * @returns Formatted summary string, or empty string if no recoveries occurred.
31
- */
32
- export declare function formatRecoveryMetricsSummary(metrics: RecoveryMetrics): string;
33
- /**
34
- * Result from tab replacement recovery. When a browser tab becomes unresponsive (consecutive evaluate timeouts), the recovery handler closes the old tab, creates a
35
- * new one with fresh capture, and returns the new page and context. The monitor then updates its internal references to continue monitoring the new tab.
36
- */
37
- export interface TabReplacementResult {
38
- context: Frame | Page;
39
- page: Page;
40
- }
41
4
  /**
42
5
  * Monitors video playback health and attempts escalating recovery when issues are detected. This function runs on an interval, checking video state and triggering
43
6
  * increasingly aggressive recovery actions when playback stalls, pauses, or errors occur.