prismcast 1.12.0 → 1.13.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/app.d.ts +41 -1
- package/dist/app.js +164 -76
- package/dist/app.js.map +1 -1
- package/dist/browser/blockedPage.d.ts +0 -1
- package/dist/browser/browserSupervisor.d.ts +34 -5
- package/dist/browser/browserSupervisor.js +39 -12
- package/dist/browser/browserSupervisor.js.map +1 -1
- package/dist/browser/cdp.d.ts +58 -6
- package/dist/browser/cdp.js +147 -9
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +18 -6
- package/dist/browser/channelSelection.js +47 -36
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/consent.d.ts +33 -4
- package/dist/browser/consent.js +87 -50
- package/dist/browser/consent.js.map +1 -1
- package/dist/browser/display.d.ts +0 -1
- package/dist/browser/hlsPlaylistObserver.d.ts +3 -2
- package/dist/browser/hlsPlaylistObserver.js +11 -6
- package/dist/browser/hlsPlaylistObserver.js.map +1 -1
- package/dist/browser/index.d.ts +273 -59
- package/dist/browser/index.js +768 -255
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/launchGovernor.d.ts +0 -1
- package/dist/browser/login.d.ts +11 -10
- package/dist/browser/login.js +42 -33
- package/dist/browser/login.js.map +1 -1
- package/dist/browser/manifestInterceptor.d.ts +14 -5
- package/dist/browser/manifestInterceptor.js +26 -13
- package/dist/browser/manifestInterceptor.js.map +1 -1
- package/dist/browser/navigation.d.ts +28 -0
- package/dist/browser/navigation.js +57 -0
- package/dist/browser/navigation.js.map +1 -0
- package/dist/browser/pageStaleness.d.ts +1 -2
- package/dist/browser/pageStaleness.js +9 -9
- package/dist/browser/pageStaleness.js.map +1 -1
- package/dist/browser/precaching.d.ts +27 -13
- package/dist/browser/precaching.js +219 -73
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tabCapture.d.ts +97 -0
- package/dist/browser/tabCapture.js +314 -0
- package/dist/browser/tabCapture.js.map +1 -0
- package/dist/browser/tabNetworkObserver.d.ts +0 -1
- package/dist/browser/tabSelection.d.ts +117 -0
- package/dist/browser/tabSelection.js +547 -0
- package/dist/browser/tabSelection.js.map +1 -0
- package/dist/browser/tuning/cache.d.ts +0 -1
- package/dist/browser/tuning/comcastPolymer.d.ts +0 -1
- package/dist/browser/tuning/comcastPolymer.js +18 -19
- package/dist/browser/tuning/comcastPolymer.js.map +1 -1
- package/dist/browser/tuning/cox.d.ts +0 -1
- package/dist/browser/tuning/directv.d.ts +0 -1
- package/dist/browser/tuning/directv.js +12 -13
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +0 -1
- package/dist/browser/tuning/fox.js +2 -2
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/gridSearch.d.ts +0 -1
- package/dist/browser/tuning/hbo.d.ts +0 -1
- package/dist/browser/tuning/hbo.js +2 -2
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +14 -2
- package/dist/browser/tuning/hulu.js +150 -24
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +1 -2
- package/dist/browser/tuning/shared.js +1 -1
- package/dist/browser/tuning/sling.d.ts +0 -1
- package/dist/browser/tuning/sling.js +17 -22
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +0 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +0 -1
- package/dist/browser/tuning/tileClick.d.ts +0 -1
- package/dist/browser/tuning/xfinity.d.ts +0 -1
- package/dist/browser/tuning/youtubeTv.d.ts +0 -1
- package/dist/browser/tuning/youtubeTv.js +1 -2
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +55 -33
- package/dist/browser/video.js +213 -169
- package/dist/browser/video.js.map +1 -1
- package/dist/browser/windowSync.d.ts +45 -0
- package/dist/browser/windowSync.js +153 -0
- package/dist/browser/windowSync.js.map +1 -0
- package/dist/channels/index.d.ts +7 -1
- package/dist/channels/index.js +24 -8
- package/dist/channels/index.js.map +1 -1
- package/dist/config/channelForm.d.ts +0 -1
- package/dist/config/channelIdentity.d.ts +27 -0
- package/dist/config/channelIdentity.js +72 -0
- package/dist/config/channelIdentity.js.map +1 -0
- package/dist/config/channelSort.d.ts +25 -0
- package/dist/config/channelSort.js +101 -0
- package/dist/config/channelSort.js.map +1 -0
- package/dist/config/consistencyProbe.d.ts +0 -1
- package/dist/config/consistencyProbe.js +1 -1
- package/dist/config/consistencyProbe.js.map +1 -1
- package/dist/config/health.d.ts +3 -2
- package/dist/config/health.js +41 -31
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +12 -1
- package/dist/config/index.js +77 -31
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +17 -2
- package/dist/config/paths.js +21 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/persistence.context.d.ts +0 -1
- package/dist/config/persistence.d.ts +8 -4
- package/dist/config/persistence.js +143 -82
- package/dist/config/persistence.js.map +1 -1
- package/dist/config/presets.d.ts +0 -1
- package/dist/config/profiles.d.ts +9 -4
- package/dist/config/profiles.js +39 -6
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerLineups.d.ts +0 -1
- package/dist/config/providerLineups.js +0 -3
- package/dist/config/providerLineups.js.map +1 -1
- package/dist/config/reactivity.d.ts +0 -1
- package/dist/config/servicePacks.d.ts +0 -1
- package/dist/config/services.d.ts +1 -47
- package/dist/config/services.js +4 -135
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +0 -9
- package/dist/config/sites.js +82 -98
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +22 -29
- package/dist/config/userChannels.js +47 -65
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +19 -4
- package/dist/config/userConfig.js +123 -25
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +2 -3
- package/dist/config/userProfiles.js +16 -13
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +0 -1
- package/dist/hdhr/deviceId.d.ts +0 -1
- package/dist/hdhr/discover.d.ts +0 -1
- package/dist/hdhr/getHandlers.d.ts +0 -1
- package/dist/hdhr/identity.d.ts +0 -1
- package/dist/hdhr/index.d.ts +0 -1
- package/dist/hdhr/protocol.d.ts +1 -2
- package/dist/hdhr/protocol.js +1 -1
- package/dist/hdhr/tunerState.d.ts +0 -1
- package/dist/hdhr/udp.d.ts +0 -1
- package/dist/hdhr/udp.js +16 -4
- package/dist/hdhr/udp.js.map +1 -1
- package/dist/identity.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/native/codecInference.d.ts +5 -4
- package/dist/native/codecInference.js +12 -7
- package/dist/native/codecInference.js.map +1 -1
- package/dist/native/decrypt.d.ts +10 -3
- package/dist/native/decrypt.js +9 -5
- package/dist/native/decrypt.js.map +1 -1
- package/dist/native/index.d.ts +26 -24
- package/dist/native/index.js +26 -20
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +7 -10
- package/dist/native/probe.js +41 -37
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +3 -4
- package/dist/native/proxy.js +91 -69
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +0 -1
- package/dist/routes/assets.d.ts +0 -1
- package/dist/routes/auth.d.ts +0 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/cdp.d.ts +11 -5
- package/dist/routes/cdp.js +91 -63
- package/dist/routes/cdp.js.map +1 -1
- package/dist/routes/channels.d.ts +0 -1
- package/dist/routes/clientActions.d.ts +0 -1
- package/dist/routes/components.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/bulk.js +3 -3
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/crud.js +4 -3
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/importExport.js +7 -3
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/prefs.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/prefs.js +1 -1
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
- package/dist/routes/config/channels/endpoints/service.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/service.js +8 -5
- package/dist/routes/config/channels/endpoints/service.js.map +1 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/tags.js +3 -3
- package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
- package/dist/routes/config/channels/healthBridge.d.ts +4 -1
- package/dist/routes/config/channels/healthBridge.js +9 -5
- package/dist/routes/config/channels/healthBridge.js.map +1 -1
- package/dist/routes/config/channels/http/handler.d.ts +0 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts +0 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts +0 -1
- package/dist/routes/config/channels/http/serviceWarning.js +1 -1
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +0 -1
- package/dist/routes/config/channels/setup.d.ts +0 -1
- package/dist/routes/config/channels/table.d.ts +0 -1
- package/dist/routes/config/channels/table.js +66 -134
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +1 -2
- package/dist/routes/config/index.d.ts +5 -5
- package/dist/routes/config/index.js +7 -5
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/services.d.ts +0 -1
- package/dist/routes/config/services.js +17 -19
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.d.ts +6 -15
- package/dist/routes/config/settings.js +16 -35
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.d.ts +0 -1
- package/dist/routes/debug.js +1 -1
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/health.d.ts +16 -8
- package/dist/routes/health.js +27 -12
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/hls.d.ts +0 -1
- package/dist/routes/icons.d.ts +0 -1
- package/dist/routes/index.d.ts +0 -1
- package/dist/routes/logs.d.ts +3 -2
- package/dist/routes/logs.js +54 -14
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.d.ts +0 -1
- package/dist/routes/play.d.ts +0 -1
- package/dist/routes/playlist.d.ts +0 -1
- package/dist/routes/playlist.js +2 -1
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.d.ts +0 -1
- package/dist/routes/root/content.js +32 -11
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.d.ts +10 -1
- package/dist/routes/root/index.js +17 -7
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.d.ts +0 -1
- package/dist/routes/root/scripts/channels.js +10 -20
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/clientEscape.d.ts +0 -1
- package/dist/routes/root/scripts/clientEscape.js +1 -1
- package/dist/routes/root/scripts/clientUrl.d.ts +0 -1
- package/dist/routes/root/scripts/config.d.ts +0 -1
- package/dist/routes/root/scripts/config.js +8 -29
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +0 -1
- package/dist/routes/root/scripts/shared.d.ts +0 -1
- package/dist/routes/root/scripts/shared.js +16 -13
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.d.ts +0 -1
- package/dist/routes/root/scripts/status.handlers.d.ts +3 -1
- package/dist/routes/root/scripts/status.handlers.js +52 -26
- package/dist/routes/root/scripts/status.handlers.js.map +1 -1
- package/dist/routes/root/styles.d.ts +0 -1
- package/dist/routes/root/styles.js +10 -18
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/routes/services.d.ts +0 -1
- package/dist/routes/services.js +1 -1
- package/dist/routes/services.js.map +1 -1
- package/dist/routes/sse.d.ts +3 -2
- package/dist/routes/sse.js +7 -3
- package/dist/routes/sse.js.map +1 -1
- package/dist/routes/streams.d.ts +4 -2
- package/dist/routes/streams.js +8 -5
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/theme.d.ts +0 -1
- package/dist/routes/theme.js +3 -3
- package/dist/routes/theme.js.map +1 -1
- package/dist/routes/ui.d.ts +0 -1
- package/dist/routes/ui.js +5 -5
- package/dist/routes/ui.js.map +1 -1
- package/dist/routes/upgrade.d.ts +0 -1
- package/dist/routes/upgrade.js +2 -1
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +0 -1
- package/dist/service/commands.context.js +7 -1
- package/dist/service/commands.context.js.map +1 -1
- package/dist/service/commands.d.ts +0 -1
- package/dist/service/generators.context.d.ts +0 -1
- package/dist/service/generators.d.ts +0 -1
- package/dist/service/index.d.ts +0 -1
- package/dist/streaming/captureLock.d.ts +1 -2
- package/dist/streaming/captureLock.js +8 -7
- package/dist/streaming/captureLock.js.map +1 -1
- package/dist/streaming/captureSession.d.ts +0 -1
- package/dist/streaming/clients.d.ts +4 -3
- package/dist/streaming/clients.js +5 -4
- package/dist/streaming/clients.js.map +1 -1
- package/dist/streaming/codec.d.ts +0 -1
- package/dist/streaming/fmp4Segmenter.d.ts +11 -6
- package/dist/streaming/fmp4Segmenter.js +39 -17
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +96 -3
- package/dist/streaming/hls.js +282 -171
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +8 -5
- package/dist/streaming/hlsResume.js +10 -8
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +11 -8
- package/dist/streaming/hlsSegments.js +38 -18
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.d.ts +5 -4
- package/dist/streaming/lifecycle.js +43 -13
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +14 -3
- package/dist/streaming/monitor.js +447 -234
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +0 -1
- package/dist/streaming/mpegts.d.ts +11 -1
- package/dist/streaming/mpegts.js +92 -28
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +0 -1
- package/dist/streaming/preroll.d.ts +34 -15
- package/dist/streaming/preroll.js +32 -30
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.d.ts +2 -3
- package/dist/streaming/pretune.js +45 -45
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/pretuneTimers.d.ts +16 -12
- package/dist/streaming/pretuneTimers.js +27 -37
- package/dist/streaming/pretuneTimers.js.map +1 -1
- package/dist/streaming/recovery.d.ts +97 -9
- package/dist/streaming/recovery.js +96 -18
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +102 -15
- package/dist/streaming/registry.js +90 -5
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +90 -32
- package/dist/streaming/setup.js +379 -248
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +8 -4
- package/dist/streaming/showInfo.js +54 -45
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +5 -3
- package/dist/streaming/statusEmitter.js +20 -8
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +0 -1
- package/dist/types/channels.js +0 -4
- package/dist/types/channels.js.map +1 -1
- package/dist/types/config.d.ts +0 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +51 -9
- package/dist/types/profiles.js +35 -1
- package/dist/types/profiles.js.map +1 -1
- package/dist/types/selection.d.ts +10 -1
- package/dist/types/shared.d.ts +0 -1
- package/dist/types/streaming.d.ts +8 -1
- package/dist/types/streaming.js +7 -0
- package/dist/types/streaming.js.map +1 -1
- package/dist/upgrade/commands.context.d.ts +0 -1
- package/dist/upgrade/commands.d.ts +0 -1
- package/dist/upgrade/commands.js +1 -1
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.d.ts +0 -1
- package/dist/upgrade/detection.d.ts +1 -2
- package/dist/upgrade/index.d.ts +0 -1
- package/dist/upgrade/lifecycle.context.d.ts +2 -1
- package/dist/upgrade/lifecycle.context.js +9 -4
- package/dist/upgrade/lifecycle.context.js.map +1 -1
- package/dist/upgrade/lifecycle.d.ts +0 -1
- package/dist/upgrade/pathHandle.d.ts +0 -1
- package/dist/utils/bootSession.context.d.ts +0 -1
- package/dist/utils/bootSession.context.js +3 -2
- package/dist/utils/bootSession.context.js.map +1 -1
- package/dist/utils/bootSession.d.ts +0 -1
- package/dist/utils/chromeFetch.d.ts +0 -1
- package/dist/utils/cliOutput.d.ts +0 -1
- package/dist/utils/debugFilter.d.ts +0 -1
- package/dist/utils/debugFilter.js +5 -3
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +65 -13
- package/dist/utils/delay.js +96 -23
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/errors.d.ts +0 -11
- package/dist/utils/errors.js +3 -14
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/evaluate.d.ts +11 -3
- package/dist/utils/evaluate.js +4 -3
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +0 -1
- package/dist/utils/ffmpeg.d.ts +1 -1
- package/dist/utils/ffmpeg.js +2 -1
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +26 -7
- package/dist/utils/fileLogger.js +241 -102
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +36 -4
- package/dist/utils/format.js +66 -12
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.d.ts +0 -1
- package/dist/utils/logger.d.ts +0 -1
- package/dist/utils/m3u.d.ts +0 -1
- package/dist/utils/markup.d.ts +0 -1
- package/dist/utils/memo.d.ts +0 -1
- package/dist/utils/morganStream.d.ts +2 -3
- package/dist/utils/morganStream.js +6 -8
- package/dist/utils/morganStream.js.map +1 -1
- package/dist/utils/network.d.ts +0 -1
- package/dist/utils/never.d.ts +8 -0
- package/dist/utils/never.js +20 -0
- package/dist/utils/never.js.map +1 -0
- package/dist/utils/pid.d.ts +0 -1
- package/dist/utils/platform.d.ts +0 -1
- package/dist/utils/processInspector.context.d.ts +32 -2
- package/dist/utils/processInspector.context.js +117 -1
- package/dist/utils/processInspector.context.js.map +1 -1
- package/dist/utils/processInspector.d.ts +0 -32
- package/dist/utils/processInspector.js +10 -117
- package/dist/utils/processInspector.js.map +1 -1
- package/dist/utils/retry.d.ts +5 -4
- package/dist/utils/retry.js +43 -33
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/runtimeIdentity.context.d.ts +0 -1
- package/dist/utils/runtimeIdentity.context.js +3 -1
- package/dist/utils/runtimeIdentity.context.js.map +1 -1
- package/dist/utils/runtimeIdentity.d.ts +1 -1
- package/dist/utils/runtimeIdentity.js +1 -1
- package/dist/utils/runtimeIdentity.js.map +1 -1
- package/dist/utils/sanitize.d.ts +8 -1
- package/dist/utils/sanitize.js +19 -0
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/streamContext.d.ts +0 -1
- package/dist/utils/timing.d.ts +3 -4
- package/dist/utils/timing.js +4 -4
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +14 -8
- package/dist/utils/version.js +35 -24
- package/dist/utils/version.js.map +1 -1
- package/package.json +7 -7
- package/dist/app.d.ts.map +0 -1
- package/dist/browser/blockedPage.d.ts.map +0 -1
- package/dist/browser/browserSupervisor.d.ts.map +0 -1
- package/dist/browser/cdp.d.ts.map +0 -1
- package/dist/browser/channelSelection.d.ts.map +0 -1
- package/dist/browser/consent.d.ts.map +0 -1
- package/dist/browser/display.d.ts.map +0 -1
- package/dist/browser/hlsPlaylistObserver.d.ts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/launchGovernor.d.ts.map +0 -1
- package/dist/browser/login.d.ts.map +0 -1
- package/dist/browser/manifestInterceptor.d.ts.map +0 -1
- package/dist/browser/pageStaleness.d.ts.map +0 -1
- package/dist/browser/precaching.d.ts.map +0 -1
- package/dist/browser/tabNetworkObserver.d.ts.map +0 -1
- package/dist/browser/tuning/cache.d.ts.map +0 -1
- package/dist/browser/tuning/comcastPolymer.d.ts.map +0 -1
- package/dist/browser/tuning/cox.d.ts.map +0 -1
- package/dist/browser/tuning/directv.d.ts.map +0 -1
- package/dist/browser/tuning/fox.d.ts.map +0 -1
- package/dist/browser/tuning/gridSearch.d.ts.map +0 -1
- package/dist/browser/tuning/hbo.d.ts.map +0 -1
- package/dist/browser/tuning/hulu.d.ts.map +0 -1
- package/dist/browser/tuning/shared.d.ts.map +0 -1
- package/dist/browser/tuning/sling.d.ts.map +0 -1
- package/dist/browser/tuning/spectrum.d.ts.map +0 -1
- package/dist/browser/tuning/thumbnailRow.d.ts.map +0 -1
- package/dist/browser/tuning/tileClick.d.ts.map +0 -1
- package/dist/browser/tuning/xfinity.d.ts.map +0 -1
- package/dist/browser/tuning/youtubeTv.d.ts.map +0 -1
- package/dist/browser/video.d.ts.map +0 -1
- package/dist/channels/index.d.ts.map +0 -1
- package/dist/config/channelForm.d.ts.map +0 -1
- package/dist/config/consistencyProbe.d.ts.map +0 -1
- package/dist/config/health.d.ts.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/paths.d.ts.map +0 -1
- package/dist/config/persistence.context.d.ts.map +0 -1
- package/dist/config/persistence.d.ts.map +0 -1
- package/dist/config/presets.d.ts.map +0 -1
- package/dist/config/profiles.d.ts.map +0 -1
- package/dist/config/providerLineups.d.ts.map +0 -1
- package/dist/config/reactivity.d.ts.map +0 -1
- package/dist/config/servicePacks.d.ts.map +0 -1
- package/dist/config/services.d.ts.map +0 -1
- package/dist/config/sites.d.ts.map +0 -1
- package/dist/config/userChannels.d.ts.map +0 -1
- package/dist/config/userConfig.d.ts.map +0 -1
- package/dist/config/userProfiles.d.ts.map +0 -1
- package/dist/hdhr/channelMap.d.ts.map +0 -1
- package/dist/hdhr/deviceId.d.ts.map +0 -1
- package/dist/hdhr/discover.d.ts.map +0 -1
- package/dist/hdhr/getHandlers.d.ts.map +0 -1
- package/dist/hdhr/identity.d.ts.map +0 -1
- package/dist/hdhr/index.d.ts.map +0 -1
- package/dist/hdhr/protocol.d.ts.map +0 -1
- package/dist/hdhr/tunerState.d.ts.map +0 -1
- package/dist/hdhr/udp.d.ts.map +0 -1
- package/dist/identity.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/native/codecInference.d.ts.map +0 -1
- package/dist/native/decrypt.d.ts.map +0 -1
- package/dist/native/index.d.ts.map +0 -1
- package/dist/native/probe.d.ts.map +0 -1
- package/dist/native/proxy.d.ts.map +0 -1
- package/dist/native/tokenExpiry.d.ts.map +0 -1
- package/dist/routes/assets.d.ts.map +0 -1
- package/dist/routes/auth.d.ts.map +0 -1
- package/dist/routes/cdp.d.ts.map +0 -1
- package/dist/routes/channels.d.ts.map +0 -1
- package/dist/routes/clientActions.d.ts.map +0 -1
- package/dist/routes/components.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/prefs.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/service.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts.map +0 -1
- package/dist/routes/config/channels/healthBridge.d.ts.map +0 -1
- package/dist/routes/config/channels/http/handler.d.ts.map +0 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts.map +0 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts.map +0 -1
- package/dist/routes/config/channels/index.d.ts.map +0 -1
- package/dist/routes/config/channels/setup.d.ts.map +0 -1
- package/dist/routes/config/channels/table.d.ts.map +0 -1
- package/dist/routes/config/http/envelope.d.ts.map +0 -1
- package/dist/routes/config/index.d.ts.map +0 -1
- package/dist/routes/config/services.d.ts.map +0 -1
- package/dist/routes/config/settings.d.ts.map +0 -1
- package/dist/routes/debug.d.ts.map +0 -1
- package/dist/routes/health.d.ts.map +0 -1
- package/dist/routes/hls.d.ts.map +0 -1
- package/dist/routes/icons.d.ts.map +0 -1
- package/dist/routes/index.d.ts.map +0 -1
- package/dist/routes/logs.d.ts.map +0 -1
- package/dist/routes/mpegts.d.ts.map +0 -1
- package/dist/routes/play.d.ts.map +0 -1
- package/dist/routes/playlist.d.ts.map +0 -1
- package/dist/routes/root/content.d.ts.map +0 -1
- package/dist/routes/root/index.d.ts.map +0 -1
- package/dist/routes/root/scripts/channels.d.ts.map +0 -1
- package/dist/routes/root/scripts/clientEscape.d.ts.map +0 -1
- package/dist/routes/root/scripts/clientUrl.d.ts.map +0 -1
- package/dist/routes/root/scripts/config.d.ts.map +0 -1
- package/dist/routes/root/scripts/index.d.ts.map +0 -1
- package/dist/routes/root/scripts/shared.d.ts.map +0 -1
- package/dist/routes/root/scripts/status.d.ts.map +0 -1
- package/dist/routes/root/scripts/status.handlers.d.ts.map +0 -1
- package/dist/routes/root/styles.d.ts.map +0 -1
- package/dist/routes/services.d.ts.map +0 -1
- package/dist/routes/sse.d.ts.map +0 -1
- package/dist/routes/streams.d.ts.map +0 -1
- package/dist/routes/theme.d.ts.map +0 -1
- package/dist/routes/ui.d.ts.map +0 -1
- package/dist/routes/upgrade.d.ts.map +0 -1
- package/dist/service/commands.context.d.ts.map +0 -1
- package/dist/service/commands.d.ts.map +0 -1
- package/dist/service/generators.context.d.ts.map +0 -1
- package/dist/service/generators.d.ts.map +0 -1
- package/dist/service/index.d.ts.map +0 -1
- package/dist/streaming/captureLock.d.ts.map +0 -1
- package/dist/streaming/captureSession.d.ts.map +0 -1
- package/dist/streaming/clients.d.ts.map +0 -1
- package/dist/streaming/codec.d.ts.map +0 -1
- package/dist/streaming/fmp4Segmenter.d.ts.map +0 -1
- package/dist/streaming/hls.d.ts.map +0 -1
- package/dist/streaming/hlsResume.d.ts.map +0 -1
- package/dist/streaming/hlsSegments.d.ts.map +0 -1
- package/dist/streaming/lifecycle.d.ts.map +0 -1
- package/dist/streaming/monitor.d.ts.map +0 -1
- package/dist/streaming/mp4Parser.d.ts.map +0 -1
- package/dist/streaming/mpegts.d.ts.map +0 -1
- package/dist/streaming/playlistBuilder.d.ts.map +0 -1
- package/dist/streaming/preroll.d.ts.map +0 -1
- package/dist/streaming/pretune.d.ts.map +0 -1
- package/dist/streaming/pretuneTimers.d.ts.map +0 -1
- package/dist/streaming/recovery.d.ts.map +0 -1
- package/dist/streaming/registry.d.ts.map +0 -1
- package/dist/streaming/setup.d.ts.map +0 -1
- package/dist/streaming/showInfo.d.ts.map +0 -1
- package/dist/streaming/statusEmitter.d.ts.map +0 -1
- package/dist/types/channels.d.ts.map +0 -1
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/profiles.d.ts.map +0 -1
- package/dist/types/selection.d.ts.map +0 -1
- package/dist/types/shared.d.ts.map +0 -1
- package/dist/types/streaming.d.ts.map +0 -1
- package/dist/upgrade/commands.context.d.ts.map +0 -1
- package/dist/upgrade/commands.d.ts.map +0 -1
- package/dist/upgrade/detection.context.d.ts.map +0 -1
- package/dist/upgrade/detection.d.ts.map +0 -1
- package/dist/upgrade/index.d.ts.map +0 -1
- package/dist/upgrade/lifecycle.context.d.ts.map +0 -1
- package/dist/upgrade/lifecycle.d.ts.map +0 -1
- package/dist/upgrade/pathHandle.d.ts.map +0 -1
- package/dist/utils/bootSession.context.d.ts.map +0 -1
- package/dist/utils/bootSession.d.ts.map +0 -1
- package/dist/utils/chromeFetch.d.ts.map +0 -1
- package/dist/utils/cliOutput.d.ts.map +0 -1
- package/dist/utils/clock.d.ts +0 -15
- package/dist/utils/clock.d.ts.map +0 -1
- package/dist/utils/clock.js +0 -31
- package/dist/utils/clock.js.map +0 -1
- package/dist/utils/debugFilter.d.ts.map +0 -1
- package/dist/utils/delay.d.ts.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/evaluate.d.ts.map +0 -1
- package/dist/utils/ffmpeg.context.d.ts.map +0 -1
- package/dist/utils/ffmpeg.d.ts.map +0 -1
- package/dist/utils/fileLogger.d.ts.map +0 -1
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/logEmitter.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/m3u.d.ts.map +0 -1
- package/dist/utils/markup.d.ts.map +0 -1
- package/dist/utils/memo.d.ts.map +0 -1
- package/dist/utils/morganStream.d.ts.map +0 -1
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/pid.d.ts.map +0 -1
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/processInspector.context.d.ts.map +0 -1
- package/dist/utils/processInspector.d.ts.map +0 -1
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/runtimeIdentity.context.d.ts.map +0 -1
- package/dist/utils/runtimeIdentity.d.ts.map +0 -1
- package/dist/utils/sanitize.d.ts.map +0 -1
- package/dist/utils/streamContext.d.ts.map +0 -1
- package/dist/utils/timing.d.ts.map +0 -1
- package/dist/utils/version.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/routes/upgrade.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxI,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/routes/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { buildServiceDefinition, detectStalePaths, getServiceGenerator, getServi
|
|
|
10
10
|
import { getDataDir, getServiceFilePath } from "../config/paths.js";
|
|
11
11
|
import { getNodeExecutablePath, getPlatform, getPrismCastEntryPoint } from "../utils/platform.js";
|
|
12
12
|
import { print, printError } from "../utils/cliOutput.js";
|
|
13
|
+
import { timeoutSignal } from "../utils/delay.js";
|
|
13
14
|
/**
|
|
14
15
|
* Builds the default ServiceContext from real runtime I/O.
|
|
15
16
|
* @returns A ServiceContext populated from the live process.
|
|
@@ -19,8 +20,10 @@ export function createDefaultServiceContext() {
|
|
|
19
20
|
buildServiceDefinition,
|
|
20
21
|
detectStalePaths,
|
|
21
22
|
fetchActiveStreams: async (port) => {
|
|
23
|
+
// This adapter holds no clock of its own, so the probe's bound takes the port's default, the system clock.
|
|
24
|
+
const bound = timeoutSignal(3000);
|
|
22
25
|
try {
|
|
23
|
-
const response = await fetch("http://127.0.0.1:" + String(port) + "/streams", { signal:
|
|
26
|
+
const response = await fetch("http://127.0.0.1:" + String(port) + "/streams", { signal: bound.signal });
|
|
24
27
|
if (!response.ok) {
|
|
25
28
|
return null;
|
|
26
29
|
}
|
|
@@ -29,6 +32,9 @@ export function createDefaultServiceContext() {
|
|
|
29
32
|
catch {
|
|
30
33
|
return null;
|
|
31
34
|
}
|
|
35
|
+
finally {
|
|
36
|
+
bound.cancel();
|
|
37
|
+
}
|
|
32
38
|
},
|
|
33
39
|
getDataDir,
|
|
34
40
|
getEntryPoint: getPrismCastEntryPoint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.context.js","sourceRoot":"","sources":["../../src/service/commands.context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.context.js","sourceRoot":"","sources":["../../src/service/commands.context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IAEzC,OAAO;QAEL,sBAAsB;QACtB,gBAAgB;QAChB,kBAAkB,EAAE,KAAK,EAAE,IAAY,EAAmC,EAAE;YAE1E,2GAA2G;YAC3G,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAExG,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAEhB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAqB,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBAEP,OAAO,IAAI,CAAC;YACd,CAAC;oBAAS,CAAC;gBAET,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QACD,UAAU;QACV,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,GAAa,EAAE,CAAC,WAAW,EAAE;QAC1C,aAAa,EAAE,KAAK,IAAqB,EAAE;YAEzC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;YAElC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5D,CAAC;QACD,kBAAkB;QAClB,eAAe;QACf,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -86,4 +86,3 @@ export declare function handleStatus(ctx?: ServiceContext): Promise<number>;
|
|
|
86
86
|
* @returns Exit code (0 for success, 1 for error).
|
|
87
87
|
*/
|
|
88
88
|
export declare function handleServiceCommand(args: string[], ctx?: ServiceContext): Promise<number>;
|
|
89
|
-
//# sourceMappingURL=commands.d.ts.map
|
package/dist/service/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Clock } from "
|
|
1
|
+
import type { Clock } from "homebridge-plugin-utils";
|
|
2
2
|
export declare class CaptureTurnTimeoutError extends Error {
|
|
3
3
|
constructor();
|
|
4
4
|
}
|
|
@@ -41,4 +41,3 @@ export interface CaptureLock {
|
|
|
41
41
|
* @returns A capture lock.
|
|
42
42
|
*/
|
|
43
43
|
export declare function createCaptureLock(options: CaptureLockOptions): CaptureLock;
|
|
44
|
-
//# sourceMappingURL=captureLock.d.ts.map
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { systemClock } from "homebridge-plugin-utils";
|
|
2
|
+
import { waitWithTimeout } from "../utils/index.js";
|
|
2
3
|
// Error classes. The messages of the turn-timeout and deadline errors are part of the compatibility contract: isCaptureInfrastructureError (recovery.ts) classifies
|
|
3
4
|
// by substring, so callers rely on the exact text. Each class carries its narrative comment above it.
|
|
4
|
-
// Raised when a waiter's turn-wait bound elapses before its predecessor settles. The message is fixed here so both the primitive and its
|
|
5
|
+
// Raised when a waiter's turn-wait bound elapses before its predecessor settles. The message is fixed here so both the primitive and its assertion test read from one
|
|
5
6
|
// place; "queue" remains accurate vocabulary because the lock still maintains a FIFO of waiting turns.
|
|
6
7
|
export class CaptureTurnTimeoutError extends Error {
|
|
7
8
|
constructor() {
|
|
@@ -10,7 +11,7 @@ export class CaptureTurnTimeoutError extends Error {
|
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
// Raised when a task holds its turn past the caller-supplied deadline. The message is supplied per call site (CaptureRunOptions.deadlineMessage) because the stream
|
|
13
|
-
// path and the probe path surface different, individually-
|
|
14
|
+
// path and the probe path surface different, individually-asserted strings, both of which must keep matching the capture-infrastructure classifier.
|
|
14
15
|
export class CaptureDeadlineError extends Error {
|
|
15
16
|
constructor(message) {
|
|
16
17
|
super(message);
|
|
@@ -35,7 +36,7 @@ export class CaptureAbandonedError extends Error {
|
|
|
35
36
|
* @returns A capture lock.
|
|
36
37
|
*/
|
|
37
38
|
export function createCaptureLock(options) {
|
|
38
|
-
const { clock =
|
|
39
|
+
const { clock = systemClock, wedgeFloorMs, wedgeMarginMs } = options;
|
|
39
40
|
// The FIFO tail. Each run() call reads this as its predecessor and replaces it with its own settlement promise, synchronously, before any await. The first call
|
|
40
41
|
// sees an already-resolved predecessor and is granted its turn immediately.
|
|
41
42
|
let tail = Promise.resolve();
|
|
@@ -53,7 +54,7 @@ export function createCaptureLock(options) {
|
|
|
53
54
|
// so a later caller still cannot begin until the running operation actually settles, then reject the waiter. Forwarding (rather than resolving our node directly)
|
|
54
55
|
// is what keeps a give-up from advancing the chain past an unsettled predecessor.
|
|
55
56
|
try {
|
|
56
|
-
await
|
|
57
|
+
await waitWithTimeout(predecessor, runOptions.turnWaitMs, { clock, reason: new CaptureTurnTimeoutError() });
|
|
57
58
|
}
|
|
58
59
|
catch (error) {
|
|
59
60
|
void predecessor.then(signalSettled, signalSettled);
|
|
@@ -73,7 +74,7 @@ export function createCaptureLock(options) {
|
|
|
73
74
|
void work.then(markSettled, markSettled);
|
|
74
75
|
// Arm the wedge as a flag-guarded sleep rather than a cancellable timer: if the task has not settled by the derived bound, invoke onWedge once. A late wakeup
|
|
75
76
|
// after the task already settled is a cheap no-op, so no timer handle or cancellation bookkeeping is needed. The wedge only signals; it never releases the turn.
|
|
76
|
-
void clock.
|
|
77
|
+
void clock.delay(wedgeBoundMs).then(() => {
|
|
77
78
|
if (!workSettled) {
|
|
78
79
|
runOptions.onWedge?.();
|
|
79
80
|
}
|
|
@@ -81,7 +82,7 @@ export function createCaptureLock(options) {
|
|
|
81
82
|
// Deadline phase: the caller waits up to its task deadline for the work to settle. If the deadline wins, abort the signal - letting a task that later produces a
|
|
82
83
|
// resource retire it - and reject the caller. The turn is NOT released here; the settlement subscription above keeps holding it until the work truly settles.
|
|
83
84
|
try {
|
|
84
|
-
return await
|
|
85
|
+
return await waitWithTimeout(work, runOptions.deadlineMs, { clock, reason: new CaptureDeadlineError(runOptions.deadlineMessage) });
|
|
85
86
|
}
|
|
86
87
|
catch (error) {
|
|
87
88
|
if (error instanceof CaptureDeadlineError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureLock.js","sourceRoot":"","sources":["../../src/streaming/captureLock.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"captureLock.js","sourceRoot":"","sources":["../../src/streaming/captureLock.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,9 @@ export interface ClientSummary {
|
|
|
22
22
|
* @param streamId - The numeric stream ID.
|
|
23
23
|
* @param clientAddress - The raw client IP address.
|
|
24
24
|
* @param protocol - The protocol ("hls" or "mpegts").
|
|
25
|
+
* @param now - The instant of the registration.
|
|
25
26
|
*/
|
|
26
|
-
export declare function registerClient(streamId: number, clientAddress: string, protocol: ClientType): void;
|
|
27
|
+
export declare function registerClient(streamId: number, clientAddress: string, protocol: ClientType, now: number): void;
|
|
27
28
|
/**
|
|
28
29
|
* Unregisters a client from a stream. Used for MPEG-TS clients on disconnect. HLS clients are not explicitly unregistered - they expire via TTL cleanup in
|
|
29
30
|
* getClientSummary(). If the client map has already been cleared (e.g., during stream termination), this is a no-op.
|
|
@@ -38,12 +39,12 @@ export declare function unregisterClient(streamId: number, clientAddress: string
|
|
|
38
39
|
*
|
|
39
40
|
* Called by the monitor every ~2 seconds during status emission.
|
|
40
41
|
* @param streamId - The numeric stream ID.
|
|
42
|
+
* @param now - The instant the TTL is measured against.
|
|
41
43
|
* @returns The client summary with total count and per-type breakdown.
|
|
42
44
|
*/
|
|
43
|
-
export declare function getClientSummary(streamId: number): ClientSummary;
|
|
45
|
+
export declare function getClientSummary(streamId: number, now: number): ClientSummary;
|
|
44
46
|
/**
|
|
45
47
|
* Removes all client tracking data for a stream. Called during stream termination to prevent memory leaks.
|
|
46
48
|
* @param streamId - The numeric stream ID.
|
|
47
49
|
*/
|
|
48
50
|
export declare function clearClients(streamId: number): void;
|
|
49
|
-
//# sourceMappingURL=clients.d.ts.map
|
|
@@ -17,8 +17,9 @@ const clientMaps = new Map();
|
|
|
17
17
|
* @param streamId - The numeric stream ID.
|
|
18
18
|
* @param clientAddress - The raw client IP address.
|
|
19
19
|
* @param protocol - The protocol ("hls" or "mpegts").
|
|
20
|
+
* @param now - The instant of the registration.
|
|
20
21
|
*/
|
|
21
|
-
export function registerClient(streamId, clientAddress, protocol) {
|
|
22
|
+
export function registerClient(streamId, clientAddress, protocol, now) {
|
|
22
23
|
// Guard against registration after stream termination. If the stream no longer exists in the registry, skip silently to prevent orphaned client entries.
|
|
23
24
|
if (!getStream(streamId)) {
|
|
24
25
|
return;
|
|
@@ -32,7 +33,7 @@ export function registerClient(streamId, clientAddress, protocol) {
|
|
|
32
33
|
}
|
|
33
34
|
clients.set(key, {
|
|
34
35
|
clientAddress: address,
|
|
35
|
-
lastSeen:
|
|
36
|
+
lastSeen: now,
|
|
36
37
|
protocol
|
|
37
38
|
});
|
|
38
39
|
}
|
|
@@ -63,15 +64,15 @@ export function unregisterClient(streamId, clientAddress, protocol) {
|
|
|
63
64
|
*
|
|
64
65
|
* Called by the monitor every ~2 seconds during status emission.
|
|
65
66
|
* @param streamId - The numeric stream ID.
|
|
67
|
+
* @param now - The instant the TTL is measured against.
|
|
66
68
|
* @returns The client summary with total count and per-type breakdown.
|
|
67
69
|
*/
|
|
68
|
-
export function getClientSummary(streamId) {
|
|
70
|
+
export function getClientSummary(streamId, now) {
|
|
69
71
|
const clients = clientMaps.get(streamId);
|
|
70
72
|
if (!clients) {
|
|
71
73
|
return { clients: [], total: 0 };
|
|
72
74
|
}
|
|
73
75
|
// Expire stale HLS clients.
|
|
74
|
-
const now = Date.now();
|
|
75
76
|
for (const [key, client] of clients) {
|
|
76
77
|
if ((client.protocol === "hls") && ((now - client.lastSeen) > HLS_CLIENT_TTL)) {
|
|
77
78
|
clients.delete(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/streaming/clients.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAwD3D,aAAa;AAEb,8IAA8I;AAC9I,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,SAAS;AAET,8GAA8G;AAC9G,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqC,CAAC;AAEhE,gBAAgB;AAEhB
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/streaming/clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import type { CaptureCodec } from "./codec.ts";
|
|
2
|
+
import type { Clock } from "homebridge-plugin-utils";
|
|
2
3
|
import type { Nullable } from "../types/index.ts";
|
|
3
4
|
import type { Readable } from "node:stream";
|
|
5
|
+
export interface SegmenterContinuity {
|
|
6
|
+
initialTrackTimestamps?: Map<number, bigint>;
|
|
7
|
+
previousInitSegment?: Nullable<Buffer>;
|
|
8
|
+
priorSessionStats?: SessionStats;
|
|
9
|
+
startingInitVersion?: number;
|
|
10
|
+
startingSegmentIndex?: number;
|
|
11
|
+
}
|
|
4
12
|
/**
|
|
5
13
|
* Options for creating an fMP4 segmenter.
|
|
6
14
|
*/
|
|
7
15
|
export interface FMP4SegmenterOptions {
|
|
8
|
-
|
|
16
|
+
clock?: Clock;
|
|
17
|
+
continuity?: SegmenterContinuity;
|
|
9
18
|
onError: (error: Error) => void;
|
|
10
19
|
onStop: () => void;
|
|
11
20
|
pendingDiscontinuity?: boolean;
|
|
12
21
|
prerollBaseUrl?: Nullable<string>;
|
|
13
22
|
prerollCodec?: CaptureCodec;
|
|
14
23
|
prerollSegmentCount?: number;
|
|
15
|
-
previousInitSegment?: Nullable<Buffer>;
|
|
16
|
-
priorSessionStats?: SessionStats;
|
|
17
|
-
startingInitVersion?: number;
|
|
18
|
-
startingSegmentIndex?: number;
|
|
19
24
|
streamId: number;
|
|
20
25
|
}
|
|
21
26
|
/**
|
|
@@ -47,6 +52,7 @@ export interface SessionStats {
|
|
|
47
52
|
* Result of creating an fMP4 segmenter.
|
|
48
53
|
*/
|
|
49
54
|
export interface FMP4SegmenterResult {
|
|
55
|
+
getContinuitySnapshot: () => SegmenterContinuity;
|
|
50
56
|
getInitSegment: () => Nullable<Buffer>;
|
|
51
57
|
getInitVersion: () => number;
|
|
52
58
|
getKeyframeStats: () => KeyframeStats;
|
|
@@ -118,4 +124,3 @@ export declare function computeDiscontinuitySequence(options: {
|
|
|
118
124
|
* @returns The segmenter interface with pipe, stop, and keyframe stats methods.
|
|
119
125
|
*/
|
|
120
126
|
export declare function createFMP4Segmenter(options: FMP4SegmenterOptions): FMP4SegmenterResult;
|
|
121
|
-
//# sourceMappingURL=fmp4Segmenter.d.ts.map
|
|
@@ -9,6 +9,7 @@ import { CONFIG } from "../config/index.js";
|
|
|
9
9
|
import { LOG } from "../utils/index.js";
|
|
10
10
|
import { buildPlaylist } from "./playlistBuilder.js";
|
|
11
11
|
import { getStream } from "./registry.js";
|
|
12
|
+
import { systemClock } from "homebridge-plugin-utils";
|
|
12
13
|
/* This module transforms a puppeteer-stream MP4 capture into HLS fMP4 segments. The overall flow is: (1) receive MP4 data from puppeteer-stream (the configured
|
|
13
14
|
* capture codec, H.264 or HEVC per codec.ts, paired with AAC audio, from either native capture or FFmpeg transcoding), (2) parse MP4 box structure to identify ftyp
|
|
14
15
|
* + moov (initialization segment) and moof + mdat pairs (media fragments),
|
|
@@ -149,7 +150,8 @@ export function computeDiscontinuitySequence(options) {
|
|
|
149
150
|
* @returns The segmenter interface with pipe, stop, and keyframe stats methods.
|
|
150
151
|
*/
|
|
151
152
|
export function createFMP4Segmenter(options) {
|
|
152
|
-
const {
|
|
153
|
+
const { clock = systemClock, continuity, onError, onStop, pendingDiscontinuity, prerollBaseUrl, prerollCodec, prerollSegmentCount, streamId } = options;
|
|
154
|
+
const { initialTrackTimestamps, previousInitSegment, priorSessionStats, startingInitVersion, startingSegmentIndex } = continuity ?? {};
|
|
153
155
|
// Initialize state.
|
|
154
156
|
const state = {
|
|
155
157
|
discontinuityIndices: new Set(),
|
|
@@ -176,7 +178,7 @@ export function createFMP4Segmenter(options) {
|
|
|
176
178
|
segmentDurations: new Map(),
|
|
177
179
|
segmentFirstMoofChecked: false,
|
|
178
180
|
segmentIndex: startingSegmentIndex ?? 0,
|
|
179
|
-
segmentStartTime:
|
|
181
|
+
segmentStartTime: clock.now(),
|
|
180
182
|
segmentTimestamps: new Map(),
|
|
181
183
|
segmentTrackDurations: new Map(),
|
|
182
184
|
segmentsWithoutLeadingKeyframe: 0,
|
|
@@ -251,8 +253,8 @@ export function createFMP4Segmenter(options) {
|
|
|
251
253
|
// Emit PROGRAM-DATE-TIME for real segments using the recorded wall-clock timestamp. Intentionally omitted from preroll segments - preroll is synthetic
|
|
252
254
|
// placeholder content and assigning it wall-clock timestamps would create a backward time jump at the preroll-to-live boundary.
|
|
253
255
|
const timestamp = state.segmentTimestamps.get(i);
|
|
254
|
-
if (timestamp) {
|
|
255
|
-
entry.programDateTime = timestamp.toISOString();
|
|
256
|
+
if (timestamp !== undefined) {
|
|
257
|
+
entry.programDateTime = new Date(timestamp).toISOString();
|
|
256
258
|
}
|
|
257
259
|
realEntries.push(entry);
|
|
258
260
|
}
|
|
@@ -284,7 +286,7 @@ export function createFMP4Segmenter(options) {
|
|
|
284
286
|
function resetSegmentTracking() {
|
|
285
287
|
state.fragmentBuffer = [];
|
|
286
288
|
state.segmentFirstMoofChecked = false;
|
|
287
|
-
state.segmentStartTime =
|
|
289
|
+
state.segmentStartTime = clock.now();
|
|
288
290
|
state.segmentTrackDurations = new Map();
|
|
289
291
|
// Reset video traf tracking for the next segment. Stays null if the video trackId is unknown; otherwise starts false until a video traf is seen.
|
|
290
292
|
state.videoTrafsInCurrentSegment = (state.videoTrackId !== null) ? false : null;
|
|
@@ -315,9 +317,9 @@ export function createFMP4Segmenter(options) {
|
|
|
315
317
|
}
|
|
316
318
|
}
|
|
317
319
|
}
|
|
318
|
-
const actualDuration = Math.max(0.1, (mediaDuration > 0) ? mediaDuration : ((
|
|
320
|
+
const actualDuration = Math.max(0.1, (mediaDuration > 0) ? mediaDuration : ((clock.now() - state.segmentStartTime) / 1000));
|
|
319
321
|
state.segmentDurations.set(state.segmentIndex, actualDuration);
|
|
320
|
-
state.segmentTimestamps.set(state.segmentIndex,
|
|
322
|
+
state.segmentTimestamps.set(state.segmentIndex, clock.now());
|
|
321
323
|
// Compute inter-track sync spread for session statistics. This measures the timing difference between audio and video tracks at each segment boundary. Only
|
|
322
324
|
// computed when both tracks have known timescales and active timestamp counters.
|
|
323
325
|
if (state.trackTimescales.size >= 2) {
|
|
@@ -374,13 +376,13 @@ export function createFMP4Segmenter(options) {
|
|
|
374
376
|
// Clear the fragment buffer and reset segment-level tracking for the next segment.
|
|
375
377
|
resetSegmentTracking();
|
|
376
378
|
// Update the playlist.
|
|
377
|
-
updatePlaylist(streamId, generatePlaylist());
|
|
379
|
+
updatePlaylist(streamId, generatePlaylist(), clock.now());
|
|
378
380
|
}
|
|
379
381
|
/**
|
|
380
382
|
* Processes keyframe detection results for a moof box. Updates running statistics and logs warnings when segments don't start with keyframes.
|
|
381
383
|
*/
|
|
382
384
|
function trackKeyframe(isKeyframe) {
|
|
383
|
-
const now =
|
|
385
|
+
const now = clock.now();
|
|
384
386
|
if (isKeyframe === true) {
|
|
385
387
|
state.keyframeCount++;
|
|
386
388
|
// Compute the interval from the previous keyframe. We need at least one prior keyframe for a meaningful interval.
|
|
@@ -427,12 +429,19 @@ export function createFMP4Segmenter(options) {
|
|
|
427
429
|
if (box.type === "moov") {
|
|
428
430
|
// Output the init segment.
|
|
429
431
|
const initData = Buffer.concat(state.initBoxes);
|
|
430
|
-
storeInitSegment(streamId, initData);
|
|
432
|
+
storeInitSegment(streamId, initData, clock.now());
|
|
431
433
|
state.hasInit = true;
|
|
432
434
|
state.initSegment = initData;
|
|
433
|
-
// Check whether the init content changed. Always true for fresh
|
|
434
|
-
//
|
|
435
|
+
// Check whether the init content changed. Always true for a fresh stream, which continues nothing. A capture that continues an earlier one - a tab
|
|
436
|
+
// replacement, or a resume across a restart - carries that capture's initialization, and an identical one suppresses the pending discontinuity.
|
|
435
437
|
const initChanged = !previousInitSegment || !initData.equals(previousInitSegment);
|
|
438
|
+
/* A continued capture whose initialization differs is the event worth counting in the field: the encoder came back with other parameters, so every
|
|
439
|
+
* client re-initializes - an HLS client through the discontinuity and the re-emitted map URI, an MPEG-TS client through a connection end. One line per
|
|
440
|
+
* occurrence, at a lifecycle event rather than per keyframe.
|
|
441
|
+
*/
|
|
442
|
+
if (previousInitSegment && initChanged) {
|
|
443
|
+
LOG.info("Capture parameters changed: the new initialization segment differs from the one this capture continues from.");
|
|
444
|
+
}
|
|
436
445
|
// Version the init URI for HLS cache busting. Incrementing the version makes the #EXT-X-MAP URI different from the previous playlist, forcing clients
|
|
437
446
|
// to re-fetch the init segment. This prevents timescale mismatches when Chrome's MediaRecorder picks a different timescale between capture sessions.
|
|
438
447
|
if (initChanged) {
|
|
@@ -524,7 +533,7 @@ export function createFMP4Segmenter(options) {
|
|
|
524
533
|
outputSegment();
|
|
525
534
|
}
|
|
526
535
|
else {
|
|
527
|
-
const elapsedMs =
|
|
536
|
+
const elapsedMs = clock.now() - state.segmentStartTime;
|
|
528
537
|
const targetMs = CONFIG.hls.segmentDuration * 1000;
|
|
529
538
|
if (elapsedMs >= targetMs) {
|
|
530
539
|
outputSegment();
|
|
@@ -661,9 +670,22 @@ export function createFMP4Segmenter(options) {
|
|
|
661
670
|
parser.flush();
|
|
662
671
|
onError(error);
|
|
663
672
|
}
|
|
673
|
+
// The four live continuity reads, named once so the individual getters and the snapshot below are the same reads rather than two sets that could drift. Each
|
|
674
|
+
// copies what it returns, so a caller holding a snapshot is unaffected by the segments this segmenter goes on to produce.
|
|
675
|
+
const readInitVersion = () => state.initVersion;
|
|
676
|
+
const readSegmentIndex = () => state.segmentIndex;
|
|
677
|
+
const readSessionStats = () => ({ ...state.sessionStats });
|
|
678
|
+
const readTrackTimestamps = () => new Map(state.trackTimestamps);
|
|
664
679
|
return {
|
|
680
|
+
getContinuitySnapshot: () => ({
|
|
681
|
+
initialTrackTimestamps: readTrackTimestamps(),
|
|
682
|
+
previousInitSegment: state.initSegment,
|
|
683
|
+
priorSessionStats: readSessionStats(),
|
|
684
|
+
startingInitVersion: readInitVersion(),
|
|
685
|
+
startingSegmentIndex: readSegmentIndex()
|
|
686
|
+
}),
|
|
665
687
|
getInitSegment: () => state.initSegment,
|
|
666
|
-
getInitVersion:
|
|
688
|
+
getInitVersion: readInitVersion,
|
|
667
689
|
getKeyframeStats: () => ({
|
|
668
690
|
averageKeyframeIntervalMs: (state.keyframeCount >= 2) ? (state.totalKeyframeIntervalMs / (state.keyframeCount - 1)) : 0,
|
|
669
691
|
indeterminateCount: state.indeterminateCount,
|
|
@@ -675,9 +697,9 @@ export function createFMP4Segmenter(options) {
|
|
|
675
697
|
}),
|
|
676
698
|
getLastSegmentHasVideo: () => state.lastSegmentHasVideo,
|
|
677
699
|
getLastSegmentSize: () => state.lastSegmentSize,
|
|
678
|
-
getSegmentIndex:
|
|
679
|
-
getSessionStats:
|
|
680
|
-
getTrackTimestamps:
|
|
700
|
+
getSegmentIndex: readSegmentIndex,
|
|
701
|
+
getSessionStats: readSessionStats,
|
|
702
|
+
getTrackTimestamps: readTrackTimestamps,
|
|
681
703
|
markDiscontinuity: () => {
|
|
682
704
|
if (state.stopped) {
|
|
683
705
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fmp4Segmenter.js","sourceRoot":"","sources":["../../src/streaming/fmp4Segmenter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fmp4Segmenter.js","sourceRoot":"","sources":["../../src/streaming/fmp4Segmenter.ts"],"names":[],"mappings":"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"}
|