@norskvideo/norsk-studio-source-switcher 1.9.0-2025-01-27-b21c8c91

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
5
+ const webrtc_client_1 = require("@norskvideo/webrtc-client");
6
+ const activeClasses = "active text-green-500 dark:text-green-300";
7
+ const availableClasses = "available text-green-500 dark:text-green-300";
8
+ const inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
9
+ var currentClient = undefined;
10
+ function SummaryView({ state, config, sendCommand }) {
11
+ const [previewSource, setPreviewSource] = (0, react_1.useState)(undefined);
12
+ const [activePlayerSource, setActivePlayerSource] = (0, react_1.useState)(undefined);
13
+ const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
14
+ (0, react_1.useEffect)(() => {
15
+ if (previewSource !== activePlayerSource || initialLoad) {
16
+ const player = previewSource == undefined ? state.previewPlayerUrl : state.players.find((p) => p.source.id == previewSource.id && p.source.key == previewSource.key)?.player;
17
+ if (!player)
18
+ return;
19
+ if (currentClient) {
20
+ currentClient.videoElements.forEach((e) => {
21
+ e.remove();
22
+ });
23
+ }
24
+ currentClient = new webrtc_client_1.WhepClient({ url: player, container: document.getElementById(`${config.id}-preview`) ?? undefined });
25
+ void currentClient.start();
26
+ setActivePlayerSource(previewSource);
27
+ setInitialLoad(false);
28
+ }
29
+ }, [
30
+ previewSource,
31
+ activePlayerSource,
32
+ initialLoad,
33
+ state.players
34
+ ]);
35
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h5", { children: "Sources" }), (0, jsx_runtime_1.jsx)("ul", { children: state.knownSources.map((s, i) => state.activeSource.id == s.id && state.activeSource.key == s.key ?
36
+ (0, jsx_runtime_1.jsxs)("li", { className: activeClasses, children: [s.key ?? s.id, " <--"] }, i)
37
+ : state.availableSources.find((a) => s.id == a.id && s.key == a.key)
38
+ ? (0, jsx_runtime_1.jsxs)("li", { className: availableClasses, children: [s.key ?? s.id, " (available)"] }, i)
39
+ : (0, jsx_runtime_1.jsxs)("li", { className: inactiveClasses, children: [s.key ?? s.id, " (inactive)"] }, i)) }), config.enablePreviews ?
40
+ (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h4", { children: previewSource ? previewSource.key ?? previewSource.id : "Preview" }), (0, jsx_runtime_1.jsx)("div", { id: `${config.id}-preview` })] })
41
+ : null, (0, jsx_runtime_1.jsx)("label", { htmlFor: "select-preview", className: "mt-2", children: "Source" }), (0, jsx_runtime_1.jsxs)("select", { id: "select-preview", className: "mt-2 node-editor-select-input", onChange: (e) => {
42
+ setPreviewSource(JSON.parse(e.currentTarget.value));
43
+ }, children: [(0, jsx_runtime_1.jsx)("option", { selected: previewSource === undefined, children: "---" }), state.availableSources.map((s, i) => (0, jsx_runtime_1.jsx)("option", { selected: previewSource == s, value: JSON.stringify(s), children: s.key ?? s.id }, i))] }), previewSource ? (0, jsx_runtime_1.jsx)("button", { type: "button", className: "mt-2 mb-2 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800", onClick: (e) => {
44
+ e.preventDefault();
45
+ sendCommand({ type: "select-source", source: previewSource, overlays: [] });
46
+ setPreviewSource(undefined);
47
+ }, children: "Make Active" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})] });
48
+ }
49
+ exports.default = SummaryView;
50
+ //# sourceMappingURL=summary-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-view.js","sourceRoot":"","sources":["../src/summary-view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
30
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
31
+ const builder_1 = require("@norskvideo/norsk-studio/lib/test/_util/builder");
32
+ const runtime_1 = require("@norskvideo/norsk-studio/lib/test/_util/runtime");
33
+ const sinks_1 = require("@norskvideo/norsk-studio/lib/test/_util/sinks");
34
+ const sources_1 = require("@norskvideo/norsk-studio/lib/test/_util/sources");
35
+ const yaml_1 = __importDefault(require("yaml"));
36
+ const document = __importStar(require("@norskvideo/norsk-studio/lib/runtime/document"));
37
+ const execution_1 = __importDefault(require("@norskvideo/norsk-studio/lib/runtime/execution"));
38
+ const info_1 = __importDefault(require("../info"));
39
+ const runtime_2 = __importDefault(require("../runtime"));
40
+ const chai_1 = require("chai");
41
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
42
+ const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
43
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
44
+ const CameraSelectInfo = (0, info_1.default)(client_types_1.RegistrationConsts);
45
+ async function testRuntime() {
46
+ const runtime = await (0, runtime_1.testRuntime)();
47
+ runtime.registerComponent(new runtime_2.default(), CameraSelectInfo, "");
48
+ return runtime;
49
+ }
50
+ describe("Multi camera select", () => {
51
+ const config = {
52
+ id: 'ss',
53
+ enablePreviews: true,
54
+ displayName: "sss",
55
+ resolution: {
56
+ width: 1920,
57
+ height: 1080
58
+ },
59
+ frameRate: {
60
+ frames: 25,
61
+ seconds: 1
62
+ },
63
+ sampleRate: 48000,
64
+ channelLayout: "mono",
65
+ };
66
+ describe("Runtime - Component", () => {
67
+ let norsk = undefined;
68
+ let result = undefined;
69
+ afterEach(async () => {
70
+ await norsk?.close();
71
+ await new Promise((r) => {
72
+ setTimeout(() => {
73
+ r();
74
+ }, 10.0);
75
+ });
76
+ norsk = undefined;
77
+ result = undefined;
78
+ });
79
+ const latestState = () => {
80
+ return result?.runtimeState.getNodeState('select');
81
+ };
82
+ const sendCommand = (command) => {
83
+ const definition = result?.document.components["select"].definition;
84
+ const node = result?.components["select"];
85
+ (0, logging_1.debuglog)("Sending command to node", { id: node.id, command });
86
+ definition.handleCommand(node, command);
87
+ };
88
+ const compileDocument = async () => {
89
+ const runtime = await testRuntime();
90
+ const yaml = new builder_1.YamlBuilder()
91
+ .addNode(new builder_1.YamlNodeBuilder('select', CameraSelectInfo, config).reify()).reify();
92
+ return document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
93
+ };
94
+ describe("No inputs", () => {
95
+ it("Should output A/V from the fallback source", async () => {
96
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
97
+ const compiled = await compileDocument();
98
+ result = await (0, execution_1.default)(norsk, compiled);
99
+ const switcher = result.components['select'];
100
+ await Promise.all([
101
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
102
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
103
+ (0, sinks_1.waitForAssert)(() => latestState()?.availableSources.length == 1, () => {
104
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('fallback', "Active source on component");
105
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('fallback', "active source on runtime state");
106
+ (0, chai_1.expect)(latestState()?.availableSources).length(1, "available sources");
107
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
108
+ }, 60000.0, 10.0),
109
+ ]);
110
+ });
111
+ });
112
+ describe("Single input, no commands sent", () => {
113
+ it("Should output A/V from the fallback source", async () => {
114
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
115
+ const source = await (0, sources_1.videoAndAudio)(norsk, "primary");
116
+ const compiled = await compileDocument();
117
+ result = await (0, execution_1.default)(norsk, compiled);
118
+ const switcher = result.components['select'];
119
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-first-stream", select: client_types_1.Av })]);
120
+ await Promise.all([
121
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
122
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
123
+ (0, sinks_1.waitForAssert)(() => latestState()?.availableSources.length == 2, () => {
124
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('fallback', "Active source on component");
125
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('fallback', "active source in runtime state");
126
+ (0, chai_1.expect)(latestState()?.availableSources).length(2, "available sources");
127
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('primary');
128
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
129
+ }, 10000.0, 10.0),
130
+ ]);
131
+ });
132
+ });
133
+ describe("Sending a switch source command when the source exists", () => {
134
+ it("switches to that source", async () => {
135
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
136
+ const source = await (0, sources_1.videoAndAudio)(norsk, "primary");
137
+ const compiled = await compileDocument();
138
+ result = await (0, execution_1.default)(norsk, compiled);
139
+ const switcher = result.components['select'];
140
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-first-stream", select: client_types_1.Av })]);
141
+ await (0, util_1.waitForCondition)(() => latestState()?.availableSources.length == 2);
142
+ sendCommand({
143
+ type: 'select-source', source: { id: 'primary' }, overlays: []
144
+ });
145
+ await Promise.all([
146
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
147
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
148
+ (0, sinks_1.waitForAssert)(() => latestState()?.activeSource.id == 'primary', () => {
149
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('primary', "Active source on component");
150
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('primary', "active source in runtime state");
151
+ (0, chai_1.expect)(latestState()?.availableSources).length(2, "available sources");
152
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('primary');
153
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
154
+ }, 60000.0, 10.0),
155
+ ]);
156
+ });
157
+ });
158
+ describe("Sending a switch source command when the source does not exist", () => {
159
+ it("leaves the current source intact", async () => {
160
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
161
+ const source = await (0, sources_1.videoAndAudio)(norsk, "primary");
162
+ const compiled = await compileDocument();
163
+ result = await (0, execution_1.default)(norsk, compiled);
164
+ const switcher = result.components['select'];
165
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-first-stream", select: client_types_1.Av })]);
166
+ await (0, util_1.waitForCondition)(() => latestState()?.availableSources.length == 2);
167
+ sendCommand({
168
+ type: 'select-source', source: { id: 'primary' }, overlays: []
169
+ });
170
+ await (0, util_1.waitForCondition)(() => latestState()?.activeSource.id == 'primary');
171
+ sendCommand({
172
+ type: 'select-source', source: { id: 'utter nonsense' }, overlays: []
173
+ });
174
+ await Promise.all([
175
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
176
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
177
+ (0, sinks_1.waitForAssert)(() => latestState()?.activeSource.id == 'primary', () => {
178
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('primary', "Active source on component");
179
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('primary', "active source in runtime state");
180
+ (0, chai_1.expect)(latestState()?.availableSources).length(2, "available sources");
181
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('primary');
182
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
183
+ }, 10000.0, 10.0),
184
+ ]);
185
+ });
186
+ });
187
+ describe("terminating the active source", () => {
188
+ it("switches to fallback, removes the source from available", async () => {
189
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
190
+ const source = await (0, sources_1.videoAndAudio)(norsk, "primary");
191
+ const compiled = await compileDocument();
192
+ result = await (0, execution_1.default)(norsk, compiled);
193
+ const switcher = result.components['select'];
194
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-first-stream", select: client_types_1.Av })]);
195
+ await (0, util_1.waitForCondition)(() => latestState()?.availableSources.length == 2 && latestState()?.activeSource.id == 'fallback');
196
+ sendCommand({
197
+ type: 'select-source', source: { id: 'primary' }, overlays: []
198
+ });
199
+ await (0, util_1.waitForCondition)(() => latestState()?.activeSource.id == 'primary');
200
+ await source.close();
201
+ await Promise.all([
202
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
203
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
204
+ (0, sinks_1.waitForAssert)(() => latestState().availableSources.length == 1 && latestState()?.activeSource.id == 'fallback', () => {
205
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('fallback', "Active source on component");
206
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('fallback', "active source on runtime state");
207
+ (0, chai_1.expect)(latestState()?.availableSources).length(1, "available sources");
208
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
209
+ }, 10000.0, 10.0),
210
+ ]);
211
+ });
212
+ });
213
+ describe("reviving a previously active source after termination", () => {
214
+ it("stays on fallback, source is available", async () => {
215
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
216
+ const source = await (0, sources_1.videoAndAudio)(norsk, "primary");
217
+ const compiled = await compileDocument();
218
+ result = await (0, execution_1.default)(norsk, compiled);
219
+ const switcher = result.components['select'];
220
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-first-stream", select: client_types_1.Av })]);
221
+ await (0, util_1.waitForCondition)(() => latestState()?.availableSources.length == 2 && latestState()?.activeSource.id == 'fallback');
222
+ sendCommand({
223
+ type: 'select-source', source: { id: 'primary' }, overlays: []
224
+ });
225
+ await (0, util_1.waitForCondition)(() => latestState()?.activeSource.id == 'primary');
226
+ switcher.subscribe([]);
227
+ await (0, util_1.waitForCondition)(() => latestState()?.availableSources.length == 1 && latestState()?.activeSource.id == 'fallback');
228
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-first-stream", select: client_types_1.Av })]);
229
+ await Promise.all([
230
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
231
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
232
+ (0, sinks_1.waitForAssert)(() => latestState()?.availableSources.length == 2, () => {
233
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('fallback', "Active source on component");
234
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('fallback', "active source on runtime state");
235
+ (0, chai_1.expect)(latestState()?.availableSources).length(2, "available sources");
236
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('primary');
237
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
238
+ }, 10000.0, 10.0),
239
+ ]);
240
+ });
241
+ });
242
+ describe("subscribing to a multi-av input", () => {
243
+ it("the subscribed-to entries are listed as known/available streams", async () => {
244
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
245
+ const sourceConfig = { id: 'foo', displayName: 'Foo', inputs: ["one", "two", "three"] };
246
+ const runtime = await testRuntime();
247
+ const yaml = new builder_1.YamlBuilder()
248
+ .addNode(new builder_1.YamlNodeBuilder('source', runtime_1.AvMultiInput.info, sourceConfig).reify())
249
+ .addNode(new builder_1.YamlNodeBuilder('select', CameraSelectInfo, config).reify())
250
+ .reify();
251
+ const compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
252
+ result = await (0, execution_1.default)(norsk, compiled);
253
+ const switcher = result.components['select'];
254
+ const source = result.components['source'];
255
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, compiled.components['source'].yaml, { type: "take-specific-streams", select: client_types_1.Av, filter: ["one", "two"] }, runtime_1.AvMultiInput.info)]);
256
+ await Promise.all([
257
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
258
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
259
+ (0, sinks_1.waitForAssert)(() => latestState()?.availableSources.length == 3, () => {
260
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('fallback', "Active source on component");
261
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('fallback', "active source on runtime state");
262
+ (0, chai_1.expect)(latestState()?.availableSources).length(3, "available sources");
263
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.key)).contains('one');
264
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.key)).contains('two');
265
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
266
+ (0, chai_1.expect)(latestState()?.knownSources.map((s) => s.key)).contains('one');
267
+ (0, chai_1.expect)(latestState()?.knownSources.map((s) => s.key)).contains('two');
268
+ (0, chai_1.expect)(latestState()?.knownSources.map((s) => s.id)).contains('fallback');
269
+ }, 10000.0, 10.0),
270
+ ]);
271
+ });
272
+ it("Unavailable entries are shown as known about but not available", async () => {
273
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
274
+ const sourceConfig = { id: 'source', displayName: "source", inputs: ["one", "two", "three"] };
275
+ const runtime = await testRuntime();
276
+ const yaml = new builder_1.YamlBuilder()
277
+ .addNode(new builder_1.YamlNodeBuilder('source', runtime_1.AvMultiInput.info, sourceConfig).reify())
278
+ .addNode(new builder_1.YamlNodeBuilder('select', CameraSelectInfo, config).reify())
279
+ .reify();
280
+ const compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
281
+ result = await (0, execution_1.default)(norsk, compiled);
282
+ const switcher = result.components['select'];
283
+ const source = result.components['source'];
284
+ const sourceNodeDescription = compiled.components['source'].yaml;
285
+ sourceNodeDescription.config = { ...sourceConfig, inputs: ['nope', ...sourceConfig.inputs] };
286
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, sourceNodeDescription, { type: "take-specific-streams", select: client_types_1.Av, filter: ["one", "two", "nope"] }, runtime_1.AvMultiInput.info)]);
287
+ await Promise.all([
288
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
289
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
290
+ (0, sinks_1.waitForAssert)(() => latestState()?.availableSources.length == 3, () => {
291
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('fallback', "Active source on component");
292
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('fallback', "active source on runtime state");
293
+ (0, chai_1.expect)(latestState()?.availableSources).length(3, "available sources");
294
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.key)).contains('one');
295
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.key)).contains('two');
296
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
297
+ (0, chai_1.expect)(latestState()?.knownSources.map((s) => s.key)).contains('one');
298
+ (0, chai_1.expect)(latestState()?.knownSources.map((s) => s.key)).contains('two');
299
+ (0, chai_1.expect)(latestState()?.knownSources.map((s) => s.key)).contains('nope');
300
+ (0, chai_1.expect)(latestState()?.knownSources.map((s) => s.id)).contains('fallback');
301
+ }, 10000.0, 10.0),
302
+ ]);
303
+ });
304
+ });
305
+ describe("Adding an overlay to itself", () => {
306
+ it("results in compose being active", async () => {
307
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
308
+ const source = await (0, sources_1.videoAndAudio)(norsk, "primary");
309
+ const compiled = await compileDocument();
310
+ result = await (0, execution_1.default)(norsk, compiled);
311
+ const switcher = result.components['select'];
312
+ switcher.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-first-stream", select: client_types_1.Av })]);
313
+ await (0, util_1.waitForCondition)(() => latestState()?.availableSources.length == 2);
314
+ sendCommand({
315
+ type: 'select-source', source: { id: 'primary' }, overlays: [
316
+ {
317
+ source: {
318
+ id: "primary",
319
+ }
320
+ }
321
+ ]
322
+ });
323
+ await Promise.all([
324
+ (0, sinks_1.assertNodeOutputsAudioFrames)(norsk, result, 'select'),
325
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, 'select'),
326
+ (0, sinks_1.waitForAssert)(() => {
327
+ return latestState()?.activeSource.id == 'primary';
328
+ }, () => {
329
+ (0, chai_1.expect)(switcher.activeSource.primary.id).equals('primary', "Active source primary on component");
330
+ (0, chai_1.expect)(switcher.activeSource.pin).equals('select-compose-0', "Active source pin on component");
331
+ (0, chai_1.expect)(latestState()?.activeSource.id).equals('primary', "active source in runtime state");
332
+ (0, chai_1.expect)(latestState()?.activeOverlays[0].source.id).equals('primary', "active source overlay");
333
+ (0, chai_1.expect)(latestState()?.availableSources).length(2, "available sources");
334
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('primary');
335
+ (0, chai_1.expect)(latestState()?.availableSources.map((s) => s.id)).contains('fallback');
336
+ }, 60000.0, 2000.0),
337
+ ]);
338
+ });
339
+ });
340
+ });
341
+ });
342
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/test/runtime.ts"],"names":[],"mappings":"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"}
package/lib/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/lib/types.yaml ADDED
@@ -0,0 +1,120 @@
1
+ openapi: 3.0.0
2
+ components:
3
+ schemas:
4
+ stream:
5
+ type: string
6
+ example: source1-stream
7
+ rect:
8
+ type: object
9
+ required:
10
+ - x
11
+ - y
12
+ - width
13
+ - height
14
+ properties:
15
+ x:
16
+ type: number
17
+ "y":
18
+ type: number
19
+ width:
20
+ type: number
21
+ height:
22
+ type: number
23
+
24
+ overlay:
25
+ type: object
26
+ required:
27
+ - source
28
+ properties:
29
+ source:
30
+ $ref: '#/components/schemas/stream'
31
+ sourceRect:
32
+ $ref: '#/components/schemas/rect'
33
+ destRect:
34
+ $ref: '#/components/schemas/rect'
35
+
36
+ status-update:
37
+ type: object
38
+ required:
39
+ - primary
40
+ properties:
41
+ primary:
42
+ $ref: '#/components/schemas/stream'
43
+ transition:
44
+ $ref: '#/components/schemas/transition'
45
+ overlays:
46
+ type: array
47
+ items:
48
+ $ref: '#/components/schemas/overlay'
49
+ active-source:
50
+ type: object
51
+ required:
52
+ - source
53
+ - resolution
54
+ - age
55
+ properties:
56
+ source:
57
+ $ref: '#/components/schemas/stream'
58
+ resolution:
59
+ type: object
60
+ properties:
61
+ width:
62
+ type: 'number'
63
+ height:
64
+ type: 'number'
65
+ age:
66
+ type: number
67
+ description: "The number of milliseconds this source has been active"
68
+ frameRate:
69
+ type: object
70
+ properties:
71
+ frames:
72
+ type: 'number'
73
+ seconds:
74
+ type: 'number'
75
+
76
+ status:
77
+ type: object
78
+ required:
79
+ - active
80
+ - available
81
+ properties:
82
+ active:
83
+ type: object
84
+ required:
85
+ - primary
86
+ - overlays
87
+ properties:
88
+ primary:
89
+ $ref: '#/components/schemas/stream'
90
+ overlays:
91
+ type: array
92
+ items:
93
+ $ref: '#/components/schemas/overlay'
94
+ available:
95
+ type: array
96
+ items:
97
+ $ref: '#/components/schemas/active-source'
98
+
99
+ transition:
100
+ discriminator:
101
+ propertyName: type
102
+ oneOf:
103
+ - type: object
104
+ properties:
105
+ type:
106
+ type: string
107
+ enum:
108
+ - fade
109
+ durationMs:
110
+ type: number
111
+ description: How long this transition should take
112
+ - type: object
113
+ properties:
114
+ type:
115
+ type: string
116
+ enum:
117
+ - animate
118
+ durationMs:
119
+ type: number
120
+ description: How long this transition should take