prismcast 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/cdp.js +1 -1
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +10 -34
- package/dist/browser/channelSelection.js +19 -96
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/display.d.ts +19 -0
- package/dist/browser/display.js +16 -11
- package/dist/browser/display.js.map +1 -1
- package/dist/browser/index.d.ts +9 -46
- package/dist/browser/index.js +136 -191
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/login.d.ts +65 -0
- package/dist/browser/login.js +193 -0
- package/dist/browser/login.js.map +1 -0
- package/dist/browser/precaching.js +12 -0
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tuning/comcastPolymer.d.ts +23 -0
- package/dist/browser/tuning/comcastPolymer.js +655 -0
- package/dist/browser/tuning/comcastPolymer.js.map +1 -0
- package/dist/browser/tuning/cox.d.ts +2 -0
- package/dist/browser/tuning/cox.js +14 -0
- package/dist/browser/tuning/cox.js.map +1 -0
- package/dist/browser/tuning/directv.js +1 -1
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.js +2 -2
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/hbo.js +1 -1
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.js +1 -1
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +46 -0
- package/dist/browser/tuning/shared.js +100 -0
- package/dist/browser/tuning/shared.js.map +1 -0
- package/dist/browser/tuning/sling.js +1 -1
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.js +1 -1
- package/dist/browser/tuning/spectrum.js.map +1 -1
- package/dist/browser/tuning/thumbnailRow.js +1 -1
- package/dist/browser/tuning/thumbnailRow.js.map +1 -1
- package/dist/browser/tuning/tileClick.js +1 -1
- package/dist/browser/tuning/tileClick.js.map +1 -1
- package/dist/browser/tuning/xfinity.js +10 -603
- package/dist/browser/tuning/xfinity.js.map +1 -1
- package/dist/browser/tuning/youtubeTv.js +1 -1
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +18 -0
- package/dist/browser/video.js +69 -107
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.d.ts +2 -2
- package/dist/channels/index.js +2075 -800
- package/dist/channels/index.js.map +1 -1
- package/dist/config/health.js +20 -2
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.js +29 -64
- package/dist/config/index.js.map +1 -1
- package/dist/config/providerPacks.js +4 -1
- package/dist/config/providerPacks.js.map +1 -1
- package/dist/config/providers.d.ts +12 -5
- package/dist/config/providers.js +110 -94
- package/dist/config/providers.js.map +1 -1
- package/dist/config/sites.js +15 -9
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +50 -2
- package/dist/config/userChannels.js +212 -10
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +1 -1
- package/dist/config/userConfig.js +2 -15
- package/dist/config/userConfig.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +1 -1
- package/dist/hdhr/channelMap.js +4 -4
- package/dist/hdhr/channelMap.js.map +1 -1
- package/dist/index.js +9 -15
- package/dist/index.js.map +1 -1
- package/dist/native/index.d.ts +3 -0
- package/dist/native/index.js +2 -1
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +4 -3
- package/dist/native/probe.js +36 -12
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +2 -0
- package/dist/native/proxy.js +369 -326
- package/dist/native/proxy.js.map +1 -1
- package/dist/routes/components.d.ts +43 -0
- package/dist/routes/components.js +122 -0
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +2 -2
- package/dist/routes/config/channels/index.js +1 -1
- package/dist/routes/config/channels/index.js.map +1 -1
- package/dist/routes/config/channels/routes.js +443 -65
- package/dist/routes/config/channels/routes.js.map +1 -1
- package/dist/routes/config/channels/table.d.ts +76 -0
- package/dist/routes/config/channels/table.js +352 -66
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/index.d.ts +1 -1
- package/dist/routes/config/index.js +1 -1
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/providers.d.ts +6 -6
- package/dist/routes/config/providers.js +69 -95
- package/dist/routes/config/providers.js.map +1 -1
- package/dist/routes/index.d.ts +0 -16
- package/dist/routes/index.js +0 -17
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/providers.js +106 -3
- package/dist/routes/providers.js.map +1 -1
- package/dist/routes/root/content.js +55 -38
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.js +2 -1
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.js +772 -312
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/config.js +596 -544
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +1 -0
- package/dist/routes/root/scripts/index.js +1 -0
- package/dist/routes/root/scripts/index.js.map +1 -1
- package/dist/routes/root/scripts/shared.d.ts +6 -0
- package/dist/routes/root/scripts/shared.js +391 -0
- package/dist/routes/root/scripts/shared.js.map +1 -0
- package/dist/routes/root/scripts/status.js +36 -21
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.js +113 -8
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/service/commands.js +2 -1
- package/dist/service/commands.js.map +1 -1
- package/dist/streaming/fmp4Segmenter.d.ts +2 -0
- package/dist/streaming/fmp4Segmenter.js +7 -4
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.js +269 -188
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +9 -3
- package/dist/streaming/hlsResume.js +13 -6
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +1 -2
- package/dist/streaming/hlsSegments.js +48 -46
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.js +8 -12
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.js +625 -585
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mpegts.js +1 -1
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/preroll.d.ts +40 -20
- package/dist/streaming/preroll.js +147 -86
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/recovery.d.ts +0 -6
- package/dist/streaming/recovery.js +0 -8
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +36 -9
- package/dist/streaming/registry.js +6 -9
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +1 -1
- package/dist/streaming/setup.js +44 -21
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +7 -6
- package/dist/streaming/showInfo.js +156 -36
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +14 -2
- package/dist/streaming/statusEmitter.js +22 -4
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +31 -0
- package/dist/types/config.d.ts +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +8 -3
- package/dist/types/selection.d.ts +1 -0
- package/dist/types/shared.d.ts +1 -1
- package/dist/utils/debugFilter.d.ts +0 -5
- package/dist/utils/debugFilter.js +5 -11
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +12 -0
- package/dist/utils/delay.js +20 -0
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/evaluate.js +6 -11
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.d.ts +13 -5
- package/dist/utils/ffmpeg.js +32 -11
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/format.d.ts +6 -0
- package/dist/utils/format.js +8 -0
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.js +1 -1
- package/dist/utils/logEmitter.js.map +1 -1
- package/dist/utils/retry.d.ts +15 -9
- package/dist/utils/retry.js +7 -23
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/timing.d.ts +5 -0
- package/dist/utils/timing.js +13 -0
- package/dist/utils/timing.js.map +1 -0
- package/dist/utils/version.js +2 -2
- package/dist/utils/version.js.map +1 -1
- package/package.json +5 -5
|
@@ -51,16 +51,6 @@ export function generateStatusScript() {
|
|
|
51
51
|
" return url;",
|
|
52
52
|
" }",
|
|
53
53
|
"}",
|
|
54
|
-
// Build channel display HTML with an optional logo image. When a logo URL is available, renders an img element with an onerror fallback that hides the
|
|
55
|
-
// image and reveals a text span. The logoClass and textClass parameters allow callers to apply context-specific sizing.
|
|
56
|
-
"function channelDisplayHtml(logoUrl, name, logoClass, textClass) {",
|
|
57
|
-
" if(logoUrl) {",
|
|
58
|
-
" return '<img src=\"' + logoUrl + '\" class=\"' + logoClass + '\" alt=\"' + name + '\" title=\"' + name + '\" ' +",
|
|
59
|
-
" 'onerror=\"this.style.display=\\'none\\';this.nextElementSibling.style.display=\\'inline\\'\">' +",
|
|
60
|
-
" '<span class=\"' + textClass + '\" style=\"display:none\">' + name + '</span>';",
|
|
61
|
-
" }",
|
|
62
|
-
" return '<span class=\"' + textClass + '\">' + name + '</span>';",
|
|
63
|
-
"}",
|
|
64
54
|
// Get row background color based on health status. Uses CSS variables for theme support.
|
|
65
55
|
"function getRowTint(health) {",
|
|
66
56
|
" var tints = {",
|
|
@@ -123,11 +113,12 @@ export function generateStatusScript() {
|
|
|
123
113
|
" var color = healthColorVars[s.health] || 'var(--text-muted)';",
|
|
124
114
|
" var name = s.channel || s.providerName || getDomain(s.url);",
|
|
125
115
|
" var dur = Math.floor((now - new Date(s.startTime).getTime()) / 1000);",
|
|
116
|
+
" var hwBadge = s.hardwareAccelerated ? ' <span title=\"Hardware accelerated\">\\u26A1</span>' : '';",
|
|
126
117
|
" var showSuffix = s.showName ? ' <span class=\"stream-popover-show\">' + s.showName + '</span>' : '';",
|
|
127
118
|
" html += '<div class=\"stream-popover-row\">';",
|
|
128
119
|
" html += '<span class=\"status-dot\" style=\"color: ' + color + ';\">●</span>';",
|
|
129
120
|
" html += channelDisplayHtml(s.logoUrl, name, 'stream-popover-logo', 'stream-popover-channel');",
|
|
130
|
-
" html += showSuffix;",
|
|
121
|
+
" html += hwBadge + showSuffix;",
|
|
131
122
|
" html += '<span class=\"stream-popover-duration\">' + formatDuration(dur) + '</span>';",
|
|
132
123
|
" html += '</div>';",
|
|
133
124
|
" }",
|
|
@@ -205,7 +196,13 @@ export function generateStatusScript() {
|
|
|
205
196
|
" var channelDisplay = channelDisplayHtml(s.logoUrl, channelText, 'channel-logo', 'channel-text');",
|
|
206
197
|
" html += '<tr class=\"stream-row\" data-id=\"' + id + '\" onclick=\"toggleStreamDetails(' + id + ')\" style=\"background-color: ' + rowTint + ';\">';",
|
|
207
198
|
" html += '<td class=\"chevron\">' + chevron + '</td>';",
|
|
208
|
-
" var
|
|
199
|
+
" var hwIcon = s.hardwareAccelerated ? '\\u26A1 ' : '';",
|
|
200
|
+
" var nativeBadge = '';",
|
|
201
|
+
" if (s.streamingMode === 'native') {",
|
|
202
|
+
" nativeBadge = ' <span class=\"native-badge\" title=\"Native HLS\">Native</span>';",
|
|
203
|
+
" } else if (s.hardwareAccelerated) {",
|
|
204
|
+
" nativeBadge = ' <span class=\"native-badge\" title=\"Hardware accelerated\">' + hwIcon + (s.captureCodec || '') + '</span>';",
|
|
205
|
+
" }",
|
|
209
206
|
" var durationSpan = '<span class=\"stream-duration\" id=\"duration-' + id + '\">\\u00b7 ' + formatDuration(s.duration) + '</span>';",
|
|
210
207
|
" html += '<td class=\"stream-info\">' + channelDisplay + nativeBadge + ' ' + durationSpan + '</td>';",
|
|
211
208
|
" var showDisplay = s.showName ? s.showName : '';",
|
|
@@ -227,6 +224,21 @@ export function generateStatusScript() {
|
|
|
227
224
|
" html += '<div class=\"details-started\"><strong>Started:</strong> ' + formatTime(s.startTime) + clientSuffix + '</div>';",
|
|
228
225
|
" html += '</div>';",
|
|
229
226
|
" html += '<div class=\"details-metrics\">';",
|
|
227
|
+
" var codecLabel = s.captureCodec ? (s.hardwareAccelerated ? '\\u26A1 ' + s.captureCodec : s.captureCodec) :",
|
|
228
|
+
" (s.streamingMode === 'native' ? 'Native HLS' : 'Unknown');",
|
|
229
|
+
" var modeLabel = s.streamingMode === 'native' ? 'Native HLS' : 'Capture';",
|
|
230
|
+
" var qualitySuffix = '';",
|
|
231
|
+
" if (s.streamingMode === 'native') {",
|
|
232
|
+
" var qParts = [];",
|
|
233
|
+
" if (s.nativeBandwidth > 0) { qParts.push((s.nativeBandwidth / 1000000).toFixed(1) + 'Mbps'); }",
|
|
234
|
+
" if (s.nativeResolution) {",
|
|
235
|
+
" var resLabels = { '1080': '1080p', '2160': '4K', '360': '360p', '480': '480p', '720': '720p' };",
|
|
236
|
+
" var h = s.nativeResolution.split('x')[1];",
|
|
237
|
+
" qParts.push(resLabels[h] || s.nativeResolution);",
|
|
238
|
+
" }",
|
|
239
|
+
" if (qParts.length > 0) { qualitySuffix = ' - ' + qParts.join(' '); }",
|
|
240
|
+
" }",
|
|
241
|
+
" html += '<div class=\"details-codec\"><strong>Codec:</strong> ' + codecLabel + ' (' + modeLabel + ')' + qualitySuffix + '</div>';",
|
|
230
242
|
" html += '<div class=\"details-issue\"><strong>Last issue:</strong> ' + formatLastIssue(s) + '</div>';",
|
|
231
243
|
" html += '<div class=\"details-recovery\"><strong>Recovery:</strong> ' + formatAutoRecovery(s) + '</div>';",
|
|
232
244
|
" html += '<div class=\"details-memory\"><strong>Memory:</strong> ' + formatBytes(s.memoryBytes) + '</div>';",
|
|
@@ -363,6 +375,10 @@ export function generateStatusScript() {
|
|
|
363
375
|
" updateChannelHealth(event.channelKey, event.status, event.timestamp, event.domain);",
|
|
364
376
|
" if(event.status === 'success') { updateDomainAuth(event.domain, event.timestamp); }",
|
|
365
377
|
" });",
|
|
378
|
+
// Channel table updates from the server (e.g., logo population after startup). Applies the patch via the shared applyChannelPatch function.
|
|
379
|
+
" on('channelUpdate', function(e) {",
|
|
380
|
+
" if(window.applyChannelPatch) { applyChannelPatch(JSON.parse(e.data)); }",
|
|
381
|
+
" });",
|
|
366
382
|
" statusEventSource.onerror = function() {",
|
|
367
383
|
" document.getElementById('system-health').innerHTML = '<span class=\"status-dot\" style=\"color: var(--stream-stalled);\">●</span> Updates paused';",
|
|
368
384
|
" };",
|
|
@@ -391,16 +407,15 @@ export function generateStatusScript() {
|
|
|
391
407
|
" }",
|
|
392
408
|
"});",
|
|
393
409
|
// Copy playlist URL function for Overview tab Quick Start section.
|
|
394
|
-
"window.copyOverviewPlaylistUrl = function() {",
|
|
410
|
+
"window.copyOverviewPlaylistUrl = async function() {",
|
|
395
411
|
" var urlEl = document.getElementById('overview-playlist-url');",
|
|
396
|
-
" if
|
|
397
|
-
" navigator.clipboard.writeText(urlEl.textContent)
|
|
398
|
-
"
|
|
399
|
-
"
|
|
400
|
-
"
|
|
401
|
-
"
|
|
402
|
-
"
|
|
403
|
-
" });",
|
|
412
|
+
" if(urlEl) {",
|
|
413
|
+
" await navigator.clipboard.writeText(urlEl.textContent);",
|
|
414
|
+
" var feedback = document.getElementById('overview-copy-feedback');",
|
|
415
|
+
" if(feedback) {",
|
|
416
|
+
" feedback.style.display = 'inline';",
|
|
417
|
+
" setTimeout(function() { feedback.style.display = 'none'; }, 2000);",
|
|
418
|
+
" }",
|
|
404
419
|
" }",
|
|
405
420
|
"};",
|
|
406
421
|
// JS-based tooltips for devices where the primary input can't hover (iPadOS). Safari on iPadOS doesn't show native title tooltips, so we use
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/routes/root/scripts/status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,oBAAoB;IAElC,OAAO;QACL,UAAU;QACV,+BAA+B;QAC/B,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,0IAA0I;QAC1I,qEAAqE;QAErE,4CAA4C;QAC5C,oCAAoC;QACpC,2CAA2C;QAC3C,sFAAsF;QACtF,uCAAuC;QACvC,8CAA8C;QAC9C,8BAA8B;QAC9B,GAAG;QAEH,yCAAyC;QACzC,+BAA+B;QAC/B,kCAAkC;QAClC,0CAA0C;QAC1C,kEAAkE;QAClE,gDAAgD;QAChD,GAAG;QAEH,gFAAgF;QAChF,kCAAkC;QAClC,mCAAmC;QACnC,yBAAyB;QACzB,gCAAgC;QAChC,oCAAoC;QACpC,yCAAyC;QACzC,uBAAuB;QACvB,+BAA+B;QAC/B,iFAAiF;QACjF,qDAAqD;QACrD,wGAAwG;QACxG,gFAAgF;QAChF,KAAK;QACL,mBAAmB;QACnB,GAAG;QAEH,qIAAqI;QACrI,2BAA2B;QAC3B,SAAS;QACT,mDAAmD;QACnD,4EAA4E;QAC5E,iBAAiB;QACjB,iBAAiB;QACjB,KAAK;QACL,GAAG;QAEH,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/routes/root/scripts/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export function generateLandingPageStyles() {
|
|
|
25
25
|
"#stream-count.clickable { cursor: pointer; }",
|
|
26
26
|
"#stream-count.clickable:hover { color: var(--text-primary); }",
|
|
27
27
|
".stream-popover .dropdown-menu { right: 0; left: auto; min-width: 220px; }",
|
|
28
|
-
".stream-popover-row { display: flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: 13px; white-space: nowrap; }",
|
|
28
|
+
".stream-popover-row { display: flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: 13px; white-space: nowrap; cursor: default; user-select: none; }",
|
|
29
29
|
".stream-popover-logo { height: 18px; width: auto; max-width: 80px; vertical-align: middle; }",
|
|
30
30
|
".stream-popover-channel { color: var(--text-primary); }",
|
|
31
31
|
".stream-popover-show { color: var(--text-muted); }",
|
|
@@ -58,6 +58,7 @@ export function generateLandingPageStyles() {
|
|
|
58
58
|
"width: 640px; max-width: 90vw; max-height: 85vh; display: flex; flex-direction: column; overflow: hidden; }",
|
|
59
59
|
".wizard-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; ",
|
|
60
60
|
"border-bottom: 1px solid var(--border-default); }",
|
|
61
|
+
".wizard-header-wrap { flex-wrap: wrap; align-items: flex-start; }",
|
|
61
62
|
".wizard-header h3 { margin: 0; font-size: 18px; color: var(--text-heading); }",
|
|
62
63
|
".wizard-close { background: none; border: none; font-size: 20px; cursor: pointer; color: var(--text-muted); padding: 4px 8px; }",
|
|
63
64
|
".wizard-close:hover { color: var(--text-primary); }",
|
|
@@ -75,7 +76,8 @@ export function generateLandingPageStyles() {
|
|
|
75
76
|
".wizard-step.clickable:not(.completed) .step-circle:hover { border-color: var(--interactive-primary); color: var(--interactive-primary); }",
|
|
76
77
|
// Wizard content area.
|
|
77
78
|
".wizard-content { padding: 20px; overflow-y: auto; flex: 1; min-height: 300px; }",
|
|
78
|
-
".wizard-content
|
|
79
|
+
".wizard-content-compact { min-height: 0; }",
|
|
80
|
+
".wizard-content .wizard-label { display: block; margin-bottom: 6px; font-weight: 500; color: var(--text-primary); font-size: 14px; }",
|
|
79
81
|
".wizard-content input[type=\"text\"], .wizard-content textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--border-default); ",
|
|
80
82
|
"border-radius: var(--radius-md); font-size: 14px; font-family: inherit; background: var(--surface-overlay); color: var(--text-primary); ",
|
|
81
83
|
"box-sizing: border-box; }",
|
|
@@ -121,8 +123,32 @@ export function generateLandingPageStyles() {
|
|
|
121
123
|
".wizard-domain-row .field-group:last-child { margin-bottom: 0; }",
|
|
122
124
|
".wizard-add-domain { background: none; border: none; color: var(--interactive-primary); cursor: pointer; font-size: 13px; padding: 4px 0; }",
|
|
123
125
|
".wizard-add-domain:hover { text-decoration: underline; }",
|
|
124
|
-
//
|
|
125
|
-
|
|
126
|
+
// Shared wizard description and hint text. The description sits inside the header (below the title, above the border) providing modal-level context.
|
|
127
|
+
// Hints are used for contextual guidance within individual steps.
|
|
128
|
+
".wizard-description { width: 100%; font-size: 13px; color: var(--text-secondary); margin-top: 6px; }",
|
|
129
|
+
".wizard-hint { font-size: 13px; color: var(--text-secondary); margin: 0 0 10px 0; }",
|
|
130
|
+
// Provider picker grid and cards. Used by Browse Channels step 1 and Setup Wizard step 1 for selecting providers.
|
|
131
|
+
".wizard-provider-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }",
|
|
132
|
+
".wizard-provider-card { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--border-default); ",
|
|
133
|
+
"border-radius: var(--radius-md); cursor: pointer; transition: all 0.15s; font-size: 14px; font-weight: 500; color: var(--text-primary); ",
|
|
134
|
+
"white-space: nowrap; }",
|
|
135
|
+
".wizard-provider-card:hover { background: var(--surface-hover); border-color: var(--interactive-primary); }",
|
|
136
|
+
"label.wizard-provider-card { cursor: pointer; }",
|
|
137
|
+
".setup-provider-cb { margin-right: 8px; flex-shrink: 0; }",
|
|
138
|
+
// Spinner shown while discovering channels or performing async operations within a wizard step.
|
|
139
|
+
".wizard-spinner { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 40px 20px; color: var(--text-secondary); font-size: 14px; }",
|
|
140
|
+
".wizard-spinner::before { content: ''; width: 24px; height: 24px; border: 2px solid var(--border-default); border-top-color: var(--interactive-primary); ",
|
|
141
|
+
"border-radius: 50%; animation: spin 0.8s linear infinite; }",
|
|
142
|
+
// Empty state within wizard content when no results are found or an error prevents content display.
|
|
143
|
+
".wizard-empty { text-align: center; padding: 40px 20px; color: var(--text-secondary); font-size: 14px; }",
|
|
144
|
+
".wizard-empty-title { font-size: 15px; font-weight: 600; color: var(--text-primary); margin: 0 0 6px 0; }",
|
|
145
|
+
// Setup wizard step content styles. Centered layout for auth prompts and summary steps.
|
|
146
|
+
".wizard-step-centered { text-align: center; padding: 20px 0; }",
|
|
147
|
+
".wizard-step-centered-compact { text-align: center; padding: 12px 0 0; }",
|
|
148
|
+
".wizard-step-provider-name { font-size: 15px; font-weight: 500; margin-bottom: 4px; }",
|
|
149
|
+
".wizard-step-provider-count { font-size: 13px; color: var(--text-muted); margin-bottom: 16px; }",
|
|
150
|
+
".wizard-step-summary { font-size: 14px; color: var(--text-secondary); }",
|
|
151
|
+
// Export and import modal styles: profile list items, section header, and option labels.
|
|
126
152
|
".export-section-header { margin-bottom: 12px; font-weight: 500; }",
|
|
127
153
|
".export-option-label { display: flex; align-items: center; gap: 8px; cursor: pointer; }",
|
|
128
154
|
".export-profile-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; margin-bottom: 4px; ",
|
|
@@ -192,7 +218,8 @@ export function generateLandingPageStyles() {
|
|
|
192
218
|
"border-radius: var(--radius-lg); overflow: auto; }",
|
|
193
219
|
".channel-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: auto; min-width: 650px; margin: 0; }",
|
|
194
220
|
".channel-table th, .channel-table td { padding: 10px 12px; text-align: left; border: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }",
|
|
195
|
-
".channel-table th { background: var(--table-header-bg); font-weight: 600; font-size: 13px;
|
|
221
|
+
".channel-table th { padding-top: 2px; padding-bottom: 2px; background: var(--table-header-bg); font-weight: 600; font-size: 13px; " +
|
|
222
|
+
"border-bottom: 1px solid var(--border-default); }",
|
|
196
223
|
".channel-table tbody tr:nth-child(even):not(.user-channel) { background: var(--table-row-even); }",
|
|
197
224
|
".channel-table tr:hover { background: var(--table-row-hover); }",
|
|
198
225
|
".channel-table .col-key { min-width: 170px; }",
|
|
@@ -201,6 +228,10 @@ export function generateLandingPageStyles() {
|
|
|
201
228
|
".channel-table .col-actions, .channel-table td:last-child { min-width: 168px; white-space: nowrap; overflow: visible; }",
|
|
202
229
|
".provider-select { width: 100%; padding: 2px 4px; font-size: 12px; border: 1px solid var(--form-input-border); ",
|
|
203
230
|
"border-radius: 3px; background: var(--form-input-bg); color: var(--text-primary); }",
|
|
231
|
+
// Channel name cell with optional logo. The cell content is a span that may be replaced by channelDisplayHtml on page load when a logo URL is available.
|
|
232
|
+
".channel-name-cell { display: inline-flex; align-items: center; gap: 6px; }",
|
|
233
|
+
".channel-table-logo { height: 18px; width: auto; max-width: 60px; flex-shrink: 0; }",
|
|
234
|
+
".channel-table-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }",
|
|
204
235
|
// Optional column width, alignment, and visibility rules. Generated from OPTIONAL_COLUMNS to keep a single source of truth for column metadata.
|
|
205
236
|
...OPTIONAL_COLUMNS.flatMap((col) => [
|
|
206
237
|
".channel-table ." + col.cssClass + " { min-width: " + col.width + (col.align === "center" ? "; text-align: center" : "") + "; }",
|
|
@@ -234,6 +265,11 @@ export function generateLandingPageStyles() {
|
|
|
234
265
|
".channel-table tr.channel-unavailable td { color: var(--text-tertiary); }",
|
|
235
266
|
".channel-table tr.channel-unavailable.channel-disabled { opacity: 0.5; }",
|
|
236
267
|
".channel-table.hide-disabled tr.channel-unavailable { display: none; }",
|
|
268
|
+
// Inline editable cells. Cursor and hover indicate clickability. The inline input replaces the cell content during editing.
|
|
269
|
+
".editable-cell { cursor: pointer; }",
|
|
270
|
+
".editable-cell:hover { background: var(--surface-hover); }",
|
|
271
|
+
".editable-cell input.inline-edit { width: 100%; padding: 2px 4px; font-size: 13px; border: 1px solid var(--interactive-primary); " +
|
|
272
|
+
"border-radius: 3px; outline: none; background: var(--form-input-bg); color: var(--text-primary); box-sizing: border-box; }",
|
|
237
273
|
".no-provider-label { color: var(--text-tertiary); font-size: 12px; }",
|
|
238
274
|
".text-muted { color: var(--text-muted); }",
|
|
239
275
|
// Provider filter toolbar layout.
|
|
@@ -246,6 +282,12 @@ export function generateLandingPageStyles() {
|
|
|
246
282
|
".provider-option:hover { background: var(--surface-sunken); }",
|
|
247
283
|
".provider-option input[type=\"checkbox\"] { margin: 0; }",
|
|
248
284
|
".quick-action-count { margin-left: auto; font-size: 12px; color: var(--text-secondary); }",
|
|
285
|
+
// Bulk assign row in Quick Actions dropdown. Compact label + select on one line.
|
|
286
|
+
".bulk-assign-row { display: flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: 13px; color: var(--text-primary); }",
|
|
287
|
+
".bulk-assign-select { flex: 1; padding: 2px 4px; font-size: 12px; border: 1px solid var(--form-input-border); border-radius: 3px; ",
|
|
288
|
+
"background: var(--form-input-bg); color: var(--text-primary); }",
|
|
289
|
+
".auto-number-input { width: 60px; padding: 2px 4px; font-size: 12px; border: 1px solid var(--form-input-border); border-radius: 3px; " +
|
|
290
|
+
"background: var(--form-input-bg); color: var(--text-primary); text-align: center; }",
|
|
249
291
|
// Provider chips.
|
|
250
292
|
".provider-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }",
|
|
251
293
|
".provider-chip { display: inline-flex; align-items: center; gap: 4px; background: var(--surface-elevated); border: 1px solid var(--border-default); ",
|
|
@@ -287,9 +329,11 @@ export function generateLandingPageStyles() {
|
|
|
287
329
|
"font-size: 12px; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity 0.5s; z-index: 10000; ",
|
|
288
330
|
"box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }",
|
|
289
331
|
".btn-icon-tooltip.visible { opacity: 1; transition: opacity 0.1s; }",
|
|
290
|
-
// Channel toolbar with
|
|
332
|
+
// Channel toolbar with dropdown menus. Each dropdown button has an inline SVG icon + label + chevron.
|
|
291
333
|
".channel-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; margin-bottom: 10px; }",
|
|
292
334
|
".channel-toolbar .toolbar-group { display: flex; align-items: center; gap: 6px; }",
|
|
335
|
+
".toolbar-dropdown-btn { display: inline-flex; align-items: center; gap: 5px; }",
|
|
336
|
+
".toolbar-dropdown-btn svg { flex-shrink: 0; vertical-align: middle; }",
|
|
293
337
|
".channel-summary { text-align: center; font-size: 12px; color: var(--text-secondary); margin-bottom: 8px; }",
|
|
294
338
|
// Dropdown menu used by the Import button in the channel toolbar.
|
|
295
339
|
".dropdown { position: relative; display: inline-block; }",
|
|
@@ -299,14 +343,21 @@ export function generateLandingPageStyles() {
|
|
|
299
343
|
".dropdown-menu.show { display: block; }",
|
|
300
344
|
".dropdown-item { padding: 6px 12px; font-size: 13px; cursor: pointer; color: var(--text-primary); }",
|
|
301
345
|
".dropdown-item:hover { background: var(--surface-sunken); }",
|
|
346
|
+
".dropdown-item-icon { display: flex; align-items: center; gap: 6px; }",
|
|
347
|
+
".dropdown-item-icon svg { flex-shrink: 0; }",
|
|
302
348
|
".dropdown-option { display: block; padding: 2px 12px 6px 24px; font-size: 12px; color: var(--text-secondary); cursor: pointer; user-select: none; }",
|
|
303
349
|
".dropdown-divider { height: 1px; margin: 4px 0; background: var(--border-default); }",
|
|
304
|
-
// Channel form styles.
|
|
350
|
+
// Channel form styles. The colspan cell override restores normal white-space wrapping inside edit forms. Without this, the table-wide white-space: nowrap
|
|
351
|
+
// (needed for data cells to truncate with ellipsis) forces form hint text onto a single line, expanding the fit-content table wrapper to the full text width.
|
|
352
|
+
".channel-table td[colspan] { white-space: normal; width: 1px; }",
|
|
305
353
|
".channel-form { background: var(--form-bg); border: 1px solid var(--border-default); border-radius: var(--radius-lg); padding: 20px; margin-bottom: 20px; }",
|
|
306
354
|
".channel-form h3 { margin-top: 0; margin-bottom: 15px; color: var(--text-heading-secondary); }",
|
|
307
355
|
".channel-form .form-row { margin-bottom: 4px; }",
|
|
308
356
|
".channel-form .form-row:last-child { margin-bottom: 0; }",
|
|
309
357
|
".channel-form .form-input { width: 100%; box-sizing: border-box; }",
|
|
358
|
+
".channel-form .form-row-checkbox { display: flex; align-items: center; gap: 8px; margin-top: 12px; }",
|
|
359
|
+
".channel-form .form-row-checkbox label { margin: 0; cursor: pointer; }",
|
|
360
|
+
".channel-form .form-row-checkbox input[type=\"checkbox\"] { margin: 0; cursor: pointer; }",
|
|
310
361
|
// Advanced toggle styles.
|
|
311
362
|
".advanced-toggle { color: var(--interactive-primary); cursor: pointer; font-size: 13px; margin-top: 5px; margin-bottom: 15px; }",
|
|
312
363
|
".advanced-toggle:hover { text-decoration: underline; }",
|
|
@@ -438,7 +489,61 @@ export function generateLandingPageStyles() {
|
|
|
438
489
|
".changelog-list { margin: 0 0 20px 0; padding: 0 0 0 20px; color: var(--text-secondary); font-size: 14px; line-height: 1.6; }",
|
|
439
490
|
".changelog-list li { margin-bottom: 8px; }",
|
|
440
491
|
".changelog-list li:last-child { margin-bottom: 0; }",
|
|
441
|
-
".changelog-modal-buttons { display: flex; gap: 12px; justify-content: flex-end; }"
|
|
492
|
+
".changelog-modal-buttons { display: flex; gap: 12px; justify-content: flex-end; }",
|
|
493
|
+
// Browse Channels modal styles. Channel-list-specific styles remain browse-prefixed. Shared modal styles (description, hint, provider grid, spinner, empty
|
|
494
|
+
// state) are in the wizard section above as wizard-* classes.
|
|
495
|
+
// Provider display container. Inline-flex with center alignment ensures the icon and text are vertically centered regardless of image height.
|
|
496
|
+
".provider-display { display: inline-flex; align-items: center; gap: 6px; }",
|
|
497
|
+
// Provider pills for the add channel form. A horizontal row of selectable provider buttons. The active pill has a highlighted border.
|
|
498
|
+
".provider-pills { display: flex; flex-wrap: wrap; gap: 6px; }",
|
|
499
|
+
".provider-pill { display: inline-flex; align-items: center; padding: 4px 10px; border: 1px solid var(--border-default); border-radius: var(--radius-md); ",
|
|
500
|
+
"background: var(--surface-overlay); cursor: pointer; font-size: 12px; color: var(--text-primary); transition: all 0.15s; }",
|
|
501
|
+
".provider-pill:hover { border-color: var(--interactive-primary); background: var(--surface-hover); }",
|
|
502
|
+
".provider-pill.active { border-color: var(--interactive-primary); background: var(--interactive-primary); color: #fff; }",
|
|
503
|
+
".provider-pill.active .provider-display { color: #fff; }",
|
|
504
|
+
".provider-pill.active .provider-icon, .provider-pill.active .provider-icon-sm { filter: brightness(0) invert(1); }",
|
|
505
|
+
// Provider icon styles. Two sizes: standard (20px, used in provider cards and filter dropdown) and small (14px, used in chips).
|
|
506
|
+
".provider-icon { height: 20px; width: 20px; border-radius: var(--radius-sm); flex-shrink: 0; object-fit: contain; }",
|
|
507
|
+
".provider-icon-sm { height: 14px; width: 14px; border-radius: 2px; flex-shrink: 0; object-fit: contain; vertical-align: middle; margin-right: 4px; }",
|
|
508
|
+
// Checkbox state legend. Compact horizontal row explaining the three visual states, shown between the toolbar and the channel list.
|
|
509
|
+
".browse-legend { display: flex; align-items: center; gap: 16px; padding: 4px 0 8px; font-size: 11px; color: var(--text-muted); }",
|
|
510
|
+
".browse-legend-item { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }",
|
|
511
|
+
".browse-legend-item input[type=\"checkbox\"] { margin: 0; pointer-events: none; }",
|
|
512
|
+
// Toolbar above the channel list with select-all and search filter.
|
|
513
|
+
".browse-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }",
|
|
514
|
+
".browse-select-all { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: var(--text-primary); ",
|
|
515
|
+
"cursor: pointer; white-space: nowrap; flex-shrink: 0; }",
|
|
516
|
+
".browse-search { flex: 1; padding: 6px 10px; border: 1px solid var(--border-default); border-radius: var(--radius-md); font-size: 13px; ",
|
|
517
|
+
"background: var(--surface-overlay); color: var(--text-primary); font-family: inherit; outline: none; }",
|
|
518
|
+
".browse-search:focus { border-color: var(--interactive-primary); }",
|
|
519
|
+
".browse-search::placeholder { color: var(--text-muted); }",
|
|
520
|
+
// Channel list container. Scrollable area with a maximum height so the modal does not grow unbounded.
|
|
521
|
+
".browse-channel-list { max-height: 50vh; overflow-y: auto; border: 1px solid var(--border-default); border-radius: var(--radius-md); }",
|
|
522
|
+
// Individual channel row. Scoped under .browse-channel-list for specificity (0,2,0) to beat .wizard-content label (0,1,1) which sets display:block on
|
|
523
|
+
// all labels inside the wizard content area. The name takes all remaining space (flex: 1) and truncates with ellipsis, keeping the metadata pinned right.
|
|
524
|
+
".browse-channel-list .browse-channel-item { display: flex; align-items: center; gap: 10px; padding: 8px 12px; font-size: 13px; ",
|
|
525
|
+
"color: var(--text-primary); cursor: pointer; transition: background 0.15s; border-bottom: 1px solid var(--border-light, var(--border-default)); ",
|
|
526
|
+
"margin-bottom: 0; }",
|
|
527
|
+
".browse-channel-list .browse-channel-item:last-child { border-bottom: none; }",
|
|
528
|
+
".browse-channel-list .browse-channel-item:hover { background: var(--table-row-hover); }",
|
|
529
|
+
".browse-channel-item input[type=\"checkbox\"] { flex-shrink: 0; cursor: pointer; }",
|
|
530
|
+
".browse-channel-item .browse-channel-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; ",
|
|
531
|
+
"display: flex; align-items: center; gap: 6px; }",
|
|
532
|
+
".browse-channel-logo { height: 20px; width: auto; max-width: 60px; flex-shrink: 0; }",
|
|
533
|
+
".browse-channel-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }",
|
|
534
|
+
// Right-side metadata container. Holds the state label and tier badge. flex-shrink: 0 ensures it never collapses, keeping it visible alongside the
|
|
535
|
+
// truncating channel name.
|
|
536
|
+
".browse-channel-meta { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }",
|
|
537
|
+
// State label showing the current provider or source for existing channels.
|
|
538
|
+
".browse-state-label { font-size: 11px; color: var(--text-muted); white-space: nowrap; }",
|
|
539
|
+
// Tier badge for subscription tier labeling (e.g., free channels on Sling). Positioned in the metadata area on the far right.
|
|
540
|
+
".browse-tier-badge { font-size: 10px; font-weight: 600; padding: 1px 5px; border-radius: var(--radius-sm); flex-shrink: 0; ",
|
|
541
|
+
"text-transform: uppercase; letter-spacing: 0.5px; }",
|
|
542
|
+
".browse-tier-badge.tier-free { color: var(--badge-flag-text); background: var(--badge-flag-bg); }",
|
|
543
|
+
// Affiliate subtitle shown inline after the channel name.
|
|
544
|
+
".browse-affiliate { font-size: 11px; color: var(--text-muted); font-weight: 400; }",
|
|
545
|
+
// Channel count display in the modal header area.
|
|
546
|
+
".browse-header-count { font-size: 13px; color: var(--text-muted); font-weight: 400; }"
|
|
442
547
|
].join("\n");
|
|
443
548
|
}
|
|
444
549
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/routes/root/styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IAEvC,OAAO;QAEL,mFAAmF;QACnF,6CAA6C;QAC7C,iEAAiE;QAEjE,sCAAsC;QACtC,kFAAkF;QAClF,8FAA8F;QAC9F,uDAAuD;QACvD,iDAAiD;QAEjD,4BAA4B;QAC5B,kHAAkH;QAClH,8CAA8C;QAE9C,4GAA4G;QAC5G,8FAA8F;QAC9F,8CAA8C;QAC9C,+DAA+D;QAC/D,4EAA4E;QAC5E,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/routes/root/styles.ts"],"names":[],"mappings":"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"}
|
package/dist/service/commands.js
CHANGED
|
@@ -418,7 +418,8 @@ export async function handleStatus() {
|
|
|
418
418
|
name = "Stream " + String(stream.id);
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
|
-
|
|
421
|
+
const suffix = stream.showName ? " - " + stream.showName : "";
|
|
422
|
+
print(" • " + name + " (" + formatDuration(stream.duration) + ")" + suffix);
|
|
422
423
|
}
|
|
423
424
|
}
|
|
424
425
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PrerollCodec } from "./preroll.js";
|
|
1
2
|
import type { Nullable } from "../types/index.js";
|
|
2
3
|
import type { Readable } from "node:stream";
|
|
3
4
|
/**
|
|
@@ -9,6 +10,7 @@ export interface FMP4SegmenterOptions {
|
|
|
9
10
|
onStop: () => void;
|
|
10
11
|
pendingDiscontinuity?: boolean;
|
|
11
12
|
prerollBaseUrl?: Nullable<string>;
|
|
13
|
+
prerollCodec?: PrerollCodec;
|
|
12
14
|
prerollSegmentCount?: number;
|
|
13
15
|
previousInitSegment?: Nullable<Buffer>;
|
|
14
16
|
priorSessionStats?: SessionStats;
|
|
@@ -101,7 +101,7 @@ export function formatSessionStatsSummary(stats, segmentCount) {
|
|
|
101
101
|
* @returns The segmenter interface with pipe, stop, and keyframe stats methods.
|
|
102
102
|
*/
|
|
103
103
|
export function createFMP4Segmenter(options) {
|
|
104
|
-
const { initialTrackTimestamps, onError, onStop, pendingDiscontinuity, prerollBaseUrl, prerollSegmentCount, previousInitSegment, priorSessionStats, startingInitVersion, startingSegmentIndex, streamId } = options;
|
|
104
|
+
const { initialTrackTimestamps, onError, onStop, pendingDiscontinuity, prerollBaseUrl, prerollCodec, prerollSegmentCount, previousInitSegment, priorSessionStats, startingInitVersion, startingSegmentIndex, streamId } = options;
|
|
105
105
|
// Initialize state.
|
|
106
106
|
const state = {
|
|
107
107
|
discontinuityIndices: new Set(),
|
|
@@ -122,6 +122,7 @@ export function createFMP4Segmenter(options) {
|
|
|
122
122
|
normalizedReferencePositionSec: null,
|
|
123
123
|
pendingDiscontinuity: pendingDiscontinuity ?? false,
|
|
124
124
|
prerollBaseUrl: prerollBaseUrl ?? null,
|
|
125
|
+
prerollCodec: prerollCodec ?? "h264",
|
|
125
126
|
prerollSegmentCount: prerollSegmentCount ?? 0,
|
|
126
127
|
segmentDurations: new Map(),
|
|
127
128
|
segmentFirstMoofChecked: false,
|
|
@@ -179,7 +180,8 @@ export function createFMP4Segmenter(options) {
|
|
|
179
180
|
// Build preroll entries for preroll indices still in the window. Only included when the deferred preroll timer has fired and the client is watching preroll.
|
|
180
181
|
let prerollEntries = [];
|
|
181
182
|
if (prerollActive && state.prerollBaseUrl && (startIndex < state.prerollSegmentCount)) {
|
|
182
|
-
prerollEntries = buildPrerollEntries({ baseUrl: state.prerollBaseUrl, extension: ".m4s", prerollSegmentCount: state.prerollSegmentCount,
|
|
183
|
+
prerollEntries = buildPrerollEntries({ baseUrl: state.prerollBaseUrl, codec: state.prerollCodec, extension: ".m4s", prerollSegmentCount: state.prerollSegmentCount,
|
|
184
|
+
startIndex });
|
|
183
185
|
}
|
|
184
186
|
// Build real segment entries from the segmenter's state. Each entry carries its duration, optional discontinuity marker with init re-emission, and wall-clock
|
|
185
187
|
// timestamp for PROGRAM-DATE-TIME. The real range starts at either the window start (when no preroll) or the preroll segment count (when preroll entries cover
|
|
@@ -219,7 +221,8 @@ export function createFMP4Segmenter(options) {
|
|
|
219
221
|
}
|
|
220
222
|
// Determine the initial MAP URI. When the window starts with preroll entries, use the preroll init segment. Otherwise, use the real init segment. The
|
|
221
223
|
// prerollBaseUrl is guaranteed non-null when prerollEntries is non-empty (guarded by the conditional above).
|
|
222
|
-
const initialMapUri = ((prerollEntries.length > 0) && state.prerollBaseUrl) ?
|
|
224
|
+
const initialMapUri = ((prerollEntries.length > 0) && state.prerollBaseUrl) ?
|
|
225
|
+
(state.prerollBaseUrl + "/preroll/" + state.prerollCodec + "/init.mp4") : realInitMapUri;
|
|
223
226
|
const entries = [...prerollEntries, ...realEntries];
|
|
224
227
|
return buildPlaylist({
|
|
225
228
|
discontinuitySequence,
|
|
@@ -451,7 +454,7 @@ export function createFMP4Segmenter(options) {
|
|
|
451
454
|
// With continuous PTS, the remuxer sees smooth progression and computes a normal offset. This overrides any resume-based reference because the new session's
|
|
452
455
|
// preroll PTS timeline takes precedence over the old session's timestamps.
|
|
453
456
|
if (state.prerollSegmentCount > 0) {
|
|
454
|
-
state.normalizedReferencePositionSec = getPrerollTotalDurationSec();
|
|
457
|
+
state.normalizedReferencePositionSec = getPrerollTotalDurationSec(state.prerollCodec);
|
|
455
458
|
}
|
|
456
459
|
// Suppress the discontinuity marker when codec parameters are unchanged (byte-identical init). This avoids an unnecessary decoder flush on the client.
|
|
457
460
|
if (!initChanged && state.pendingDiscontinuity) {
|