@norskvideo/norsk-studio-built-ins 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/client/info.js +250 -980
  2. package/client/processor.audioLevel/styles.css +164 -0
  3. package/client/processor.audioMixer/styles.css +249 -0
  4. package/lib/info.js +21 -27
  5. package/lib/info.js.map +1 -1
  6. package/lib/input.udp-ts/runtime.js +1 -13
  7. package/lib/input.udp-ts/runtime.js.map +1 -1
  8. package/lib/output.autoCmaf/runtime.js +29 -4
  9. package/lib/output.autoCmaf/runtime.js.map +1 -1
  10. package/lib/output.preview/runtime.d.ts +19 -3
  11. package/lib/output.preview/runtime.js +51 -25
  12. package/lib/output.preview/runtime.js.map +1 -1
  13. package/lib/processor.actionReplay/info.d.ts +5 -0
  14. package/lib/processor.actionReplay/info.js +100 -0
  15. package/lib/processor.actionReplay/info.js.map +1 -0
  16. package/lib/processor.actionReplay/runtime.d.ts +59 -0
  17. package/lib/processor.actionReplay/runtime.js +224 -0
  18. package/lib/processor.actionReplay/runtime.js.map +1 -0
  19. package/lib/processor.actionReplay/summary.d.ts +7 -0
  20. package/lib/processor.actionReplay/summary.js +76 -0
  21. package/lib/processor.actionReplay/summary.js.map +1 -0
  22. package/lib/processor.audioLevel/info.d.ts +3 -0
  23. package/lib/processor.audioLevel/info.js +83 -0
  24. package/lib/processor.audioLevel/info.js.map +1 -0
  25. package/lib/processor.audioLevel/inline-view.d.ts +6 -0
  26. package/lib/processor.audioLevel/inline-view.js +23 -0
  27. package/lib/processor.audioLevel/inline-view.js.map +1 -0
  28. package/lib/processor.audioLevel/runtime.d.ts +49 -0
  29. package/lib/processor.audioLevel/runtime.js +82 -0
  30. package/lib/processor.audioLevel/runtime.js.map +1 -0
  31. package/lib/processor.audioLevel/summary-view.d.ts +7 -0
  32. package/lib/processor.audioLevel/summary-view.js +36 -0
  33. package/lib/processor.audioLevel/summary-view.js.map +1 -0
  34. package/lib/processor.audioMixer/fullscreen-view.d.ts +8 -0
  35. package/lib/processor.audioMixer/fullscreen-view.js +121 -0
  36. package/lib/processor.audioMixer/fullscreen-view.js.map +1 -0
  37. package/lib/processor.audioMixer/info.d.ts +4 -0
  38. package/lib/processor.audioMixer/info.js +148 -0
  39. package/lib/processor.audioMixer/info.js.map +1 -0
  40. package/lib/processor.audioMixer/inline-view.d.ts +7 -0
  41. package/lib/processor.audioMixer/inline-view.js +43 -0
  42. package/lib/processor.audioMixer/inline-view.js.map +1 -0
  43. package/lib/processor.audioMixer/runtime.d.ts +119 -0
  44. package/lib/processor.audioMixer/runtime.js +142 -0
  45. package/lib/processor.audioMixer/runtime.js.map +1 -0
  46. package/lib/processor.audioMixer/summary-view.d.ts +7 -0
  47. package/lib/processor.audioMixer/summary-view.js +11 -0
  48. package/lib/processor.audioMixer/summary-view.js.map +1 -0
  49. package/lib/processor.browserOverlay/runtime.d.ts +11 -7
  50. package/lib/processor.browserOverlay/runtime.js +83 -78
  51. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  52. package/lib/processor.dynamicBug/runtime.d.ts +7 -3
  53. package/lib/processor.dynamicBug/runtime.js +94 -64
  54. package/lib/processor.dynamicBug/runtime.js.map +1 -1
  55. package/lib/processor.dynamicBug/summary-view.d.ts +2 -6
  56. package/lib/processor.dynamicBug/summary-view.js.map +1 -1
  57. package/lib/processor.fixedLadder/info.d.ts +6 -1
  58. package/lib/processor.fixedLadder/info.js +6 -1
  59. package/lib/processor.fixedLadder/info.js.map +1 -1
  60. package/lib/processor.fixedLadder/newFile.d.ts +3 -0
  61. package/lib/processor.fixedLadder/newFile.js +145 -0
  62. package/lib/processor.fixedLadder/newFile.js.map +1 -0
  63. package/lib/processor.monetise/info.d.ts +3 -0
  64. package/lib/processor.monetise/info.js +90 -0
  65. package/lib/processor.monetise/info.js.map +1 -0
  66. package/lib/processor.monetise/runtime.d.ts +57 -0
  67. package/lib/processor.monetise/runtime.js +141 -0
  68. package/lib/processor.monetise/runtime.js.map +1 -0
  69. package/lib/processor.monetise/summary.d.ts +7 -0
  70. package/lib/processor.monetise/summary.js +39 -0
  71. package/lib/processor.monetise/summary.js.map +1 -0
  72. package/lib/test/audio-mixer.d.ts +0 -0
  73. package/lib/test/audio-mixer.js +2 -0
  74. package/lib/test/audio-mixer.js.map +1 -0
  75. package/lib/test/auto-cmaf.js +198 -6
  76. package/lib/test/auto-cmaf.js.map +1 -1
  77. package/lib/test/browser-overlay.js +53 -0
  78. package/lib/test/browser-overlay.js.map +1 -1
  79. package/lib/test/dynamic-bug.d.ts +1 -0
  80. package/lib/test/dynamic-bug.js +313 -0
  81. package/lib/test/dynamic-bug.js.map +1 -0
  82. package/lib/test/fixed-ladder.d.ts +1 -0
  83. package/lib/test/fixed-ladder.js +125 -0
  84. package/lib/test/fixed-ladder.js.map +1 -1
  85. package/lib/test/preview.d.ts +1 -0
  86. package/lib/test/preview.js +112 -0
  87. package/lib/test/preview.js.map +1 -0
  88. package/lib/test/rtmp-input.js +62 -31
  89. package/lib/test/rtmp-input.js.map +1 -1
  90. package/lib/test/rtmp-output.js +18 -4
  91. package/lib/test/rtmp-output.js.map +1 -1
  92. package/lib/test/srt-input-caller.js +50 -0
  93. package/lib/test/srt-input-caller.js.map +1 -1
  94. package/lib/test/whep-output.js +52 -5
  95. package/lib/test/whep-output.js.map +1 -1
  96. package/package.json +3 -7
@@ -0,0 +1,313 @@
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 __1 = require("../");
31
+ const builder_1 = require("@norskvideo/norsk-studio/lib/test/_util/builder");
32
+ const document = __importStar(require("@norskvideo/norsk-studio/lib/runtime/document"));
33
+ const yaml_1 = __importDefault(require("yaml"));
34
+ const execution_1 = __importDefault(require("@norskvideo/norsk-studio/lib/runtime/execution"));
35
+ const sources_1 = require("@norskvideo/norsk-studio/lib/test/_util/sources");
36
+ const sinks_1 = require("@norskvideo/norsk-studio/lib/test/_util/sinks");
37
+ const info_1 = __importDefault(require("../processor.dynamicBug/info"));
38
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
39
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
40
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
41
+ const node_fetch_1 = __importDefault(require("node-fetch"));
42
+ const express_1 = __importDefault(require("express"));
43
+ const chai_1 = require("chai");
44
+ async function defaultRuntime() {
45
+ const runtime = (0, builder_1.emptyRuntime)();
46
+ await (0, __1.registerAll)(runtime);
47
+ return runtime;
48
+ }
49
+ const videoOpts = {
50
+ resolution: { width: 640, height: 360 },
51
+ frameRate: { frames: 25, seconds: 1 }
52
+ };
53
+ const videoOptsOne = {
54
+ resolution: { width: 640, height: 360 },
55
+ frameRate: { frames: 25, seconds: 1 }
56
+ };
57
+ const videoOptsTwo = {
58
+ resolution: { width: 800, height: 600 },
59
+ frameRate: { frames: 25, seconds: 1 }
60
+ };
61
+ describe("Dynamic Bug", () => {
62
+ async function testDocument(cfg) {
63
+ const runtime = await defaultRuntime();
64
+ const yaml = new builder_1.YamlBuilder()
65
+ .addNode(new builder_1.YamlNodeBuilder('bug', (0, info_1.default)(client_types_1.RegistrationConsts), cfg ?? {}).reify())
66
+ .reify();
67
+ const compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
68
+ return compiled;
69
+ }
70
+ let norsk = undefined;
71
+ afterEach(async () => {
72
+ console.log("closing norsk");
73
+ await norsk?.close();
74
+ });
75
+ it("Dynamic bug with no configuration, passthrough", async () => {
76
+ const compiled = await testDocument();
77
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
78
+ const result = await (0, execution_1.default)(norsk, compiled);
79
+ const bug = result.components["bug"];
80
+ const sink = new sinks_1.TraceSink(norsk, "sink");
81
+ await sink.initialised;
82
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
83
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
84
+ type: 'take-all-streams', select: ['video']
85
+ })
86
+ ]);
87
+ await Promise.all([
88
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOpts),
89
+ ]);
90
+ });
91
+ it("Dynamic bug with no configuration, source change", async () => {
92
+ const compiled = await testDocument();
93
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
94
+ const result = await (0, execution_1.default)(norsk, compiled);
95
+ const bug = result.components["bug"];
96
+ const sink = new sinks_1.TraceSink(norsk, "sink");
97
+ await sink.initialised;
98
+ sink.subscribe([
99
+ new runtime_types_1.StudioNodeSubscriptionSource(bug, compiled.components['bug'].yaml, { type: 'take-all-streams', select: ["audio", "video"] }, (0, info_1.default)(client_types_1.RegistrationConsts))
100
+ ]);
101
+ const sourceOne = await (0, sources_1.videoAndAudio)(norsk, 'sourceOne', videoOptsOne);
102
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(sourceOne, (0, sources_1.testSourceDescription)(), {
103
+ type: 'take-all-streams', select: ['video']
104
+ })
105
+ ]);
106
+ await (0, util_1.waitForCondition)(() => sink.streamCount() == 1, 10000.0);
107
+ await sourceOne.close();
108
+ await (0, util_1.waitForCondition)(() => sink.streamCount() == 0, 10000.0);
109
+ const sourceTwo = await (0, sources_1.videoAndAudio)(norsk, 'sourceTwo', videoOptsTwo);
110
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(sourceTwo, (0, sources_1.testSourceDescription)(), {
111
+ type: 'take-all-streams', select: ['video']
112
+ })
113
+ ]);
114
+ await Promise.all([
115
+ await (0, sinks_1.waitForAssert)(() => sink.streamCount() == 1, () => sink.streamCount() == 1, 10000, 500),
116
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOptsTwo),
117
+ ]);
118
+ });
119
+ it("Dynamic bug with initial configured image", async () => {
120
+ const compiled = await testDocument({
121
+ defaultBug: "test.png",
122
+ defaultPosition: "bottomleft"
123
+ });
124
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
125
+ const result = await (0, execution_1.default)(norsk, compiled);
126
+ const bug = result.components["bug"];
127
+ const sink = new sinks_1.TraceSink(norsk, "sink");
128
+ await sink.initialised;
129
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
130
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
131
+ type: 'take-all-streams', select: ['video']
132
+ })
133
+ ]);
134
+ function latestState() {
135
+ return result.runtimeState.latest["bug"];
136
+ }
137
+ await Promise.all([
138
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOpts),
139
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test.png", () => latestState().activeBug?.file == "test.png"),
140
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test.png", () => latestState().activeBug?.position == "bottomleft")
141
+ ]);
142
+ });
143
+ it("Dynamic bug with no configured image, configured during run", async () => {
144
+ const compiled = await testDocument({});
145
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
146
+ const result = await (0, execution_1.default)(norsk, compiled);
147
+ const bug = result.components["bug"];
148
+ const sink = new sinks_1.TraceSink(norsk, "sink");
149
+ await sink.initialised;
150
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
151
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
152
+ type: 'take-all-streams', select: ['video']
153
+ })
154
+ ]);
155
+ await bug.setupBug("test.png", "bottomleft");
156
+ function latestState() {
157
+ return result.runtimeState.latest["bug"];
158
+ }
159
+ await Promise.all([
160
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOpts),
161
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test.png", () => latestState().activeBug?.file == "test.png"),
162
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test.png", () => latestState().activeBug?.position == "bottomleft")
163
+ ]);
164
+ });
165
+ it("Dynamic bug with configured image, re-configured during run", async () => {
166
+ const compiled = await testDocument({
167
+ defaultBug: "test.png",
168
+ defaultPosition: "bottomleft"
169
+ });
170
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
171
+ const result = await (0, execution_1.default)(norsk, compiled);
172
+ const bug = result.components["bug"];
173
+ const sink = new sinks_1.TraceSink(norsk, "sink");
174
+ await sink.initialised;
175
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
176
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
177
+ type: 'take-all-streams', select: ['video']
178
+ })
179
+ ]);
180
+ await bug.setupBug("test2.png", "bottomleft");
181
+ function latestState() {
182
+ return result.runtimeState.latest["bug"];
183
+ }
184
+ await Promise.all([
185
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOpts),
186
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test2.png", () => latestState().activeBug?.file == "test2.png"),
187
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test2.png", () => latestState().activeBug?.position == "bottomleft")
188
+ ]);
189
+ });
190
+ it("Dynamic bug with configured image, re-configured during run, source reset", async () => {
191
+ const compiled = await testDocument({
192
+ defaultBug: "test.png",
193
+ defaultPosition: "bottomleft"
194
+ });
195
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
196
+ const result = await (0, execution_1.default)(norsk, compiled);
197
+ const bug = result.components["bug"];
198
+ const sink = new sinks_1.TraceSink(norsk, "sink");
199
+ await sink.initialised;
200
+ sink.subscribe([
201
+ new runtime_types_1.StudioNodeSubscriptionSource(bug, compiled.components['bug'].yaml, { type: 'take-all-streams', select: ["audio", "video"] }, (0, info_1.default)(client_types_1.RegistrationConsts))
202
+ ]);
203
+ const sourceOne = await (0, sources_1.videoAndAudio)(norsk, 'sourceOne', videoOptsOne);
204
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(sourceOne, (0, sources_1.testSourceDescription)(), {
205
+ type: 'take-all-streams', select: ['video']
206
+ })
207
+ ]);
208
+ function latestState() {
209
+ return result.runtimeState.latest["bug"];
210
+ }
211
+ await bug.setupBug("test2.png", "bottomleft");
212
+ await (0, util_1.waitForCondition)(() => latestState().activeBug?.file == "test2.png");
213
+ await (0, util_1.waitForCondition)(() => sink.streamCount() == 1, 10000.0);
214
+ await sourceOne.close();
215
+ await (0, util_1.waitForCondition)(() => sink.streamCount() == 0, 10000.0);
216
+ const sourceTwo = await (0, sources_1.videoAndAudio)(norsk, 'sourceTwo', videoOptsTwo);
217
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(sourceTwo, (0, sources_1.testSourceDescription)(), {
218
+ type: 'take-all-streams', select: ['video']
219
+ })
220
+ ]);
221
+ await Promise.all([
222
+ await (0, sinks_1.waitForAssert)(() => sink.streamCount() == 1, () => sink.streamCount() == 1, 10000, 500),
223
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOptsTwo),
224
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test2.png", () => latestState().activeBug?.file == "test2.png"),
225
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test2.png", () => latestState().activeBug?.position == "bottomleft")
226
+ ]);
227
+ });
228
+ describe("http api", () => {
229
+ let port = 0;
230
+ let result = undefined;
231
+ let listener = undefined;
232
+ let bug = undefined;
233
+ beforeEach(async () => {
234
+ console.log("opening norsk");
235
+ const compiled = await testDocument();
236
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
237
+ const app = (0, express_1.default)();
238
+ app.use(express_1.default.json());
239
+ result = await (0, execution_1.default)(norsk, compiled, app);
240
+ listener = app.listen(0);
241
+ const address = listener.address();
242
+ port = address.port;
243
+ bug = result.components["bug"];
244
+ const sink = new sinks_1.TraceSink(norsk, "sink");
245
+ await sink.initialised;
246
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
247
+ bug.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
248
+ type: 'take-all-streams', select: ['video']
249
+ })
250
+ ]);
251
+ sink.subscribe([
252
+ new runtime_types_1.StudioNodeSubscriptionSource(bug, compiled.components['bug'].yaml, { type: 'take-all-streams', select: ["audio", "video"] }, (0, info_1.default)(client_types_1.RegistrationConsts))
253
+ ]);
254
+ await (0, util_1.waitForCondition)(() => sink.streamCount() == 1, 10000.0);
255
+ });
256
+ afterEach(async () => {
257
+ listener.close();
258
+ });
259
+ it("Setting active bug via the http api", async () => {
260
+ const httpResult = await (0, node_fetch_1.default)(`http://localhost:${port}/bug/active-bug`, {
261
+ method: 'POST',
262
+ body: JSON.stringify({
263
+ bug: 'test.png',
264
+ position: 'bottomleft'
265
+ })
266
+ });
267
+ const body = await httpResult.text();
268
+ function latestState() {
269
+ return result.runtimeState.latest["bug"];
270
+ }
271
+ (0, chai_1.expect)(body).equal("ok");
272
+ await Promise.all([
273
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOpts),
274
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test.png", () => latestState().activeBug?.file == "test.png"),
275
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == "test.png", () => latestState().activeBug?.position == "bottomleft")
276
+ ]);
277
+ });
278
+ it("Clearing active bug via empty post to the http api", async () => {
279
+ await bug.setupBug("test.png", "bottomleft");
280
+ function latestState() {
281
+ return result.runtimeState.latest["bug"];
282
+ }
283
+ const httpResult = await (0, node_fetch_1.default)(`http://localhost:${port}/bug/active-bug`, {
284
+ method: 'POST',
285
+ body: JSON.stringify({})
286
+ });
287
+ const body = await httpResult.text();
288
+ (0, chai_1.expect)(body).equal("ok");
289
+ await Promise.all([
290
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOpts),
291
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == undefined, () => latestState().activeBug?.file == undefined),
292
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == undefined, () => latestState().activeBug?.position == undefined),
293
+ ]);
294
+ });
295
+ it("Clearing active bug via delete to the http api", async () => {
296
+ await bug.setupBug("test.png", "bottomleft");
297
+ function latestState() {
298
+ return result.runtimeState.latest["bug"];
299
+ }
300
+ const httpResult = await (0, node_fetch_1.default)(`http://localhost:${port}/bug/active-bug`, {
301
+ method: 'delete'
302
+ });
303
+ const body = await httpResult.text();
304
+ (0, chai_1.expect)(body).equal("ok");
305
+ await Promise.all([
306
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "bug", videoOpts),
307
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == undefined, () => latestState().activeBug?.file == undefined),
308
+ (0, sinks_1.waitForAssert)(() => latestState().activeBug?.file == undefined, () => latestState().activeBug?.position == undefined),
309
+ ]);
310
+ });
311
+ });
312
+ });
313
+ //# sourceMappingURL=dynamic-bug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-bug.js","sourceRoot":"","sources":["../../src/test/dynamic-bug.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,127 @@
1
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 __1 = require("../");
31
+ const builder_1 = require("@norskvideo/norsk-studio/lib/test/_util/builder");
32
+ const document = __importStar(require("@norskvideo/norsk-studio/lib/runtime/document"));
33
+ const yaml_1 = __importDefault(require("yaml"));
34
+ const execution_1 = __importDefault(require("@norskvideo/norsk-studio/lib/runtime/execution"));
35
+ const sources_1 = require("@norskvideo/norsk-studio/lib/test/_util/sources");
36
+ const sinks_1 = require("@norskvideo/norsk-studio/lib/test/_util/sinks");
37
+ const info_1 = require("../processor.fixedLadder/info");
38
+ const info_2 = __importDefault(require("../processor.fixedLadder/info"));
39
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
40
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
41
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
42
+ async function defaultRuntime() {
43
+ const runtime = (0, builder_1.emptyRuntime)();
44
+ await (0, __1.registerAll)(runtime);
45
+ return runtime;
46
+ }
47
+ describe("Fixed Ladder", () => {
48
+ let norsk = undefined;
49
+ let result = undefined;
50
+ let ladder = undefined;
51
+ let source = undefined;
52
+ let compiled = undefined;
53
+ async function sharedSetup(rungs) {
54
+ const runtime = await defaultRuntime();
55
+ let yaml = new builder_1.YamlBuilder().reify();
56
+ compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
57
+ yaml = new builder_1.YamlBuilder().addNode(new builder_1.YamlNodeBuilder('ladder', (0, info_2.default)(client_types_1.RegistrationConsts), {
58
+ rungs: rungs.map((rung) => ({
59
+ name: rung,
60
+ software: (0, info_1.createSoftwareRung)(rung)
61
+ }))
62
+ }).reify())
63
+ .reify();
64
+ compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
65
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
66
+ result = await (0, execution_1.default)(norsk, compiled);
67
+ ladder = result.components["ladder"];
68
+ source = await (0, sources_1.videoAndAudio)(norsk, 'source');
69
+ ladder.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-all-streams", select: client_types_1.Video })]);
70
+ }
71
+ afterEach(async () => {
72
+ await norsk?.close();
73
+ });
74
+ describe("Ladder with single rung", () => {
75
+ before(async () => {
76
+ await sharedSetup(['h264_640x360']);
77
+ });
78
+ it("Outputs a single rung with the right resolution", async () => {
79
+ await Promise.all([
80
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "ladder", {
81
+ resolution: { width: 640, height: 360 }
82
+ }),
83
+ ]);
84
+ });
85
+ });
86
+ describe("Ladder with multiple rungs", () => {
87
+ before(async () => {
88
+ await sharedSetup(['h264_640x360', 'h264_320x180']);
89
+ });
90
+ it("Outputs multiple rungs with the right resolution", async () => {
91
+ if (!norsk)
92
+ throw "Oh no";
93
+ await Promise.all([
94
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "ladder", {
95
+ match: { renditionName: 'h264_640x360' },
96
+ resolution: { width: 640, height: 360 }
97
+ }),
98
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "ladder", {
99
+ match: { renditionName: 'h264_320x180' },
100
+ resolution: { width: 320, height: 180 }
101
+ }),
102
+ ]);
103
+ });
104
+ });
105
+ describe("Ladder after source restart", () => {
106
+ before(async () => {
107
+ await sharedSetup(['h264_640x360']);
108
+ });
109
+ it("Outputs a single rung with the right resolution", async () => {
110
+ const sink = new sinks_1.TraceSink(norsk, "sink");
111
+ await sink.initialised;
112
+ sink.subscribe([
113
+ new runtime_types_1.StudioNodeSubscriptionSource(ladder, compiled.components['ladder'].yaml, { type: 'take-all-streams', select: ["video"] }, (0, info_2.default)(client_types_1.RegistrationConsts))
114
+ ]);
115
+ await (0, util_1.waitForCondition)(() => sink.streamCount() == 1);
116
+ sink.subscribe([]);
117
+ await (0, util_1.waitForCondition)(() => sink.streamCount() == 0);
118
+ ladder.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-all-streams", select: client_types_1.Video })]);
119
+ await Promise.all([
120
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "ladder", {
121
+ resolution: { width: 640, height: 360 }
122
+ }),
123
+ ]);
124
+ });
125
+ });
126
+ });
2
127
  //# sourceMappingURL=fixed-ladder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-ladder.js","sourceRoot":"","sources":["../../src/test/fixed-ladder.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"fixed-ladder.js","sourceRoot":"","sources":["../../src/test/fixed-ladder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,112 @@
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 __1 = require("../");
31
+ const builder_1 = require("@norskvideo/norsk-studio/lib/test/_util/builder");
32
+ const document = __importStar(require("@norskvideo/norsk-studio/lib/runtime/document"));
33
+ const yaml_1 = __importDefault(require("yaml"));
34
+ const execution_1 = __importDefault(require("@norskvideo/norsk-studio/lib/runtime/execution"));
35
+ const chai_1 = require("chai");
36
+ const sources_1 = require("@norskvideo/norsk-studio/lib/test/_util/sources");
37
+ const info_1 = __importDefault(require("../output.preview/info"));
38
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
39
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
40
+ const sinks_1 = require("@norskvideo/norsk-studio/lib/test/_util/sinks");
41
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
42
+ async function defaultRuntime() {
43
+ const runtime = (0, builder_1.emptyRuntime)();
44
+ await (0, __1.registerAll)(runtime);
45
+ return runtime;
46
+ }
47
+ describe("Preview", () => {
48
+ async function testDocument() {
49
+ const runtime = await defaultRuntime();
50
+ const yaml = new builder_1.YamlBuilder()
51
+ .addNode(new builder_1.YamlNodeBuilder('preview', (0, info_1.default)(client_types_1.RegistrationConsts), {}).reify())
52
+ .reify();
53
+ const compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
54
+ return compiled;
55
+ }
56
+ let norsk = undefined;
57
+ let preview = undefined;
58
+ let source = undefined;
59
+ let result = undefined;
60
+ afterEach(async () => {
61
+ await norsk?.close();
62
+ });
63
+ beforeEach(async () => {
64
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
65
+ const compiled = await testDocument();
66
+ result = await (0, execution_1.default)(norsk, compiled);
67
+ preview = result.components["preview"];
68
+ });
69
+ it("With a source", async () => {
70
+ source = await (0, sources_1.videoAndAudio)(norsk, 'source');
71
+ preview.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-all-streams", select: client_types_1.Av })]);
72
+ const latestState = () => {
73
+ return result?.runtimeState.getNodeState('preview');
74
+ };
75
+ await (0, sinks_1.waitForAssert)(() => !!(latestState())?.url, () => (0, chai_1.expect)(latestState()?.url).not.undefined, 10000.0, 10.0);
76
+ await (0, sinks_1.waitForAssert)(() => !!(latestState())?.levels, () => (0, chai_1.expect)(latestState()?.levels).not.undefined, 10000.0, 10.0);
77
+ });
78
+ it("Without a source", async () => {
79
+ const latestState = () => {
80
+ return result?.runtimeState.getNodeState('preview');
81
+ };
82
+ await (0, sinks_1.waitForAssert)(() => !(latestState())?.url, () => (0, chai_1.expect)(latestState()?.url).undefined, 10000.0, 10.0);
83
+ await (0, sinks_1.waitForAssert)(() => !(latestState())?.levels, () => (0, chai_1.expect)(latestState()?.levels).undefined, 10000.0, 10.0);
84
+ });
85
+ it("Source goes away", async () => {
86
+ source = await (0, sources_1.videoAndAudio)(norsk, 'source');
87
+ preview.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-all-streams", select: client_types_1.Av })]);
88
+ const latestState = () => {
89
+ return result?.runtimeState.getNodeState('preview');
90
+ };
91
+ await (0, util_1.waitForCondition)(() => !!latestState()?.url);
92
+ await source.close();
93
+ preview.subscribe([]);
94
+ await (0, sinks_1.waitForAssert)(() => !(latestState())?.url, () => (0, chai_1.expect)(latestState()?.url).undefined, 10000.0, 10.0);
95
+ await (0, sinks_1.waitForAssert)(() => !(latestState())?.levels, () => (0, chai_1.expect)(latestState()?.levels).undefined, 10000.0, 10.0);
96
+ });
97
+ it("Source goes away and comes back", async () => {
98
+ source = await (0, sources_1.videoAndAudio)(norsk, 'source');
99
+ preview.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-all-streams", select: client_types_1.Av })]);
100
+ const latestState = () => {
101
+ return result?.runtimeState.getNodeState('preview');
102
+ };
103
+ await (0, util_1.waitForCondition)(() => !!latestState()?.url);
104
+ await source.close();
105
+ preview.subscribe([]);
106
+ source = await (0, sources_1.videoAndAudio)(norsk, 'source');
107
+ preview.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), { type: "take-all-streams", select: client_types_1.Av })]);
108
+ await (0, sinks_1.waitForAssert)(() => !!(latestState())?.url, () => (0, chai_1.expect)(latestState()?.url).not.undefined, 10000.0, 10.0);
109
+ await (0, sinks_1.waitForAssert)(() => !!(latestState())?.levels, () => (0, chai_1.expect)(latestState()?.levels).not.undefined, 10000.0, 10.0);
110
+ });
111
+ });
112
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/test/preview.ts"],"names":[],"mappings":"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"}