@norskvideo/norsk-studio-built-ins 1.15.0 → 1.16.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 (109) hide show
  1. package/README.md +16 -0
  2. package/client/info.js +571 -302
  3. package/client/style.css +321 -112
  4. package/lib/input.rtmp/info.js +1 -1
  5. package/lib/input.rtmp/info.js.map +1 -1
  6. package/lib/input.silence/info.js +1 -0
  7. package/lib/input.silence/info.js.map +1 -1
  8. package/lib/input.srt-caller/info.js +6 -5
  9. package/lib/input.srt-caller/info.js.map +1 -1
  10. package/lib/input.srt-caller/runtime.d.ts +1 -1
  11. package/lib/input.srt-listener/info.js +7 -5
  12. package/lib/input.srt-listener/info.js.map +1 -1
  13. package/lib/input.srt-listener/runtime.d.ts +1 -1
  14. package/lib/input.udp-ts/info.d.ts +1 -1
  15. package/lib/input.udp-ts/info.js +5 -4
  16. package/lib/input.udp-ts/info.js.map +1 -1
  17. package/lib/input.udp-ts/runtime.d.ts +1 -1
  18. package/lib/input.videoTestCard/info.js +1 -0
  19. package/lib/input.videoTestCard/info.js.map +1 -1
  20. package/lib/output.autoCmaf/info.d.ts +1 -1
  21. package/lib/output.autoCmaf/info.js +54 -1
  22. package/lib/output.autoCmaf/info.js.map +1 -1
  23. package/lib/output.autoCmaf/runtime.d.ts +10 -0
  24. package/lib/output.autoCmaf/runtime.js +35 -4
  25. package/lib/output.autoCmaf/runtime.js.map +1 -1
  26. package/lib/output.autoCmaf/summary.js +23 -1
  27. package/lib/output.autoCmaf/summary.js.map +1 -1
  28. package/lib/output.preview/info.js +1 -0
  29. package/lib/output.preview/info.js.map +1 -1
  30. package/lib/output.preview/runtime.js +8 -4
  31. package/lib/output.preview/runtime.js.map +1 -1
  32. package/lib/output.rtmp/info.js +1 -0
  33. package/lib/output.rtmp/info.js.map +1 -1
  34. package/lib/output.srt/info.js +6 -5
  35. package/lib/output.srt/info.js.map +1 -1
  36. package/lib/output.srt/runtime.d.ts +1 -1
  37. package/lib/output.statistics/info.js +1 -0
  38. package/lib/output.statistics/info.js.map +1 -1
  39. package/lib/output.udpTs/info.d.ts +1 -1
  40. package/lib/output.udpTs/info.js +4 -3
  41. package/lib/output.udpTs/info.js.map +1 -1
  42. package/lib/output.udpTs/runtime.d.ts +1 -1
  43. package/lib/output.whep/info.js +1 -0
  44. package/lib/output.whep/info.js.map +1 -1
  45. package/lib/processor.browserOverlay/info.d.ts +2 -2
  46. package/lib/processor.browserOverlay/info.js +55 -1
  47. package/lib/processor.browserOverlay/info.js.map +1 -1
  48. package/lib/processor.browserOverlay/inline-view.d.ts +6 -0
  49. package/lib/processor.browserOverlay/inline-view.js +8 -0
  50. package/lib/processor.browserOverlay/inline-view.js.map +1 -0
  51. package/lib/processor.browserOverlay/openApi.d.ts +174 -0
  52. package/lib/processor.browserOverlay/openApi.js +3 -0
  53. package/lib/processor.browserOverlay/openApi.js.map +1 -0
  54. package/lib/processor.browserOverlay/runtime.d.ts +40 -6
  55. package/lib/processor.browserOverlay/runtime.js +147 -18
  56. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  57. package/lib/processor.browserOverlay/summary-view.d.ts +4 -0
  58. package/lib/processor.browserOverlay/summary-view.js +27 -0
  59. package/lib/processor.browserOverlay/summary-view.js.map +1 -0
  60. package/lib/processor.browserOverlay/types.yaml +65 -0
  61. package/lib/processor.cascadingSwitch/info.js +1 -0
  62. package/lib/processor.cascadingSwitch/info.js.map +1 -1
  63. package/lib/processor.fixedLadder/codec-editor.js +1 -1
  64. package/lib/processor.fixedLadder/codec-editor.js.map +1 -1
  65. package/lib/processor.fixedLadder/codec-view.js +1 -1
  66. package/lib/processor.fixedLadder/codec-view.js.map +1 -1
  67. package/lib/processor.fixedLadder/info.js +1 -0
  68. package/lib/processor.fixedLadder/info.js.map +1 -1
  69. package/lib/processor.fixedLadder/rung-view.js +1 -1
  70. package/lib/processor.fixedLadder/rung-view.js.map +1 -1
  71. package/lib/processor.onscreenGraphic/info.js +3 -3
  72. package/lib/processor.onscreenGraphic/info.js.map +1 -1
  73. package/lib/processor.onscreenGraphic/runtime.js +54 -106
  74. package/lib/processor.onscreenGraphic/runtime.js.map +1 -1
  75. package/lib/processor.onscreenGraphic/summary-view.js +1 -1
  76. package/lib/processor.onscreenGraphic/summary-view.js.map +1 -1
  77. package/lib/processor.onscreenGraphic/types.d.ts +239 -1
  78. package/lib/processor.onscreenGraphic/types.yaml +142 -5
  79. package/lib/processor.whisper-transcribe/info.js +3 -2
  80. package/lib/processor.whisper-transcribe/info.js.map +1 -1
  81. package/lib/shared/drm/axinom.d.ts +2 -0
  82. package/lib/shared/drm/axinom.js +120 -0
  83. package/lib/shared/drm/axinom.js.map +1 -0
  84. package/lib/shared/drm/cpix.d.ts +24 -0
  85. package/lib/shared/drm/cpix.js +97 -0
  86. package/lib/shared/drm/cpix.js.map +1 -0
  87. package/lib/shared/drm/ezdrm.d.ts +2 -0
  88. package/lib/shared/drm/ezdrm.js +26 -0
  89. package/lib/shared/drm/ezdrm.js.map +1 -0
  90. package/lib/shared/srt-socket-options.js +6 -6
  91. package/lib/shared/srt-socket-options.js.map +1 -1
  92. package/lib/test/srt-input-caller.js +5 -5
  93. package/lib/test/srt-input-caller.js.map +1 -1
  94. package/lib/test/srt-input-listener.js +18 -18
  95. package/lib/test/srt-input-listener.js.map +1 -1
  96. package/lib/test/srt-output.js +2 -2
  97. package/lib/test/srt-output.js.map +1 -1
  98. package/lib/test/udp-output.js +2 -2
  99. package/lib/test/udp-output.js.map +1 -1
  100. package/lib/test/udp-ts-input.js +2 -2
  101. package/lib/test/udp-ts-input.js.map +1 -1
  102. package/lib/util.stats.latency/info.js +1 -0
  103. package/lib/util.stats.latency/info.js.map +1 -1
  104. package/lib/util.stats.ma35d/info.js +1 -0
  105. package/lib/util.stats.ma35d/info.js.map +1 -1
  106. package/lib/util.timestamps/info.js +1 -0
  107. package/lib/util.timestamps/info.js.map +1 -1
  108. package/package.json +10 -6
  109. package/Readme.adoc +0 -16
@@ -34,6 +34,7 @@ function default_1({ defineComponent, Av, validation: { Z, JitterBuffer }, }) {
34
34
  identifier: 'output.rtmp',
35
35
  category: 'output',
36
36
  name: "RTMP Egest",
37
+ description: "This component handles the output of RTMP (Real-Time Messaging Protocol) streams. It is used to connect to a remote RTMP server and manage the streaming of media. ",
37
38
  subscription: {
38
39
  accepts: {
39
40
  type: 'single-stream',
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.rtmp/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,4BAwDC;AA1DD,kDAA0B;AAE1B,mBAAyB,EACvB,eAAe,EACf,EAAE,EACF,UAAU,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,GAClB;IAEb,MAAM,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,eAAe,GAAC,CAAC,CAAC;IAEnE,OAAO,eAAe,CAA+D;QACnF,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE;YAMZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;aACrB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;YAC7D,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,sCAAsC;wBACzC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;wBACvB,MAAM;oBACR,KAAK,qCAAqC;wBACxC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;wBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,MAAM;oBACR;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,UAAU;SACnB;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,iGAAiG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvK,aAAa,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC/I,SAAS,EAAE,EAAE,IAAI,EAAE,6DAA6D,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC3J,sBAAsB,EAAE,EAAE,IAAI,EAAE,yEAAyE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;aAC/L;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.rtmp/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,4BAyDC;AA3DD,kDAA0B;AAE1B,mBAAyB,EACvB,eAAe,EACf,EAAE,EACF,UAAU,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,GAClB;IAEb,MAAM,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,eAAe,GAAC,CAAC,CAAC;IAEnE,OAAO,eAAe,CAA+D;QACnF,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qKAAqK;QAClL,YAAY,EAAE;YAMZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;aACrB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;YAC7D,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,sCAAsC;wBACzC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;wBACvB,MAAM;oBACR,KAAK,qCAAqC;wBACxC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;wBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,MAAM;oBACR;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,UAAU;SACnB;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,iGAAiG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvK,aAAa,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC/I,SAAS,EAAE,EAAE,IAAI,EAAE,6DAA6D,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC3J,sBAAsB,EAAE,EAAE,IAAI,EAAE,yEAAyE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;aAC/L;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
@@ -31,7 +31,7 @@ const react_1 = __importDefault(require("react"));
31
31
  const srt_socket_options_1 = __importDefault(require("../shared/srt-socket-options"));
32
32
  function default_1(registration) {
33
33
  const { defineComponent, All, validation, } = registration;
34
- const { Port, IpAddress, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
34
+ const { Port, Hostname, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
35
35
  const SocketConfiguration = react_1.default.lazy(async () => {
36
36
  const views = await Promise.resolve().then(() => __importStar(require('../shared/srt-form-views')));
37
37
  return { default: views.SocketConfiguration };
@@ -40,6 +40,7 @@ function default_1(registration) {
40
40
  identifier: 'output.srt',
41
41
  category: 'output',
42
42
  name: "SRT Egest",
43
+ description: "This component manages the sending of SRT (Secure Reliable Transport) streams. It allows you to configure various settings to control how the SRT output is handled, including connection details, buffer settings, and delay options.",
43
44
  subscription: {
44
45
  accepts: {
45
46
  type: "multi-stream",
@@ -49,7 +50,7 @@ function default_1(registration) {
49
50
  display: (desc) => {
50
51
  return {
51
52
  port: desc.config.port?.toString() ?? '',
52
- ip: desc.config.ip,
53
+ host: desc.config.host,
53
54
  mode: desc.config.mode,
54
55
  bufferDelayMs: desc.config.bufferDelayMs?.toString() ?? 'none'
55
56
  };
@@ -69,7 +70,7 @@ function default_1(registration) {
69
70
  },
70
71
  }
71
72
  },
72
- ip: { help: "The IP address this SRT output will connect to or listen on", hint: { type: 'text', validation: IpAddress, defaultValue: "0.0.0.0" } },
73
+ host: { help: "The IP address/Hostname this SRT output will connect to or listen on", hint: { type: 'text', validation: Hostname, defaultValue: "0.0.0.0" } },
73
74
  bufferDelayMs: { help: "How many milliseconds in the jitter buffer", hint: { type: 'numeric', validation: JitterBuffer, defaultValue: 500.0 } },
74
75
  avDelayMs: { help: "How many milliseconds to delay A/V to account for subtitles/ancillary data", hint: { type: 'numeric', validation: JitterBuffer, defaultValue: 50.0 } },
75
76
  mode: {
@@ -85,8 +86,8 @@ function default_1(registration) {
85
86
  }]
86
87
  }
87
88
  },
88
- passphrase: { help: "Optional: Authentication for this SRT output", hint: { type: 'text', validation: SrtPassphrase } },
89
- streamId: { help: "Optional: StreamId to use when calling a remote listener", hint: { type: 'text', validation: SrtStreamId } },
89
+ passphrase: { help: "Optional: Authentication for this SRT output", hint: { type: 'text', optional: true, validation: SrtPassphrase } },
90
+ streamId: { help: "Optional: StreamId to use when calling a remote listener", hint: { type: 'text', optional: true, validation: SrtStreamId } },
90
91
  socketOptions: {
91
92
  help: "Socket Options",
92
93
  hint: {
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.srt/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.srt/info.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Norsk, SrtOutputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
2
2
  import { OnCreated, ServerComponentDefinition } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
3
  import { SimpleSinkWrapper } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
4
4
  import type { SocketOptions } from '../shared/srt-types';
5
- export type SrtOutputSettings = Pick<SdkSettings, 'port' | 'ip' | 'mode' | 'passphrase' | 'streamId' | 'bufferDelayMs' | 'avDelayMs'> & {
5
+ export type SrtOutputSettings = Pick<SdkSettings, 'port' | 'host' | 'mode' | 'passphrase' | 'streamId' | 'bufferDelayMs' | 'avDelayMs'> & {
6
6
  id: string;
7
7
  displayName: string;
8
8
  socketOptions: SocketOptions;
@@ -35,6 +35,7 @@ function default_1({ defineComponent, All }) {
35
35
  identifier: 'output.statistics',
36
36
  category: 'output',
37
37
  name: "Statistics",
38
+ description: "This component accepts multiple media streams, captures and reports metrics or statistical data related to the media streams.",
38
39
  subscription: {
39
40
  accepts: {
40
41
  type: "multi-stream",
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.statistics/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,4BAsCC;AAED,8CAEC;AA9CD,kDAA0B;AAI1B,mBAAwB,EACtB,eAAe,EACf,GAAG,EACU;IAEb,MAAM,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,eAAe,GAAC,CAAC,CAAC;IAEnE,OAAO,eAAe,CAAkG;QACtH,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,GAAG;aACX;SACF;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,EAAE,EAAE,KAAK;gBACnB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,SAAS;wBACZ,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;wBAC5B,MAAM;oBACR;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,UAAU;SACnB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;SACT;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAQ;IACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.statistics/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,4BAuCC;AAED,8CAEC;AA/CD,kDAA0B;AAI1B,mBAAwB,EACtB,eAAe,EACf,GAAG,EACU;IAEb,MAAM,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,eAAe,GAAC,CAAC,CAAC;IAEnE,OAAO,eAAe,CAAkG;QACtH,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+HAA+H;QAC5I,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,GAAG;aACX;SACF;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,EAAE,EAAE,KAAK;gBACnB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,SAAS;wBACZ,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;wBAC5B,MAAM;oBACR;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,MAAM,EAAE,UAAU;SACnB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;SACT;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAQ;IACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { UdpTsOutputSettings } from "./runtime";
2
2
  import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
3
- export default function ({ defineComponent, All, validation: { Port, IpAddress, JitterBuffer, Iface, Z }, }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<UdpTsOutputSettings, object, object, object>;
3
+ export default function ({ defineComponent, All, validation: { Port, Hostname, JitterBuffer, Iface, Z }, }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<UdpTsOutputSettings, object, object, object>;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = default_1;
4
- function default_1({ defineComponent, All, validation: { Port, IpAddress, JitterBuffer, Iface, Z }, }) {
4
+ function default_1({ defineComponent, All, validation: { Port, Hostname, JitterBuffer, Iface, Z }, }) {
5
5
  return defineComponent({
6
6
  identifier: 'output.udpTs',
7
7
  category: 'output',
8
8
  name: "UDP TS Egest",
9
+ description: "This component outputs multiple media streams over UDP in TS (Transport Stream) format. It accepts multiple input streams and sends them to a specified IP address and port.",
9
10
  subscription: {
10
11
  accepts: {
11
12
  type: 'multi-stream',
@@ -15,7 +16,7 @@ function default_1({ defineComponent, All, validation: { Port, IpAddress, Jitter
15
16
  display: (desc) => {
16
17
  return {
17
18
  port: desc.config.port.toString(),
18
- destinationIp: desc.config.destinationIp,
19
+ destinationIp: desc.config.destinationHost,
19
20
  interface: desc.config.interface,
20
21
  bufferDelayMs: desc.config.bufferDelayMs?.toString() ?? 'none'
21
22
  };
@@ -23,7 +24,7 @@ function default_1({ defineComponent, All, validation: { Port, IpAddress, Jitter
23
24
  configForm: {
24
25
  form: {
25
26
  port: { help: "The port this UDP TS output will send to", hint: { type: 'numeric', validation: Port, defaultValue: 8001 } },
26
- destinationIp: { help: "The IP address this UDP TS output will send to", hint: { type: 'text', validation: IpAddress, defaultValue: "127.0.0.1" } },
27
+ destinationHost: { help: "The IP address/Hostname this UDP TS output will send to", hint: { type: 'text', validation: Hostname, defaultValue: "127.0.0.1" } },
27
28
  bufferDelayMs: { help: "How many milliseconds in the jitter buffer", hint: { type: 'numeric', validation: JitterBuffer, defaultValue: 500.0 } },
28
29
  interface: { help: "Which interface to bind to for publishing", hint: { type: 'text', validation: Z.union([Z.string().length(0), Iface]), defaultValue: "any" } },
29
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.udpTs/info.ts"],"names":[],"mappings":";;AAIA,4BAkCC;AAlCD,mBAAwB,EACtB,eAAe,EACf,GAAG,EACH,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GAC1C;IACb,OAAO,eAAe,CAAsB;QAC1C,UAAU,EAAE,cAAc;QAC1B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE;YAGZ,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,GAAG;aACX;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACjC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACxC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,MAAM;aAC/D,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC3H,aAAa,EAAE,EAAE,IAAI,EAAE,gDAAgD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;gBACnJ,aAAa,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC/I,SAAS,EAAE,EAAE,IAAI,EAAE,2CAA2C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;aAClK;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.udpTs/info.ts"],"names":[],"mappings":";;AAIA,4BAmCC;AAnCD,mBAAwB,EACtB,eAAe,EACf,GAAG,EACH,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GACzC;IACb,OAAO,eAAe,CAAsB;QAC1C,UAAU,EAAE,cAAc;QAC1B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8KAA8K;QAC3L,YAAY,EAAE;YAGZ,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,GAAG;aACX;SACF;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACjC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;gBAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,MAAM;aAC/D,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;gBAC3H,eAAe,EAAE,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;gBAC7J,aAAa,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC/I,SAAS,EAAE,EAAE,IAAI,EAAE,2CAA2C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;aAClK;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Norsk, UdpTsOutputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
2
2
  import { OnCreated, ServerComponentDefinition } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
3
  import { SimpleSinkWrapper } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
4
- export type UdpTsOutputSettings = Pick<SdkSettings, 'port' | 'destinationIp' | 'interface' | 'bufferDelayMs' | 'avDelayMs'> & {
4
+ export type UdpTsOutputSettings = Pick<SdkSettings, 'port' | 'destinationHost' | 'interface' | 'bufferDelayMs' | 'avDelayMs'> & {
5
5
  id: string;
6
6
  displayName: string;
7
7
  };
@@ -8,6 +8,7 @@ function default_1(R) {
8
8
  identifier: 'output.whep',
9
9
  category: 'output',
10
10
  name: "WHEP Egest",
11
+ description: "This component allows us to use WebRTC egress for outputs.",
11
12
  subscription: {
12
13
  accepts: {
13
14
  type: 'single-stream',
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.whep/info.ts"],"names":[],"mappings":";;AAKA,4BA+BC;AAjCD,uEAA6E;AAE7E,mBAAwB,CAAe;IACrC,MAAM,EACJ,eAAe,EACf,EAAE,EACF,UAAU,EAAE,EAAE,YAAY,EAAE,GAC7B,GAAG,CAAC,CAAC;IACN,OAAO,eAAe,CAAqB;QACzC,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE;YAMZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;SACF;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAClC,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,UAAU,EAAE,IAAA,yBAAgB,EAAC,CAAC,CAAC;aAChC;YACD,IAAI,EAAE;gBACJ,aAAa,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;aAChJ;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.whep/info.ts"],"names":[],"mappings":";;AAKA,4BAgCC;AAlCD,uEAA6E;AAE7E,mBAAwB,CAAe;IACrC,MAAM,EACJ,eAAe,EACf,EAAE,EACF,UAAU,EAAE,EAAE,YAAY,EAAE,GAC7B,GAAG,CAAC,CAAC;IACN,OAAO,eAAe,CAAqB;QACzC,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4DAA4D;QACzE,YAAY,EAAE;YAMZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;SACF;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAClC,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,UAAU,EAAE,IAAA,yBAAgB,EAAC,CAAC,CAAC;aAChC;YACD,IAAI,EAAE;gBACJ,aAAa,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;aAChJ;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
- import type { BrowserOverlayConfig } from "./runtime";
3
- export default function ({ defineComponent, Video, validation: { Z }, }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<BrowserOverlayConfig, object, object, object>;
2
+ import type { BrowserOverlayCommand, BrowserOverlayConfig, BrowserOverlayEvent, BrowserOverlayState } from "./runtime";
3
+ export default function ({ defineComponent, Video, validation: { Z }, }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<BrowserOverlayConfig, BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent>;
@@ -1,12 +1,42 @@
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
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.default = default_1;
4
30
  const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
31
+ const react_1 = __importDefault(require("react"));
32
+ const SummaryView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./summary-view'))));
33
+ const InlineView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./inline-view'))));
5
34
  function default_1({ defineComponent, Video, validation: { Z }, }) {
6
35
  return defineComponent({
7
36
  identifier: 'processor.browserOverlay',
8
37
  category: 'processor',
9
38
  name: "Browser Overlay",
39
+ description: 'Capture a live URL and overlay onto a video',
10
40
  subscription: {
11
41
  accepts: {
12
42
  type: 'single-stream',
@@ -22,9 +52,30 @@ function default_1({ defineComponent, Video, validation: { Z }, }) {
22
52
  },
23
53
  display: (desc) => {
24
54
  return {
25
- url: desc.config?.url
55
+ url: desc.config.url
26
56
  };
27
57
  },
58
+ runtime: {
59
+ summary: SummaryView,
60
+ inline: InlineView,
61
+ initialState: () => ({
62
+ currentUrl: "",
63
+ enabled: true
64
+ }),
65
+ handleEvent: (ev, state) => {
66
+ const evType = ev.type;
67
+ switch (evType) {
68
+ case "url-changed":
69
+ return { ...state, currentUrl: ev.url };
70
+ case "enabled":
71
+ return { ...state, enabled: true };
72
+ case "disabled":
73
+ return { ...state, enabled: false };
74
+ default:
75
+ assertUnreachable(evType);
76
+ }
77
+ }
78
+ },
28
79
  configForm: {
29
80
  global: {
30
81
  hardware: (0, config_1.HardwareSelection)()
@@ -35,4 +86,7 @@ function default_1({ defineComponent, Video, validation: { Z }, }) {
35
86
  }
36
87
  });
37
88
  }
89
+ function assertUnreachable(_) {
90
+ throw new Error("Didn't expect to get here");
91
+ }
38
92
  //# sourceMappingURL=info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/info.ts"],"names":[],"mappings":";;AAKA,4BAqCC;AAxCD,uEAA+E;AAG/E,mBAAwB,EACtB,eAAe,EACf,KAAK,EACL,UAAU,EAAE,EAAE,CAAC,EAAE,GACJ;IACb,OAAO,eAAe,CAAuB;QAC3C,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,iBAAiB;QACvB,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG;aACtB,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;aAC3H;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,4BA2DC;AAjED,uEAA+E;AAC/E,kDAA0B;AAE1B,MAAM,WAAW,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,gBAAgB,GAAC,CAAC,CAAC;AACrE,MAAM,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,eAAe,GAAC,CAAC,CAAC;AAEnE,mBAAwB,EACtB,eAAe,EACf,KAAK,EACL,UAAU,EAAE,EAAE,CAAC,EAAE,GACJ;IACb,OAAO,eAAe,CAAwF;QAC5G,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;aACrB,CAAA;QACH,CAAC;QACD,OAAO,EAAE;YACP,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnB,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,IAAI;aACd,CAAC;YACF,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,aAAa;wBAChB,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;oBAC1C,KAAK,SAAS;wBACZ,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACrC,KAAK,UAAU;wBACb,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;oBACrC;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;SACF;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;aAC3H;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BrowserOverlayState, BrowserOverlayConfig } from "./runtime";
2
+ declare function InlineView({ state, config }: {
3
+ state: BrowserOverlayState;
4
+ config: BrowserOverlayConfig;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export default InlineView;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ function InlineView({ state, config }) {
5
+ return (0, jsx_runtime_1.jsx)("div", { id: `browser-overlay-${config.id}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "w-64 grid grid-cols-[min-content,1fr] gap-2", children: [(0, jsx_runtime_1.jsx)("div", { children: "URL:" }), (0, jsx_runtime_1.jsx)("div", { className: "truncate", children: state.currentUrl }), (0, jsx_runtime_1.jsx)("div", { children: "Enabled:" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("label", { className: "inline-flex items-center cursor-pointer", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: state.enabled, disabled: true, className: "sr-only peer" }), (0, jsx_runtime_1.jsx)("div", { className: "relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600" })] }) })] }) });
6
+ }
7
+ exports.default = InlineView;
8
+ //# sourceMappingURL=inline-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/inline-view.tsx"],"names":[],"mappings":";;;AAEA,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAgE;IAClG,OAAO,gCAAK,EAAE,EAAE,mBAAmB,MAAM,CAAC,EAAE,EAAE,YAC7C,iCAAK,SAAS,EAAC,6CAA6C,aAC3D,mDAAe,EACf,gCAAK,SAAS,EAAC,UAAU,YAAE,KAAK,CAAC,UAAU,GAAO,EAElD,uDAAmB,EACnB,0CACC,mCAAO,SAAS,EAAC,yCAAyC,aACzD,kCAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,QAAC,SAAS,EAAC,cAAc,GAAG,EACnF,gCAAK,SAAS,EAAC,gfAAgf,GAAO,IAC/f,GACH,IACD,GACD,CAAA;AACP,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,174 @@
1
+ export interface paths {
2
+ "/url": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ get: {
10
+ parameters: {
11
+ query?: never;
12
+ header?: never;
13
+ path?: never;
14
+ cookie?: never;
15
+ };
16
+ requestBody?: never;
17
+ responses: {
18
+ 200: {
19
+ headers: {
20
+ [name: string]: unknown;
21
+ };
22
+ content: {
23
+ "text/plain": string;
24
+ };
25
+ };
26
+ };
27
+ };
28
+ put?: never;
29
+ post: {
30
+ parameters: {
31
+ query?: never;
32
+ header?: never;
33
+ path?: never;
34
+ cookie?: never;
35
+ };
36
+ requestBody: {
37
+ content: {
38
+ "application/json": {
39
+ url?: string;
40
+ };
41
+ };
42
+ };
43
+ responses: never;
44
+ };
45
+ delete?: never;
46
+ options?: never;
47
+ head?: never;
48
+ patch?: never;
49
+ trace?: never;
50
+ };
51
+ "/status": {
52
+ parameters: {
53
+ query?: never;
54
+ header?: never;
55
+ path?: never;
56
+ cookie?: never;
57
+ };
58
+ get: {
59
+ parameters: {
60
+ query?: never;
61
+ header?: never;
62
+ path?: never;
63
+ cookie?: never;
64
+ };
65
+ requestBody?: never;
66
+ responses: {
67
+ 200: {
68
+ headers: {
69
+ [name: string]: unknown;
70
+ };
71
+ content: {
72
+ "application/json": {
73
+ enabled?: boolean;
74
+ };
75
+ };
76
+ };
77
+ };
78
+ };
79
+ put?: never;
80
+ post?: never;
81
+ delete?: never;
82
+ options?: never;
83
+ head?: never;
84
+ patch?: never;
85
+ trace?: never;
86
+ };
87
+ "/enable": {
88
+ parameters: {
89
+ query?: never;
90
+ header?: never;
91
+ path?: never;
92
+ cookie?: never;
93
+ };
94
+ get?: never;
95
+ put?: never;
96
+ post: {
97
+ parameters: {
98
+ query?: never;
99
+ header?: never;
100
+ path?: never;
101
+ cookie?: never;
102
+ };
103
+ requestBody?: never;
104
+ responses: {
105
+ 204: {
106
+ headers: {
107
+ [name: string]: unknown;
108
+ };
109
+ content?: never;
110
+ };
111
+ 409: {
112
+ headers: {
113
+ [name: string]: unknown;
114
+ };
115
+ content?: never;
116
+ };
117
+ };
118
+ };
119
+ delete?: never;
120
+ options?: never;
121
+ head?: never;
122
+ patch?: never;
123
+ trace?: never;
124
+ };
125
+ "/disable": {
126
+ parameters: {
127
+ query?: never;
128
+ header?: never;
129
+ path?: never;
130
+ cookie?: never;
131
+ };
132
+ get?: never;
133
+ put?: never;
134
+ post: {
135
+ parameters: {
136
+ query?: never;
137
+ header?: never;
138
+ path?: never;
139
+ cookie?: never;
140
+ };
141
+ requestBody?: never;
142
+ responses: {
143
+ 204: {
144
+ headers: {
145
+ [name: string]: unknown;
146
+ };
147
+ content?: never;
148
+ };
149
+ 409: {
150
+ headers: {
151
+ [name: string]: unknown;
152
+ };
153
+ content?: never;
154
+ };
155
+ };
156
+ };
157
+ delete?: never;
158
+ options?: never;
159
+ head?: never;
160
+ patch?: never;
161
+ trace?: never;
162
+ };
163
+ }
164
+ export type webhooks = Record<string, never>;
165
+ export interface components {
166
+ schemas: never;
167
+ responses: never;
168
+ parameters: never;
169
+ requestBodies: never;
170
+ headers: never;
171
+ pathItems: never;
172
+ }
173
+ export type $defs = Record<string, never>;
174
+ export type operations = Record<string, never>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=openApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openApi.js","sourceRoot":"","sources":["../../src/processor.browserOverlay/openApi.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
- import { BrowserInputNode, Norsk, VideoComposeNode, VideoStreamMetadata } from '@norskvideo/norsk-sdk';
2
- import { CreatedMediaNode, OnCreated, RelatedMediaNodes, ServerComponentDefinition, StudioNodeSubscriptionSource } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
1
+ import { BrowserInputNode, ComposePart, Norsk, VideoComposeNode, VideoStreamMetadata } from '@norskvideo/norsk-sdk';
2
+ import { CreatedMediaNode, InstanceRouteInfo, OnCreated, RelatedMediaNodes, RuntimeUpdates, ServerComponentDefinition, StudioNodeSubscriptionSource, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
3
  import { HardwareAccelerationType } from '@norskvideo/norsk-studio/lib/shared/config';
4
4
  import { ContextPromiseControl } from '@norskvideo/norsk-studio/lib/runtime/util';
5
5
  export type BrowserOverlayConfig = {
@@ -10,24 +10,58 @@ export type BrowserOverlayConfig = {
10
10
  displayName: string;
11
11
  url: string;
12
12
  };
13
- export default class BrowserOverlayDefinition implements ServerComponentDefinition<BrowserOverlayConfig, BrowserOverlay> {
14
- create(norsk: Norsk, cfg: BrowserOverlayConfig, cb: OnCreated<BrowserOverlay>): Promise<void>;
13
+ export type BrowserOverlayState = {
14
+ currentUrl: string;
15
+ enabled: boolean;
16
+ };
17
+ export type BrowserOverlayCommand = BrowserOverlayChangeUrlCommand | BrowserOverlayEnableCommand | BrowserOverlayDisableCommand;
18
+ export type BrowserOverlayChangeUrlCommand = {
19
+ type: 'change-url';
20
+ url: string;
21
+ };
22
+ export type BrowserOverlayEnableCommand = {
23
+ type: 'enable';
24
+ };
25
+ export type BrowserOverlayDisableCommand = {
26
+ type: 'disable';
27
+ };
28
+ export type BrowserOverlayEvent = BrowserOverlayChangedUrlEvent | BrowserOverlayEnabledEvent | BrowserOverlayDisabledEvent;
29
+ export type BrowserOverlayChangedUrlEvent = {
30
+ type: 'url-changed';
31
+ url: string;
32
+ };
33
+ export type BrowserOverlayEnabledEvent = {
34
+ type: 'enabled';
35
+ };
36
+ export type BrowserOverlayDisabledEvent = {
37
+ type: 'disabled';
38
+ };
39
+ export default class BrowserOverlayDefinition implements ServerComponentDefinition<BrowserOverlayConfig, BrowserOverlay, BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent> {
40
+ create(norsk: Norsk, cfg: BrowserOverlayConfig, cb: OnCreated<BrowserOverlay>, runtime: StudioRuntime<BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent>): Promise<void>;
41
+ handleCommand(node: BrowserOverlay, command: BrowserOverlayCommand): Promise<void>;
42
+ instanceRoutes(): Promise<InstanceRouteInfo<BrowserOverlayConfig, BrowserOverlay, BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent>[]>;
15
43
  }
16
44
  export declare class BrowserOverlay implements CreatedMediaNode {
17
45
  compose?: VideoComposeNode<"video" | "overlay">;
18
46
  browser?: BrowserInputNode;
19
47
  currentVideo?: VideoStreamMetadata;
20
48
  norsk: Norsk;
49
+ updates: RuntimeUpdates<BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent>;
21
50
  control: ContextPromiseControl;
22
51
  videoSource?: StudioNodeSubscriptionSource;
23
52
  cfg: BrowserOverlayConfig;
24
53
  initialised: Promise<void>;
25
54
  id: string;
26
55
  relatedMediaNodes: RelatedMediaNodes;
27
- static create(norsk: Norsk, cfg: BrowserOverlayConfig): Promise<BrowserOverlay>;
28
- constructor(norsk: Norsk, cfg: BrowserOverlayConfig);
56
+ enabledParts: ComposePart<'video' | 'overlay'>[];
57
+ disabledParts: ComposePart<'video' | 'overlay'>[];
58
+ static create(norsk: Norsk, cfg: BrowserOverlayConfig, updates: RuntimeUpdates<BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent>): Promise<BrowserOverlay>;
59
+ constructor(norsk: Norsk, cfg: BrowserOverlayConfig, updates: RuntimeUpdates<BrowserOverlayState, BrowserOverlayCommand, BrowserOverlayEvent>);
29
60
  initialise(): Promise<void>;
30
61
  subscribe(sources: StudioNodeSubscriptionSource[]): void;
31
62
  handleContext(): Promise<void>;
32
63
  close(): Promise<void>;
64
+ changeUrl(newUrl: string): Promise<void>;
65
+ enable(): Promise<void>;
66
+ disable(): Promise<void>;
33
67
  }