@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-06-336ac6c6 → 1.27.0-2025-07-09-f9b24945

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/client/info.js +665 -284
  2. package/client/style.css +46 -0
  3. package/lib/info.js +3 -1
  4. package/lib/info.js.map +1 -1
  5. package/lib/input.rtmp/info.d.ts +20 -1
  6. package/lib/input.rtmp/runtime.d.ts +20 -1
  7. package/lib/input.rtmp/types.d.ts +47 -27
  8. package/lib/input.rtmp/types.source.yaml +319 -0
  9. package/lib/input.rtmp/types.yaml +206 -131
  10. package/lib/input.silence/info.d.ts +4 -2
  11. package/lib/input.silence/types.d.ts +4 -7
  12. package/lib/input.silence/types.source.yaml +27 -0
  13. package/lib/input.silence/types.yaml +82 -4
  14. package/lib/input.srt-caller/info.d.ts +41 -4
  15. package/lib/input.srt-caller/types.d.ts +51 -43
  16. package/lib/input.srt-caller/types.source.yaml +70 -0
  17. package/lib/input.srt-caller/types.yaml +138 -24
  18. package/lib/input.srt-listener/info.d.ts +41 -4
  19. package/lib/input.srt-listener/runtime.d.ts +34 -3
  20. package/lib/input.srt-listener/types.d.ts +74 -44
  21. package/lib/input.srt-listener/types.source.yaml +329 -0
  22. package/lib/input.srt-listener/types.yaml +259 -132
  23. package/lib/input.udp-ts/info.d.ts +20 -1
  24. package/lib/input.udp-ts/types.d.ts +20 -25
  25. package/lib/input.udp-ts/types.source.yaml +40 -0
  26. package/lib/input.udp-ts/types.yaml +81 -3
  27. package/lib/input.videoTestCard/info.d.ts +8 -2
  28. package/lib/input.videoTestCard/types.d.ts +8 -10
  29. package/lib/input.videoTestCard/types.source.yaml +32 -0
  30. package/lib/input.videoTestCard/types.yaml +30 -6
  31. package/lib/input.whip/info.d.ts +7 -1
  32. package/lib/input.whip/types.d.ts +44 -28
  33. package/lib/input.whip/types.source.yaml +190 -0
  34. package/lib/input.whip/types.yaml +179 -104
  35. package/lib/output.autoCmaf/fullscreen.js +46 -1
  36. package/lib/output.autoCmaf/fullscreen.js.map +1 -1
  37. package/lib/output.autoCmaf/info.js +20 -0
  38. package/lib/output.autoCmaf/info.js.map +1 -1
  39. package/lib/output.autoCmaf/inline-view.d.ts +3 -2
  40. package/lib/output.autoCmaf/inline-view.js +72 -2
  41. package/lib/output.autoCmaf/inline-view.js.map +1 -1
  42. package/lib/output.autoCmaf/runtime.d.ts +2 -1
  43. package/lib/output.autoCmaf/runtime.js +41 -11
  44. package/lib/output.autoCmaf/runtime.js.map +1 -1
  45. package/lib/output.autoCmaf/types.d.ts +2 -0
  46. package/lib/output.autoCmaf/types.yaml +6 -0
  47. package/lib/output.cmafMultiVariant/runtime.js +2 -2
  48. package/lib/output.cmafMultiVariant/runtime.js.map +1 -1
  49. package/lib/output.cmafPlaylist/info.js +19 -0
  50. package/lib/output.cmafPlaylist/info.js.map +1 -1
  51. package/lib/output.cmafPlaylist/runtime.js +6 -3
  52. package/lib/output.cmafPlaylist/runtime.js.map +1 -1
  53. package/lib/output.cmafPlaylist/types.d.ts +1 -0
  54. package/lib/output.cmafPlaylist/types.yaml +3 -0
  55. package/lib/output.preview/inline-view.js +1 -1
  56. package/lib/output.preview/inline-view.js.map +1 -1
  57. package/lib/output.preview/runtime.js +2 -2
  58. package/lib/output.preview/runtime.js.map +1 -1
  59. package/lib/output.statistics/info.d.ts +172 -2
  60. package/lib/output.statistics/types.d.ts +400 -72
  61. package/lib/output.statistics/types.source.yaml +119 -0
  62. package/lib/output.statistics/types.yaml +333 -91
  63. package/lib/output.tsMediaPlaylist/runtime.js +2 -2
  64. package/lib/output.tsMediaPlaylist/runtime.js.map +1 -1
  65. package/lib/output.tsMultiVariant/runtime.js +1 -1
  66. package/lib/output.tsMultiVariant/runtime.js.map +1 -1
  67. package/lib/output.whep/runtime.js +3 -1
  68. package/lib/output.whep/runtime.js.map +1 -1
  69. package/lib/processor.audioEncoder/info.d.ts +10 -2
  70. package/lib/processor.audioEncoder/types.d.ts +23 -12
  71. package/lib/processor.audioEncoder/types.source.yaml +78 -0
  72. package/lib/processor.audioEncoder/types.yaml +103 -29
  73. package/lib/processor.browserOverlay/info.js +5 -3
  74. package/lib/processor.browserOverlay/info.js.map +1 -1
  75. package/lib/processor.browserOverlay/runtime.d.ts +2 -1
  76. package/lib/processor.browserOverlay/runtime.js +16 -2
  77. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  78. package/lib/processor.fixedLadder/info.d.ts +182 -7
  79. package/lib/processor.fixedLadder/types.d.ts +619 -19
  80. package/lib/processor.fixedLadder/types.source.yaml +462 -0
  81. package/lib/processor.fixedLadder/types.yaml +336 -115
  82. package/lib/processor.makeProgram/info.d.ts +1 -0
  83. package/lib/processor.makeProgram/info.js +9 -0
  84. package/lib/processor.makeProgram/info.js.map +1 -1
  85. package/lib/processor.makeProgram/runtime.d.ts +2 -1
  86. package/lib/processor.makeProgram/runtime.js +14 -1
  87. package/lib/processor.makeProgram/runtime.js.map +1 -1
  88. package/lib/processor.makeProgram/types.d.ts +1 -0
  89. package/lib/processor.makeProgram/types.yaml +3 -1
  90. package/lib/processor.smartSingleMediaSwitch/info.d.ts +12 -4
  91. package/lib/processor.smartSingleMediaSwitch/types.d.ts +22 -18
  92. package/lib/processor.smartSingleMediaSwitch/types.source.yaml +115 -0
  93. package/lib/processor.smartSingleMediaSwitch/types.yaml +147 -50
  94. package/lib/processor.smartSourceSwitch/form-views.d.ts +6 -0
  95. package/lib/processor.smartSourceSwitch/form-views.js +11 -0
  96. package/lib/processor.smartSourceSwitch/form-views.js.map +1 -0
  97. package/lib/processor.smartSourceSwitch/info.d.ts +18 -4
  98. package/lib/processor.smartSourceSwitch/info.js +30 -0
  99. package/lib/processor.smartSourceSwitch/info.js.map +1 -1
  100. package/lib/processor.smartSourceSwitch/inline-view.js +9 -8
  101. package/lib/processor.smartSourceSwitch/inline-view.js.map +1 -1
  102. package/lib/processor.smartSourceSwitch/runtime.d.ts +4 -1
  103. package/lib/processor.smartSourceSwitch/runtime.js +56 -27
  104. package/lib/processor.smartSourceSwitch/runtime.js.map +1 -1
  105. package/lib/processor.smartSourceSwitch/types.d.ts +41 -18
  106. package/lib/processor.smartSourceSwitch/types.source.yaml +129 -0
  107. package/lib/processor.smartSourceSwitch/types.yaml +177 -48
  108. package/lib/processor.syncExternalAudio/info.d.ts +1 -0
  109. package/lib/processor.syncExternalAudio/types.d.ts +1 -0
  110. package/lib/processor.videoDecoder/info.js +4 -2
  111. package/lib/processor.videoDecoder/info.js.map +1 -1
  112. package/lib/processor.zoomTo/info.d.ts +54 -0
  113. package/lib/processor.zoomTo/info.js +174 -0
  114. package/lib/processor.zoomTo/info.js.map +1 -0
  115. package/lib/processor.zoomTo/runtime-types.d.ts +11 -0
  116. package/lib/processor.zoomTo/runtime-types.js +3 -0
  117. package/lib/processor.zoomTo/runtime-types.js.map +1 -0
  118. package/lib/processor.zoomTo/runtime.d.ts +45 -0
  119. package/lib/processor.zoomTo/runtime.js +323 -0
  120. package/lib/processor.zoomTo/runtime.js.map +1 -0
  121. package/lib/processor.zoomTo/types.d.ts +182 -0
  122. package/lib/processor.zoomTo/types.js +3 -0
  123. package/lib/processor.zoomTo/types.js.map +1 -0
  124. package/lib/processor.zoomTo/types.yaml +356 -0
  125. package/lib/test/auto-cmaf.js +7 -4
  126. package/lib/test/auto-cmaf.js.map +1 -1
  127. package/lib/test/smart-source-switch.js +117 -2
  128. package/lib/test/smart-source-switch.js.map +1 -1
  129. package/lib/test/zoom-to.d.ts +1 -0
  130. package/lib/test/zoom-to.js +345 -0
  131. package/lib/test/zoom-to.js.map +1 -0
  132. package/package.json +5 -5
  133. package/lib/output.autoCmaf/summary.d.ts +0 -6
  134. package/lib/output.autoCmaf/summary.js +0 -57
  135. package/lib/output.autoCmaf/summary.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.smartSourceSwitch/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.smartSourceSwitch/info.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
- const activeClasses = "active text-green-500 dark:text-green-300";
5
- const availableClasses = "available text-green-500 dark:text-green-300";
6
- const inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
4
+ function cn(...classes) {
5
+ return classes.filter(Boolean).join(' ');
6
+ }
7
7
  function InlineView({ state, config }) {
8
- return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h5", { children: "Sources" }), (0, jsx_runtime_1.jsxs)("ul", { children: [config.sources.map((s, i) => state.activeSource == s ?
9
- (0, jsx_runtime_1.jsxs)("li", { className: activeClasses, children: [s, " <--"] }, i)
10
- : state.availableSources.includes(s)
11
- ? (0, jsx_runtime_1.jsxs)("li", { className: availableClasses, children: [s, " (available)"] }, i)
12
- : (0, jsx_runtime_1.jsxs)("li", { className: inactiveClasses, children: [s, " (inactive)"] }, i)), (0, jsx_runtime_1.jsx)("li", { className: state.activeSource == 'fallback' ? activeClasses : availableClasses, children: "fallback" }, "fallback")] })] });
8
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h5", { className: "text-gray-900 dark:text-white font-medium", children: "Sources:" }), (0, jsx_runtime_1.jsxs)("ul", { className: "space-y-2 mt-2", children: [config.sources.map((s, i) => {
9
+ const isActive = state.activeSource === s;
10
+ const isAvailable = state.availableSources.includes(s);
11
+ const indicatorClasses = cn("w-3 h-3 rounded-full", isActive ? "bg-live" : isAvailable ? "bg-standby" : "bg-offline");
12
+ return ((0, jsx_runtime_1.jsxs)("li", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)("div", { className: indicatorClasses }), isActive && ((0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: (0, jsx_runtime_1.jsx)("div", { className: "w-3 h-3 rounded-full bg-live animate-ping duration-150" }) }))] }), (0, jsx_runtime_1.jsx)("span", { className: "text-gray-900 dark:text-white", children: s })] }, i));
13
+ }), (0, jsx_runtime_1.jsxs)("li", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)("div", { className: cn("w-3 h-3 rounded-full", state.activeSource === 'fallback' ? "bg-live" : "bg-standby") }), state.activeSource === 'fallback' && ((0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: (0, jsx_runtime_1.jsx)("div", { className: "w-3 h-3 rounded-full bg-live animate-ping duration-150" }) }))] }), (0, jsx_runtime_1.jsx)("span", { className: "text-gray-900 dark:text-white", children: "fallback" })] }, "fallback")] })] });
13
14
  }
14
15
  exports.default = InlineView;
15
16
  //# sourceMappingURL=inline-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/processor.smartSourceSwitch/inline-view.tsx"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG,2CAA2C,CAAC;AAClE,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AACxE,MAAM,eAAe,GAAG,+CAA+C,CAAC;AAOxE,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsE;IACvG,OAAO,6DACL,qDAAgB,EAChB,2CACG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3B,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;wBACvB,gCAAY,SAAS,EAAE,aAAa,aAAG,CAAC,aAA/B,CAAC,CAA2C;wBACrD,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAClC,CAAC,CAAC,gCAAY,SAAS,EAAE,gBAAgB,aAAG,CAAC,qBAAlC,CAAC,CAAmD;4BAC/D,CAAC,CAAC,gCAAY,SAAS,EAAE,eAAe,aAAG,CAAC,oBAAjC,CAAC,CAAiD,CAClE,EACD,+BAAmB,SAAS,EAAE,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,0BAAzF,UAAU,CAA8F,IAC7G,IACJ,CAAA;AACL,CAAC;AAED,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/processor.smartSourceSwitch/inline-view.tsx"],"names":[],"mappings":";;;AAGA,SAAS,EAAE,CAAC,GAAG,OAAyC;IACtD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsE;IACvG,OAAO,6DACL,+BAAI,SAAS,EAAC,2CAA2C,yBAAc,EACvE,gCAAI,SAAS,EAAC,gBAAgB,aAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC;wBAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAEvD,MAAM,gBAAgB,GAAG,EAAE,CACzB,sBAAsB,EACtB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CACjE,CAAC;wBAEF,OAAO,CACL,gCAAY,SAAS,EAAC,yBAAyB,aAC7C,iCAAK,SAAS,EAAC,UAAU,aACvB,gCAAK,SAAS,EAAE,gBAAgB,GAAQ,EACvC,QAAQ,IAAI,CACX,gCAAK,SAAS,EAAC,mDAAmD,YAChE,gCAAK,SAAS,EAAC,wDAAwD,GAAO,GAC1E,CACP,IACG,EACN,iCAAM,SAAS,EAAC,+BAA+B,YAAE,CAAC,GAAQ,KATnD,CAAC,CAUL,CACN,CAAC;oBACJ,CAAC,CAAC,EACF,gCAAmB,SAAS,EAAC,yBAAyB,aACpD,iCAAK,SAAS,EAAC,UAAU,aACvB,gCAAK,SAAS,EAAE,EAAE,CAChB,sBAAsB,EACtB,KAAK,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAC7D,GAAQ,EACR,KAAK,CAAC,YAAY,KAAK,UAAU,IAAI,CACpC,gCAAK,SAAS,EAAC,mDAAmD,YAChE,gCAAK,SAAS,EAAC,wDAAwD,GAAO,GAC1E,CACP,IACG,EACN,iCAAM,SAAS,EAAC,+BAA+B,yBAAgB,KAZzD,UAAU,CAab,IACF,IACJ,CAAA;AACL,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Norsk, StreamMetadata, StreamSwitchSmoothNode, VideoTestcardGeneratorNode } from '@norskvideo/norsk-sdk';
1
+ import { Norsk, StreamMetadata, StreamSwitchSmoothNode, VideoTestcardGeneratorNode, FileMp4InputNode } from '@norskvideo/norsk-sdk';
2
2
  import { SilenceSource } from '../input.silence/runtime';
3
3
  import { OnCreated, ServerComponentDefinition, StudioComponentInputStream, StudioRuntime, ServerComponentSchemas } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
4
4
  import { CustomAutoDuplexNode } from "@norskvideo/norsk-studio/lib/extension/base-nodes";
@@ -22,12 +22,15 @@ export declare class SmartSourceSwitch extends CustomAutoDuplexNode {
22
22
  cfg: SmartSourceSwitchConfigComplete;
23
23
  audio?: SilenceSource;
24
24
  video?: VideoTestcardGeneratorNode;
25
+ mp4?: FileMp4InputNode;
25
26
  smooth?: StreamSwitchSmoothNode<string>;
26
27
  initialised: Promise<void>;
27
28
  activeSource: string;
29
+ desiredSource: string;
28
30
  availableSources: string[];
29
31
  subscriptions: StudioComponentInputStream[];
30
32
  media: Media[];
33
+ mp4Playing: boolean;
31
34
  initialise(): Promise<void>;
32
35
  constructor(norsk: Norsk, cfg: SmartSourceSwitchConfigComplete);
33
36
  onTransitionComplete(): void;
@@ -36,26 +36,39 @@ class SmartSourceSwitch extends base_nodes_1.CustomAutoDuplexNode {
36
36
  cfg;
37
37
  audio;
38
38
  video;
39
+ mp4;
39
40
  smooth;
40
41
  initialised;
41
42
  activeSource = '';
43
+ desiredSource = '';
42
44
  availableSources = [];
43
45
  subscriptions = [];
44
46
  media = [];
47
+ mp4Playing = false;
45
48
  async initialise() {
46
- const audio = await runtime_1.SilenceSource.create(this.norsk, {
47
- id: `${this.cfg.id}-audio-silence`,
48
- displayName: `${this.cfg.id}-audio-silence`,
49
- channelLayout: this.cfg.channelLayout,
50
- sampleRate: this.cfg.sampleRate,
51
- });
52
- const video = await this.norsk.input.videoTestCard({
53
- id: `${this.cfg.id}-video-card`,
54
- sourceName: 'video-card',
55
- resolution: this.cfg.resolution,
56
- frameRate: this.cfg.frameRate,
57
- pattern: 'black',
58
- });
49
+ if (this.cfg.fallback.kind === 'file') {
50
+ this.mp4 = await this.norsk.input.fileMp4({
51
+ id: `${this.cfg.id}-mp4`,
52
+ sourceName: this.cfg.id,
53
+ fileName: this.cfg.fallback.filePath,
54
+ loop: true
55
+ });
56
+ }
57
+ else {
58
+ this.audio = await runtime_1.SilenceSource.create(this.norsk, {
59
+ id: `${this.cfg.id}-audio-silence`,
60
+ displayName: `${this.cfg.id}-audio-silence`,
61
+ channelLayout: this.cfg.channelLayout,
62
+ sampleRate: this.cfg.sampleRate,
63
+ });
64
+ this.video = await this.norsk.input.videoTestCard({
65
+ id: `${this.cfg.id}-video-card`,
66
+ sourceName: 'video-card',
67
+ resolution: this.cfg.resolution,
68
+ frameRate: this.cfg.frameRate,
69
+ pattern: 'black',
70
+ });
71
+ }
59
72
  const smooth = await this.norsk.processor.control.streamSwitchSmooth({
60
73
  id: `${this.cfg.id}-switch`,
61
74
  outputSource: this.cfg.id,
@@ -68,8 +81,6 @@ class SmartSourceSwitch extends base_nodes_1.CustomAutoDuplexNode {
68
81
  onInboundContextChange: this.onSwitchContext.bind(this),
69
82
  onTransitionComplete: this.onTransitionComplete.bind(this)
70
83
  });
71
- this.audio = audio;
72
- this.video = video;
73
84
  this.smooth = smooth;
74
85
  this.setup({ input: smooth, output: [smooth] });
75
86
  void this.subscribe([]);
@@ -91,14 +102,18 @@ class SmartSourceSwitch extends base_nodes_1.CustomAutoDuplexNode {
91
102
  });
92
103
  const active = this.availableSources.at(0);
93
104
  if (active && this.activeSource != active) {
94
- this.activeSource = active;
95
105
  (0, logging_1.debuglog)("Switching to source as streams are available", { id: this.id, active });
96
106
  await this.smooth?.switchSource(active);
107
+ this.activeSource = active;
108
+ this.desiredSource = active;
109
+ if (this.mp4 && this.activeSource === 'fallback') {
110
+ }
97
111
  }
98
- else if (!active && this.activeSource != 'fallback') {
112
+ else if (!active && this.desiredSource != 'fallback') {
99
113
  (0, logging_1.debuglog)("Switching to fallback as no streams available", { id: this.id });
114
+ await this.smooth?.switchSource('fallback');
100
115
  this.activeSource = 'fallback';
101
- await this.smooth?.switchSource("fallback");
116
+ this.desiredSource = 'fallback';
102
117
  }
103
118
  for (const existing of oldSources) {
104
119
  if (!this.availableSources.includes(existing))
@@ -115,20 +130,34 @@ class SmartSourceSwitch extends base_nodes_1.CustomAutoDuplexNode {
115
130
  const subscriptions = subs.flatMap((s) => {
116
131
  return s.selectToPin(s.definition.sourceName ?? "missing");
117
132
  }).filter((x) => !!x) ?? [];
118
- if (this.audio && this.media.includes("audio"))
119
- subscriptions.push({ source: (this.audio.relatedMediaNodes.output[0]), sourceSelector: (0, norsk_sdk_1.audioToPin)("fallback") });
120
- if (this.video && this.media.includes("video"))
121
- subscriptions.push({
122
- source: this.video, sourceSelector: (0, norsk_sdk_1.videoToPin)("fallback")
123
- });
124
- this.smooth?.subscribeToPins(subscriptions, (_ctx) => {
125
- return true;
126
- });
133
+ (0, logging_1.debuglog)("Subscribing switch to testcards", { id: this.id });
134
+ const cardPin = this.mp4 ? 'tick' : 'fallback';
135
+ if (!this.mp4) {
136
+ if (this.audio && this.media.includes("audio"))
137
+ subscriptions.push({ source: (this.audio.relatedMediaNodes.output[0]), sourceSelector: (0, norsk_sdk_1.audioToPin)(cardPin) });
138
+ if (this.video && this.media.includes("video"))
139
+ subscriptions.push({
140
+ source: this.video, sourceSelector: (0, norsk_sdk_1.videoToPin)(cardPin)
141
+ });
142
+ }
143
+ if (this.mp4) {
144
+ (0, logging_1.debuglog)("Subscribing switch to mp4", { id: this.id });
145
+ if (this.media.includes("audio"))
146
+ subscriptions.push({ source: this.mp4, sourceSelector: (0, norsk_sdk_1.audioToPin)("fallback") });
147
+ if (this.media.includes("video"))
148
+ subscriptions.push({ source: this.mp4, sourceSelector: (0, norsk_sdk_1.videoToPin)("fallback") });
149
+ if (!this.mp4Playing) {
150
+ (0, logging_1.debuglog)("Starting fallback MP4 file again", { id: this.id });
151
+ this.mp4.play();
152
+ }
153
+ }
154
+ this.smooth?.subscribeToPins(subscriptions, (_ctx) => true);
127
155
  }
128
156
  async close() {
129
157
  await super.close();
130
158
  await this.audio?.close();
131
159
  await this.video?.close();
160
+ await this.mp4?.close();
132
161
  }
133
162
  }
134
163
  exports.SmartSourceSwitch = SmartSourceSwitch;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.smartSourceSwitch/runtime.ts"],"names":[],"mappings":";;;;;;AAAA,qDAI+B;AAE/B,sDAAyD;AAEzD,kFAAyF;AAEzF,yEAAuE;AAEvE,gDAAwB;AACxB,+CAAoD;AAUpD,MAAqB,2BAA2B;IAK9C,KAAK,CAAC,MAAM,CAAC,KAAY,EACvB,GAA4B,EAC5B,EAAgC,EAChC,EAAE,OAAO,EAA2F;QAEpG,MAAM,qBAAqB,GAAG,CAAC,YAAoB,EAAE,EAAE;YACrD,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;YACxC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC,CAAA;QAED,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;YACzC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC,CAAA;QAED,MAAM,YAAY,GAAG,EAAE,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,GAAG,EAAE,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,EAAE,CAAC,IAAI,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAA,yBAAe,EAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EACvD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CACrC,CAAA;IACH,CAAC;CACF;AAjCD,8CAiCC;AAYD,MAAa,iBAAkB,SAAQ,iCAAoB;IACzD,KAAK,CAAQ;IACb,GAAG,CAAkC;IACrC,KAAK,CAAiB;IACtB,KAAK,CAA8B;IACnC,MAAM,CAAkC;IACxC,WAAW,CAAgB;IAC3B,YAAY,GAAW,EAAE,CAAC;IAC1B,gBAAgB,GAAa,EAAE,CAAC;IAChC,aAAa,GAAiC,EAAE,CAAC;IACjD,KAAK,GAAY,EAAE,CAAC;IAEpB,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,GAAG,MAAM,uBAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EACjD;YACE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,gBAAgB;YAClC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,gBAAgB;YAC3C,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa;YACrC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;SAChC,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;YACjD,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa;YAC/B,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;YAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;YAC7B,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAGH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC;YACnE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS;YAC3B,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACzB,YAAY,EAAE,UAAU;YACxB,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;YACrC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;YAC7B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;YAC/B,oBAAoB,EAAE,CAAC;YACvB,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa;YACrC,sBAAsB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YACvD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,KAAY,EAAE,GAAoC;QAC5D,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAyC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QAC/C,CAAC,CAAC,CAAA;QAGF,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,IAAA,kBAAQ,EAAC,8CAA8C,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACjF,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;YACtD,IAAA,kBAAQ,EAAC,+CAA+C,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1E,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;QAC7C,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC3C,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAkC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,SAAS,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5C,aAAa,CAAC,IAAI,CAChB,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAoB,EAAE,cAAc,EAAE,IAAA,sBAAU,EAAC,UAAU,CAAC,EAAE,CAChH,CAAC;QACJ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5C,aAAa,CAAC,IAAI,CAChB;gBACE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAA,sBAAU,EAAC,UAAU,CAAC;aAC3D,CACF,CAAC;QAEJ,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACnD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IAGL,CAAC;IAGQ,KAAK,CAAC,KAAK;QAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AA1HD,8CA0HC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.smartSourceSwitch/runtime.ts"],"names":[],"mappings":"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"}
@@ -2,22 +2,58 @@ export type paths = Record<string, never>;
2
2
  export type webhooks = Record<string, never>;
3
3
  export interface components {
4
4
  schemas: {
5
+ testcardFallback: {
6
+ kind: "testcard";
7
+ };
8
+ fileFallback: {
9
+ kind: "file";
10
+ filePath: string;
11
+ };
12
+ fallback: {
13
+ kind: "testcard";
14
+ } | {
15
+ kind: "file";
16
+ filePath: string;
17
+ };
5
18
  config: {
6
19
  id: string;
7
20
  displayName: string;
8
21
  notes?: string;
9
- resolution: components["schemas"]["Resolution"];
10
- frameRate: components["schemas"]["FrameRate"];
11
- sampleRate: components["schemas"]["SampleRate"];
12
- channelLayout: components["schemas"]["ChannelLayout"];
22
+ resolution: {
23
+ width: number;
24
+ height: number;
25
+ };
26
+ frameRate: {
27
+ frames: number;
28
+ seconds: number;
29
+ };
30
+ sampleRate: 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 64000 | 88200 | 96000;
31
+ channelLayout: ("mono" | "stereo" | "surround" | "4.0" | "5.0" | "5.1" | "7.1" | "5.1.4" | "7.1.4") | ("l" | "r" | "c" | "lfe" | "ls" | "rs" | "lc" | "rc" | "lsr" | "rsr" | "cs" | "lsd" | "rsd" | "lss" | "rss" | "lw" | "rw" | "lv" | "rv" | "cv" | "lvr" | "rvr" | "cvr" | "lvss" | "rvss" | "ts" | "lfe2" | "lb" | "rb" | "cb" | "lvs" | "rvs" | "lfe3" | "leos" | "reos" | "hwbcal" | "hwbcar" | "lbs" | "rbs" | "unknown")[] | {
32
+ single: "l" | "r" | "c" | "lfe" | "ls" | "rs" | "lc" | "rc" | "lsr" | "rsr" | "cs" | "lsd" | "rsd" | "lss" | "rss" | "lw" | "rw" | "lv" | "rv" | "cv" | "lvr" | "rvr" | "cvr" | "lvss" | "rvss" | "ts" | "lfe2" | "lb" | "rb" | "cb" | "lvs" | "rvs" | "lfe3" | "leos" | "reos" | "hwbcal" | "hwbcar" | "lbs" | "rbs" | "unknown";
33
+ };
13
34
  sources: string[];
35
+ fallback: {
36
+ kind: "testcard";
37
+ } | {
38
+ kind: "file";
39
+ filePath: string;
40
+ };
14
41
  };
15
42
  state: {
16
43
  activeSource: string;
17
44
  availableSources: string[];
18
45
  };
19
46
  Commands: Record<string, never>;
20
- Events: components["schemas"]["ActiveSourceChangedEvent"] | components["schemas"]["SourceOnlineEvent"] | components["schemas"]["SourceOfflineEvent"];
47
+ Events: {
48
+ type: "active-source-changed";
49
+ activeSource: string;
50
+ } | {
51
+ type: "source-online";
52
+ source: string;
53
+ } | {
54
+ type: "source-offline";
55
+ source: string;
56
+ };
21
57
  ActiveSourceChangedEvent: {
22
58
  type: "active-source-changed";
23
59
  activeSource: string;
@@ -30,19 +66,6 @@ export interface components {
30
66
  type: "source-offline";
31
67
  source: string;
32
68
  };
33
- Resolution: {
34
- width: number;
35
- height: number;
36
- };
37
- FrameRate: {
38
- frames: number;
39
- seconds: number;
40
- };
41
- SampleRate: 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 64000 | 88200 | 96000;
42
- ChannelName: "l" | "r" | "c" | "lfe" | "ls" | "rs" | "lc" | "rc" | "lsr" | "rsr" | "cs" | "lsd" | "rsd" | "lss" | "rss" | "lw" | "rw" | "lv" | "rv" | "cv" | "lvr" | "rvr" | "cvr" | "lvss" | "rvss" | "ts" | "lfe2" | "lb" | "rb" | "cb" | "lvs" | "rvs" | "lfe3" | "leos" | "reos" | "hwbcal" | "hwbcar" | "lbs" | "rbs" | "unknown";
43
- ChannelLayout: ("mono" | "stereo" | "surround" | "4.0" | "5.0" | "5.1" | "7.1" | "5.1.4" | "7.1.4") | components["schemas"]["ChannelName"][] | {
44
- single: components["schemas"]["ChannelName"];
45
- };
46
69
  };
47
70
  responses: never;
48
71
  parameters: never;
@@ -0,0 +1,129 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: Smart Source Switch Processor Component
4
+ version: 1.0.0
5
+
6
+ paths: {}
7
+
8
+ components:
9
+ schemas:
10
+ testcardFallback:
11
+ type: object
12
+ properties:
13
+ kind:
14
+ type: string
15
+ enum: ['testcard']
16
+ required: ['kind']
17
+
18
+ fileFallback:
19
+ type: object
20
+ properties:
21
+ kind:
22
+ type: string
23
+ enum: ['file']
24
+ filePath:
25
+ type: string
26
+ description: Path to MP4 file to use as fallback
27
+ required: ['kind', 'filePath']
28
+
29
+ fallback:
30
+ oneOf:
31
+ - $ref: '#/components/schemas/testcardFallback'
32
+ - $ref: '#/components/schemas/fileFallback'
33
+ discriminator:
34
+ propertyName: kind
35
+ description: Configuration for fallback source when no inputs are available
36
+ default:
37
+ kind: 'testcard'
38
+
39
+ config:
40
+ type: object
41
+ properties:
42
+ id:
43
+ type: string
44
+ displayName:
45
+ type: string
46
+ notes:
47
+ type: string
48
+ resolution:
49
+ $ref: '../../../core/src/types/base.yml#/components/schemas/Resolution'
50
+ frameRate:
51
+ $ref: '../../../core/src/types/base.yml#/components/schemas/FrameRate'
52
+ sampleRate:
53
+ $ref: '../../../core/src/types/base.yml#/components/schemas/SampleRate'
54
+ channelLayout:
55
+ $ref: '../../../core/src/types/base.yml#/components/schemas/ChannelLayout'
56
+ sources:
57
+ type: array
58
+ items:
59
+ type: string
60
+ fallback:
61
+ $ref: '#/components/schemas/fallback'
62
+ required:
63
+ - id
64
+ - displayName
65
+ - resolution
66
+ - frameRate
67
+ - sampleRate
68
+ - channelLayout
69
+ - sources
70
+ - fallback
71
+
72
+ state:
73
+ type: object
74
+ properties:
75
+ activeSource:
76
+ type: string
77
+ availableSources:
78
+ type: array
79
+ items:
80
+ type: string
81
+ required:
82
+ - activeSource
83
+ - availableSources
84
+
85
+ Commands:
86
+ type: object
87
+ description: Currently no commands are implemented
88
+
89
+ Events:
90
+ oneOf:
91
+ - $ref: '#/components/schemas/ActiveSourceChangedEvent'
92
+ - $ref: '#/components/schemas/SourceOnlineEvent'
93
+ - $ref: '#/components/schemas/SourceOfflineEvent'
94
+
95
+ ActiveSourceChangedEvent:
96
+ type: object
97
+ properties:
98
+ type:
99
+ type: string
100
+ enum: ["active-source-changed"]
101
+ activeSource:
102
+ type: string
103
+ required:
104
+ - type
105
+ - activeSource
106
+
107
+ SourceOnlineEvent:
108
+ type: object
109
+ properties:
110
+ type:
111
+ type: string
112
+ enum: ["source-online"]
113
+ source:
114
+ type: string
115
+ required:
116
+ - type
117
+ - source
118
+
119
+ SourceOfflineEvent:
120
+ type: object
121
+ properties:
122
+ type:
123
+ type: string
124
+ enum: ["source-offline"]
125
+ source:
126
+ type: string
127
+ required:
128
+ - type
129
+ - source