@norskvideo/norsk-studio-built-ins 1.10.0 → 1.10.1

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 (103) hide show
  1. package/package.json +1 -1
  2. package/lib/input.mediaconnect/flow-selection.d.ts +0 -9
  3. package/lib/input.mediaconnect/flow-selection.js +0 -40
  4. package/lib/input.mediaconnect/flow-selection.js.map +0 -1
  5. package/lib/input.mediaconnect/info.d.ts +0 -3
  6. package/lib/input.mediaconnect/info.js +0 -70
  7. package/lib/input.mediaconnect/info.js.map +0 -1
  8. package/lib/input.mediaconnect/node-view.d.ts +0 -6
  9. package/lib/input.mediaconnect/node-view.js +0 -38
  10. package/lib/input.mediaconnect/node-view.js.map +0 -1
  11. package/lib/input.mediaconnect/output-selection.d.ts +0 -9
  12. package/lib/input.mediaconnect/output-selection.js +0 -55
  13. package/lib/input.mediaconnect/output-selection.js.map +0 -1
  14. package/lib/input.mediaconnect/runtime.d.ts +0 -23
  15. package/lib/input.mediaconnect/runtime.js +0 -133
  16. package/lib/input.mediaconnect/runtime.js.map +0 -1
  17. package/lib/output.medialive/channel-selection.d.ts +0 -9
  18. package/lib/output.medialive/channel-selection.js +0 -40
  19. package/lib/output.medialive/channel-selection.js.map +0 -1
  20. package/lib/output.medialive/fullscreen.d.ts +0 -6
  21. package/lib/output.medialive/fullscreen.js +0 -31
  22. package/lib/output.medialive/fullscreen.js.map +0 -1
  23. package/lib/output.medialive/info.d.ts +0 -3
  24. package/lib/output.medialive/info.js +0 -111
  25. package/lib/output.medialive/info.js.map +0 -1
  26. package/lib/output.medialive/inline.d.ts +0 -6
  27. package/lib/output.medialive/inline.js +0 -30
  28. package/lib/output.medialive/inline.js.map +0 -1
  29. package/lib/output.medialive/input-selection.d.ts +0 -9
  30. package/lib/output.medialive/input-selection.js +0 -58
  31. package/lib/output.medialive/input-selection.js.map +0 -1
  32. package/lib/output.medialive/node-view.d.ts +0 -6
  33. package/lib/output.medialive/node-view.js +0 -36
  34. package/lib/output.medialive/node-view.js.map +0 -1
  35. package/lib/output.medialive/runtime.d.ts +0 -34
  36. package/lib/output.medialive/runtime.js +0 -142
  37. package/lib/output.medialive/runtime.js.map +0 -1
  38. package/lib/output.medialive/url-selection.d.ts +0 -9
  39. package/lib/output.medialive/url-selection.js +0 -45
  40. package/lib/output.medialive/url-selection.js.map +0 -1
  41. package/lib/processor.actionReplay/info.d.ts +0 -5
  42. package/lib/processor.actionReplay/info.js +0 -100
  43. package/lib/processor.actionReplay/info.js.map +0 -1
  44. package/lib/processor.actionReplay/runtime.d.ts +0 -59
  45. package/lib/processor.actionReplay/runtime.js +0 -224
  46. package/lib/processor.actionReplay/runtime.js.map +0 -1
  47. package/lib/processor.actionReplay/summary.d.ts +0 -7
  48. package/lib/processor.actionReplay/summary.js +0 -76
  49. package/lib/processor.actionReplay/summary.js.map +0 -1
  50. package/lib/processor.audioLevel/info.d.ts +0 -3
  51. package/lib/processor.audioLevel/info.js +0 -83
  52. package/lib/processor.audioLevel/info.js.map +0 -1
  53. package/lib/processor.audioLevel/inline-view.d.ts +0 -6
  54. package/lib/processor.audioLevel/inline-view.js +0 -23
  55. package/lib/processor.audioLevel/inline-view.js.map +0 -1
  56. package/lib/processor.audioLevel/runtime.d.ts +0 -49
  57. package/lib/processor.audioLevel/runtime.js +0 -82
  58. package/lib/processor.audioLevel/runtime.js.map +0 -1
  59. package/lib/processor.audioLevel/summary-view.d.ts +0 -7
  60. package/lib/processor.audioLevel/summary-view.js +0 -36
  61. package/lib/processor.audioLevel/summary-view.js.map +0 -1
  62. package/lib/processor.audioMixer/fullscreen-view.d.ts +0 -8
  63. package/lib/processor.audioMixer/fullscreen-view.js +0 -121
  64. package/lib/processor.audioMixer/fullscreen-view.js.map +0 -1
  65. package/lib/processor.audioMixer/info.d.ts +0 -4
  66. package/lib/processor.audioMixer/info.js +0 -148
  67. package/lib/processor.audioMixer/info.js.map +0 -1
  68. package/lib/processor.audioMixer/inline-view.d.ts +0 -7
  69. package/lib/processor.audioMixer/inline-view.js +0 -43
  70. package/lib/processor.audioMixer/inline-view.js.map +0 -1
  71. package/lib/processor.audioMixer/runtime.d.ts +0 -119
  72. package/lib/processor.audioMixer/runtime.js +0 -142
  73. package/lib/processor.audioMixer/runtime.js.map +0 -1
  74. package/lib/processor.audioMixer/summary-view.d.ts +0 -7
  75. package/lib/processor.audioMixer/summary-view.js +0 -11
  76. package/lib/processor.audioMixer/summary-view.js.map +0 -1
  77. package/lib/processor.aws-transcribe/info.d.ts +0 -3
  78. package/lib/processor.aws-transcribe/info.js +0 -81
  79. package/lib/processor.aws-transcribe/info.js.map +0 -1
  80. package/lib/processor.aws-transcribe/runtime.d.ts +0 -39
  81. package/lib/processor.aws-transcribe/runtime.js +0 -164
  82. package/lib/processor.aws-transcribe/runtime.js.map +0 -1
  83. package/lib/processor.aws-transcribe/transcribe-language-selection.d.ts +0 -9
  84. package/lib/processor.aws-transcribe/transcribe-language-selection.js +0 -40
  85. package/lib/processor.aws-transcribe/transcribe-language-selection.js.map +0 -1
  86. package/lib/processor.aws-transcribe/translate-language-selection.d.ts +0 -9
  87. package/lib/processor.aws-transcribe/translate-language-selection.js +0 -40
  88. package/lib/processor.aws-transcribe/translate-language-selection.js.map +0 -1
  89. package/lib/processor.fixedLadder/newFile.d.ts +0 -3
  90. package/lib/processor.fixedLadder/newFile.js +0 -145
  91. package/lib/processor.fixedLadder/newFile.js.map +0 -1
  92. package/lib/processor.monetise/info.d.ts +0 -3
  93. package/lib/processor.monetise/info.js +0 -90
  94. package/lib/processor.monetise/info.js.map +0 -1
  95. package/lib/processor.monetise/runtime.d.ts +0 -57
  96. package/lib/processor.monetise/runtime.js +0 -141
  97. package/lib/processor.monetise/runtime.js.map +0 -1
  98. package/lib/processor.monetise/summary.d.ts +0 -7
  99. package/lib/processor.monetise/summary.js +0 -39
  100. package/lib/processor.monetise/summary.js.map +0 -1
  101. package/lib/test/audio-mixer.d.ts +0 -0
  102. package/lib/test/audio-mixer.js +0 -2
  103. package/lib/test/audio-mixer.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcribe-language-selection.js","sourceRoot":"","sources":["../../src/processor.aws-transcribe/transcribe-language-selection.tsx"],"names":[],"mappings":";;;AAAA,iCAAyD;AAWzD,SAAS,2BAA2B,CAAC,KAAuC;IAC1E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAC3E,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,EAAqB,CAAC;gBACzD,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACnC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,KAAK,CAAC,YAAY;oBACpB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAA;QACD,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAiB,EAAE,CAAC,CAAC;IAE/D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,wDAAoB,CAAA;IAC7B,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,8DAA0B,CAAA;IACnC,CAAC;IAED,OAAO,0CACL,oCAAQ,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,aACrI,mCAAoB,KAAK,EAAC,EAAE,qBAAhB,OAAO,CAAsB,EACxC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,oCAAgB,KAAK,EAAE,GAAG,aAAG,CAAC,CAAC,IAAI,QAAI,CAAC,CAAC,IAAI,UAAhC,CAAC,CAA0C,CAAA;gBACjE,CAAC,CAAC,IACK,GACL,CAAA;IAGN,SAAS,UAAU,CAAC,CAAiC;QACnD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,kBAAe,2BAA2B,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { AwsTranscribeConfig } from "./runtime";
2
- type TranslateLanguageSelectionProps = {
3
- defaultValue?: string;
4
- id: string;
5
- onChanged: (value: string) => void;
6
- latest: Partial<AwsTranscribeConfig>;
7
- };
8
- declare function TranslateLanguageSelection(props: TranslateLanguageSelectionProps): import("react/jsx-runtime").JSX.Element;
9
- export default TranslateLanguageSelection;
@@ -1,40 +0,0 @@
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
- function TranslateLanguageSelection(props) {
6
- const [loading, setLoading] = (0, react_1.useState)(true);
7
- (0, react_1.useEffect)(() => {
8
- const fn = async () => {
9
- const result = await fetch('components/processor.aws-transcribe/languages');
10
- if (result.ok && result.body) {
11
- const languages = await result.json();
12
- setLanguages(languages.translate);
13
- setLoading(false);
14
- if (props.defaultValue)
15
- props.onChanged(props.defaultValue);
16
- }
17
- else {
18
- const text = await result.text();
19
- throw new Error(text);
20
- }
21
- };
22
- fn().catch(console.error);
23
- }, []);
24
- const [languages, setLanguages] = (0, react_1.useState)([]);
25
- if (loading) {
26
- return (0, jsx_runtime_1.jsx)("div", { children: "Loading.." });
27
- }
28
- if (languages.length == 0) {
29
- return (0, jsx_runtime_1.jsx)("div", { children: "No flows loaded" });
30
- }
31
- return (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, jsx_runtime_1.jsx)("option", { value: '', children: "---" }, "empty"), languages.map((o, i) => {
32
- const val = o.code;
33
- return (0, jsx_runtime_1.jsxs)("option", { value: val, children: [o.name, " (", o.code, ")"] }, i);
34
- })] }) });
35
- function myOnChange(e) {
36
- props.onChanged(e.target.value);
37
- }
38
- }
39
- exports.default = TranslateLanguageSelection;
40
- //# sourceMappingURL=translate-language-selection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translate-language-selection.js","sourceRoot":"","sources":["../../src/processor.aws-transcribe/translate-language-selection.tsx"],"names":[],"mappings":";;;AAAA,iCAAyD;AAWzD,SAAS,0BAA0B,CAAC,KAAsC;IACxE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAC3E,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,EAAqB,CAAC;gBACzD,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,KAAK,CAAC,YAAY;oBACpB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAA;QACD,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAiB,EAAE,CAAC,CAAC;IAE/D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,wDAAoB,CAAA;IAC7B,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,8DAA0B,CAAA;IACnC,CAAC;IAED,OAAO,0CACL,oCAAQ,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,aACrI,mCAAoB,KAAK,EAAC,EAAE,qBAAhB,OAAO,CAAsB,EACxC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,oCAAgB,KAAK,EAAE,GAAG,aAAG,CAAC,CAAC,IAAI,QAAI,CAAC,CAAC,IAAI,UAAhC,CAAC,CAA0C,CAAA;gBACjE,CAAC,CAAC,IACK,GACL,CAAA;IAGN,SAAS,UAAU,CAAC,CAAiC;QACnD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
@@ -1,3 +0,0 @@
1
- import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
- import type { FixedLadderConfig } from "./runtime";
3
- export default function ({ defineComponent, Video }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<FixedLadderConfig, object, object, object>;
@@ -1,145 +0,0 @@
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 react_1 = __importDefault(require("react"));
30
- const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
31
- const info_1 = require("./info");
32
- function default_1({ defineComponent, Video }) {
33
- const RungView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./rung-view'))));
34
- const SoftwareCodecEditor = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./codec-editor'))));
35
- return defineComponent({
36
- identifier: 'processor.transform.fixedLadder',
37
- category: 'processor',
38
- name: "Encode Ladder",
39
- subscription: {
40
- accepts: {
41
- type: 'single-stream',
42
- media: Video
43
- },
44
- produces: {
45
- possibleMedia: Video,
46
- type: "fixed-list",
47
- keys: (cfg) => {
48
- return cfg.rungs.map((r) => {
49
- return {
50
- key: r.name,
51
- display: r.name,
52
- media: Video
53
- };
54
- });
55
- },
56
- selector: (selection, metadata) => {
57
- return metadata.filter((s) => s.streamKey && selection.includes(s.streamKey?.renditionName))
58
- .map((r) => r.streamKey)
59
- .filter((r) => !!r);
60
- },
61
- }
62
- },
63
- extraValidation: function (ctx) {
64
- ctx.requireVideo(1);
65
- },
66
- display: (desc) => {
67
- const result = {};
68
- desc.config.rungs.forEach((r, i) => {
69
- result[i] = r.name;
70
- });
71
- return result;
72
- },
73
- configForm: {
74
- global: {
75
- hardware: (0, config_1.HardwareSelection)()
76
- },
77
- form: {
78
- rungs: {
79
- help: "",
80
- hint: {
81
- type: 'form-list',
82
- envOverride: true,
83
- form: {
84
- name: {
85
- help: "Unique name of the ladder rung (used in outputs)",
86
- hint: {
87
- type: "text",
88
- defaultValue: 'default'
89
- }
90
- },
91
- software: rungEditorForm('software'),
92
- quadra: rungEditorForm('quadra'),
93
- logan: rungEditorForm('logan'),
94
- nvidia: rungEditorForm('nvidia'),
95
- ma35d: rungEditorForm('ma35d'),
96
- },
97
- view: RungView,
98
- defaultValue: info_1.rungNames.map((n) => {
99
- return {
100
- name: n,
101
- software: (0, info_1.createSoftwareRung)(n),
102
- quadra: (0, info_1.createQuadraRung)(n),
103
- nvidia: (0, info_1.createNvidiaRung)(n),
104
- ma35d: (0, info_1.createMa35dRung)(n)
105
- };
106
- })
107
- }
108
- }
109
- }
110
- }
111
- });
112
- function rungEditorForm(mode) {
113
- return {
114
- help: `Settings to use when encoding using ${mode} mode`,
115
- hint: {
116
- type: 'form-item',
117
- form: {
118
- width: {
119
- help: 'Width in pixels of this rung',
120
- hint: {
121
- type: 'numeric',
122
- defaultValue: 640,
123
- }
124
- },
125
- height: {
126
- help: 'Width in pixels of this rung',
127
- hint: {
128
- type: 'numeric',
129
- defaultValue: 640,
130
- }
131
- },
132
- codec: {
133
- help: "Codec settings for this rung",
134
- hint: {
135
- type: 'custom',
136
- component: (CodecEditor)
137
- }
138
- }
139
- }
140
- }
141
- };
142
- }
143
- }
144
- exports.default = default_1;
145
- //# sourceMappingURL=newFile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"newFile.js","sourceRoot":"","sources":["../../src/processor.fixedLadder/newFile.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { MonetiseOutputCommand, MonetiseOutputEvent, MonetiseOutputSettings, MonetiseOutputState } from "./runtime";
2
- import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
3
- export default function (R: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<MonetiseOutputSettings, MonetiseOutputState, MonetiseOutputCommand, MonetiseOutputEvent>;
@@ -1,90 +0,0 @@
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 react_1 = __importDefault(require("react"));
30
- const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
31
- function default_1(R) {
32
- const { defineComponent, Av, } = R;
33
- const SummaryView = react_1.default.lazy(async () => Promise.resolve().then(() => __importStar(require('./summary'))));
34
- return defineComponent({
35
- identifier: 'processor.monetise',
36
- category: 'output',
37
- name: "Monetise",
38
- subscription: {
39
- accepts: {
40
- type: "single-stream",
41
- media: Av
42
- },
43
- produces: {
44
- type: 'single-stream',
45
- media: ["audio", "video", "ancillary"]
46
- }
47
- },
48
- extraValidation: (ctx) => {
49
- ctx.requireVideo(1);
50
- ctx.requireAudio(1);
51
- },
52
- display: (_desc) => { return {}; },
53
- runtime: {
54
- initialState: () => ({}),
55
- handleEvent(ev, state) {
56
- const evType = ev.type;
57
- switch (evType) {
58
- case 'url-published':
59
- state.url = ev.url;
60
- break;
61
- case 'advert-started':
62
- state.currentAdvert = { timeLeftMs: ev.durationMs };
63
- break;
64
- case 'advert-tick':
65
- state.currentAdvert = { timeLeftMs: ev.timeLeftMs };
66
- break;
67
- case 'advert-finished':
68
- state.currentAdvert = undefined;
69
- break;
70
- default:
71
- assertUnreachable(evType);
72
- }
73
- return { ...state };
74
- },
75
- summary: SummaryView
76
- },
77
- configForm: {
78
- global: {
79
- iceServers: (0, config_1.GlobalIceServers)(R),
80
- hardware: (0, config_1.HardwareSelection)()
81
- },
82
- form: {}
83
- }
84
- });
85
- }
86
- exports.default = default_1;
87
- function assertUnreachable(_) {
88
- throw new Error("Didn't expect to get here");
89
- }
90
- //# sourceMappingURL=info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.monetise/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAG1B,uEAAiG;AAEjG,mBAAwB,CAAe;IACrC,MAAM,EACJ,eAAe,EACf,EAAE,GACH,GAAG,CAAC,CAAC;IACN,MAAM,WAAW,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,WAAW,GAAC,CAAC,CAAC;IAEhE,OAAO,eAAe,CAA0F;QAC9G,UAAU,EAAE,oBAAoB;QAChC,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;aACvC;SACF;QACD,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;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,eAAe;wBAClB,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;wBACnB,MAAM;oBACR,KAAK,gBAAgB;wBACnB,KAAK,CAAC,aAAa,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;wBACpD,MAAM;oBACR,KAAK,aAAa;wBAChB,KAAK,CAAC,aAAa,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;wBACpD,MAAM;oBACR,KAAK,iBAAiB;wBACpB,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;wBAChC,MAAM;oBACR;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,OAAO,EAAE,WAAW;SACrB;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,UAAU,EAAE,IAAA,yBAAgB,EAAC,CAAC,CAAC;gBAC/B,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE,EACL;SACF;KACF,CAAC,CAAC;AACL,CAAC;AA3DD,4BA2DC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,57 +0,0 @@
1
- import { AncillaryNode, JitterBufferNode, Norsk, SourceMediaNode, StreamMetadataOverrideNode, WhepOutputNode } from '@norskvideo/norsk-sdk';
2
- import { OnCreated, RuntimeUpdates, ServerComponentDefinition, StudioNodeSubscriptionSource, StudioRuntime, StudioShared } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
- import { CustomAutoDuplexNode, SubscriptionOpts } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
4
- import { HardwareAccelerationType, IceServer } from '@norskvideo/norsk-studio/lib/shared/config';
5
- export type MonetiseOutputSettings = {
6
- id: string;
7
- displayName: string;
8
- __global: {
9
- iceServers: IceServer[];
10
- hardware?: HardwareAccelerationType;
11
- };
12
- };
13
- export type MonetiseOutputState = {
14
- url?: string;
15
- currentAdvert?: {
16
- timeLeftMs: number;
17
- };
18
- };
19
- export type MonetiseOutputEvent = {
20
- type: 'url-published';
21
- url: string;
22
- } | {
23
- type: 'advert-started';
24
- durationMs: number;
25
- } | {
26
- type: 'advert-tick';
27
- timeLeftMs: number;
28
- } | {
29
- type: 'advert-finished';
30
- };
31
- export type MonetiseOutputCommand = {
32
- type: 'inject-advert';
33
- durationMs: number;
34
- };
35
- export default class WhepOutputDefinition implements ServerComponentDefinition<MonetiseOutputSettings, MonetiseOutput, MonetiseOutputState, MonetiseOutputCommand, MonetiseOutputEvent> {
36
- create(norsk: Norsk, cfg: MonetiseOutputSettings, cb: OnCreated<MonetiseOutput>, runtime: StudioRuntime<MonetiseOutputState, MonetiseOutputEvent>): Promise<void>;
37
- handleCommand(node: MonetiseOutput, command: MonetiseOutputCommand): void;
38
- }
39
- declare class MonetiseOutput extends CustomAutoDuplexNode {
40
- initialised: Promise<void>;
41
- norsk: Norsk;
42
- updates: RuntimeUpdates<MonetiseOutputState, MonetiseOutputEvent>;
43
- shared: StudioShared;
44
- cfg: MonetiseOutputSettings;
45
- encoder?: SourceMediaNode;
46
- whep?: WhepOutputNode;
47
- delayed?: JitterBufferNode;
48
- ancillary?: AncillaryNode;
49
- output?: StreamMetadataOverrideNode;
50
- start: Date;
51
- constructor(norsk: Norsk, runtime: StudioRuntime<MonetiseOutputState, MonetiseOutputEvent>, cfg: MonetiseOutputSettings);
52
- initialise(): Promise<void>;
53
- injectAdvert(durationMs: number): void;
54
- subscribe(sources: StudioNodeSubscriptionSource[], _opts?: SubscriptionOpts | undefined): void;
55
- setupPreview(sources: StudioNodeSubscriptionSource[]): Promise<void>;
56
- }
57
- export {};
@@ -1,141 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
4
- const base_nodes_1 = require("@norskvideo/norsk-studio/lib/extension/base-nodes");
5
- const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
6
- class WhepOutputDefinition {
7
- async create(norsk, cfg, cb, runtime) {
8
- const node = new MonetiseOutput(norsk, runtime, cfg);
9
- await node.initialised;
10
- cb(node);
11
- }
12
- handleCommand(node, command) {
13
- const t = command.type;
14
- switch (t) {
15
- case 'inject-advert':
16
- node.injectAdvert(command.durationMs);
17
- break;
18
- default:
19
- (0, util_1.assertUnreachable)(t);
20
- }
21
- }
22
- }
23
- exports.default = WhepOutputDefinition;
24
- class MonetiseOutput extends base_nodes_1.CustomAutoDuplexNode {
25
- initialised;
26
- norsk;
27
- updates;
28
- shared;
29
- cfg;
30
- encoder;
31
- whep;
32
- delayed;
33
- ancillary;
34
- output;
35
- start;
36
- constructor(norsk, runtime, cfg) {
37
- super(cfg.id);
38
- this.cfg = cfg;
39
- this.norsk = norsk;
40
- this.updates = runtime.updates;
41
- this.shared = runtime.shared;
42
- this.initialised = this.initialise();
43
- this.start = new Date();
44
- }
45
- async initialise() {
46
- const whepCfg = {
47
- id: `${this.cfg.id}-whep`,
48
- bufferDelayMs: 500.0,
49
- iceServers: this.cfg.__global.iceServers.map((s) => ({ urls: [s.url], username: s.username, credential: s.password }))
50
- };
51
- this.whep = await this.norsk.output.whep(whepCfg);
52
- this.ancillary = await this.norsk.processor.transform.ancillary({ id: `${this.cfg.id}-inject` });
53
- this.delayed = await this.norsk.processor.transform.jitterBuffer({
54
- id: `${this.cfg.id}-delay`,
55
- delayMs: 2000
56
- });
57
- this.output = await this.norsk.processor.transform.streamMetadataOverride({
58
- id: `${this.cfg.id}-output`
59
- });
60
- this.output.subscribe([
61
- { source: this.ancillary, sourceSelector: norsk_sdk_1.selectAncillary },
62
- { source: this.delayed, sourceSelector: norsk_sdk_1.selectAV }
63
- ]);
64
- this.setup({
65
- input: this.delayed,
66
- output: [this.output]
67
- });
68
- }
69
- injectAdvert(durationMs) {
70
- this.updates.raiseEvent({ type: 'advert-started', durationMs });
71
- let remaining = durationMs;
72
- const updateTick = setInterval(() => {
73
- remaining -= 1000;
74
- this.updates.raiseEvent({
75
- type: 'advert-tick',
76
- timeLeftMs: Math.max(0, remaining)
77
- });
78
- }, 1000);
79
- setTimeout(() => {
80
- this.updates.raiseEvent({ type: 'advert-finished' });
81
- clearInterval(updateTick);
82
- }, durationMs);
83
- const id = Math.random().toString().slice(-5);
84
- this.ancillary?.sendScte35({
85
- streamId: 1,
86
- programNumber: 1,
87
- sourceName: 'monetise',
88
- renditionName: 'default'
89
- }, {
90
- sapType: 3,
91
- protocolVersion: 0,
92
- encryptedPacket: false,
93
- encryptionAlgorithm: 0,
94
- ptsAdjustment: BigInt(0),
95
- cwIndex: 0,
96
- tier: 4095,
97
- spliceCommand: {
98
- type: "insert",
99
- value: {
100
- spliceEventId: Number(id),
101
- spliceEventCancelIndicator: false,
102
- outOfNetworkIndicator: true,
103
- spliceImmediateFlag: true,
104
- mode: {
105
- mode: 'program'
106
- },
107
- breakDuration: { autoReturn: true, duration: BigInt(durationMs * 90) },
108
- uniqueProgramId: 12345,
109
- availNum: 0,
110
- availsExpected: 0
111
- },
112
- },
113
- descriptors: []
114
- });
115
- }
116
- subscribe(sources, _opts) {
117
- if (!this.whep)
118
- return;
119
- this.delayed?.subscribe(sources.flatMap((s) => s.selectAV()));
120
- void this.setupPreview(sources);
121
- }
122
- async setupPreview(sources) {
123
- const videoSource = sources.find((s) => s.streams.select.includes("video"));
124
- const audioSource = sources.find((s) => s.streams.select.includes("audio"));
125
- if (!videoSource)
126
- return;
127
- if (!audioSource)
128
- return;
129
- this.encoder = await this.shared.previewEncode(videoSource.selectVideo()[0], this.cfg.__global.hardware);
130
- this.whep?.subscribe([
131
- { source: this.encoder, sourceSelector: norsk_sdk_1.selectVideo },
132
- audioSource.selectAudio()[0]
133
- ], (ctx) => {
134
- if (ctx.streams.length == 2 && this.whep?.endpointUrl) {
135
- this.updates.raiseEvent({ type: 'url-published', url: this.whep?.endpointUrl });
136
- }
137
- return (0, norsk_sdk_1.requireAV)(ctx);
138
- });
139
- }
140
- }
141
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.monetise/runtime.ts"],"names":[],"mappings":";;AAAA,qDAAkO;AAGlO,kFAA2G;AAC3G,mEAA6E;AAoC7E,MAAqB,oBAAoB;IACvC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,GAA2B,EAAE,EAA6B,EAAE,OAAgE;QACrJ,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,EAAE,CAAC,IAAI,CAAC,CAAC;IACX,CAAC;IAED,aAAa,CAAC,IAAoB,EAAE,OAA8B;QAChE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QACvB,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,eAAe;gBAClB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM;YACR;gBACE,IAAA,wBAAiB,EAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IAEH,CAAC;CACF;AAlBD,uCAkBC;AAED,MAAM,cAAe,SAAQ,iCAAoB;IAC/C,WAAW,CAAgB;IAC3B,KAAK,CAAQ;IACb,OAAO,CAA2D;IAClE,MAAM,CAAe;IAErB,GAAG,CAAyB;IAC5B,OAAO,CAAmB;IAC1B,IAAI,CAAkB;IAEtB,OAAO,CAAoB;IAC3B,SAAS,CAAiB;IAC1B,MAAM,CAA8B;IAEpC,KAAK,CAAO;IAEZ,YAAY,KAAY,EAAE,OAAgE,EAAE,GAA2B;QACrH,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO;YACzB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;YAC/D,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ;YAK1B,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,sBAAsB,CAAC;YACxE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS;SAC5B,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,2BAAe,EAAE;YAC3D,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,oBAAQ,EAAE;SACnD,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAA;QAE/D,IAAI,SAAS,GAAG,UAAU,CAAC;QAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,SAAS,IAAI,IAAI,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBACtB,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;aACnC,CAAC,CAAA;QACJ,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;YACpD,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,EAAE,UAAU,CAAC,CAAC;QAGf,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;YACzB,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,SAAS;SACzB,EAAE;YACD,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,KAAK;YACtB,mBAAmB,EAAE,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,IAAI;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE;oBACL,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;oBACzB,0BAA0B,EAAE,KAAK;oBACjC,qBAAqB,EAAE,IAAI;oBAC3B,mBAAmB,EAAE,IAAI;oBACzB,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;qBAChB;oBACD,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE;oBACtE,eAAe,EAAE,KAAK;oBACtB,QAAQ,EAAE,CAAC;oBACX,cAAc,EAAE,CAAC;iBAClB;aACF;YACD,WAAW,EAAE,EAAE;SAChB,CACA,CAAC;IACJ,CAAC;IAEQ,SAAS,CAAC,OAAuC,EAAE,KAAoC;QAC9F,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC7D,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAuC;QACxD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,EAAE,SAAS,CAClB;YACE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,uBAAW,EAAE;YACrD,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;SAC7B,EAAE,CAAC,GAAG,EAAE,EAAE;YACT,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;YACjF,CAAC;YACD,OAAO,IAAA,qBAAS,EAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAA;IAEN,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- import type { MonetiseOutputCommand, MonetiseOutputSettings, MonetiseOutputState } from "./runtime";
2
- declare function InlineView({ state, config, sendCommand }: {
3
- state: MonetiseOutputState;
4
- config: MonetiseOutputSettings;
5
- sendCommand: (command: MonetiseOutputCommand) => void;
6
- }): import("react/jsx-runtime").JSX.Element;
7
- export default InlineView;
@@ -1,39 +0,0 @@
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
- function InlineView({ state, config, sendCommand }) {
7
- const url = state.url;
8
- const id = config.id;
9
- const previewVideo = (0, react_1.useRef)(null);
10
- const durationSlider = (0, react_1.useRef)(null);
11
- (0, react_1.useEffect)(() => {
12
- if (!url)
13
- return;
14
- setTimeout(() => {
15
- if (!url)
16
- return;
17
- if (!previewVideo.current)
18
- return;
19
- const client = new webrtc_client_1.WhepClient({ url, container: previewVideo.current });
20
- void client.start();
21
- }, 1000.0);
22
- }, [state.url]);
23
- if (!url)
24
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Starting up..." });
25
- return (0, jsx_runtime_1.jsxs)("div", { className: "mb-5", children: [(0, jsx_runtime_1.jsx)("div", { ref: previewVideo, className: "", id: `preview-${id}` }), state.currentAdvert ? (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Advert currently playing: ", Math.floor(state.currentAdvert.timeLeftMs / 1000), "s"] }) :
26
- (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("label", { htmlFor: "default-range", className: "block mb-2 text-sm font-medium text-gray-900 dark:text-white", children: ["Advert Duration (", durationSlider.current?.value ?? 16, "s)"] }), (0, jsx_runtime_1.jsx)("input", { ref: durationSlider, id: "default-range", type: "range", defaultValue: "16", min: "16", max: "120", className: "w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700" }), (0, jsx_runtime_1.jsx)("button", { onClick: sendAdvertCommand, 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", children: "Inject Advert" })] })] });
27
- function sendAdvertCommand() {
28
- if (!previewVideo.current)
29
- return;
30
- if (!durationSlider.current)
31
- return;
32
- sendCommand({
33
- type: "inject-advert",
34
- durationMs: parseInt(durationSlider.current.value, 10) * 1000
35
- });
36
- }
37
- }
38
- exports.default = InlineView;
39
- //# sourceMappingURL=summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/processor.monetise/summary.tsx"],"names":[],"mappings":";;;AAAA,iCAA0C;AAG1C,6DAAsD;AAEtD,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAyH;IACvK,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IAErB,MAAM,YAAY,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAA;IACjD,MAAM,cAAc,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAA;IAErD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,IAAI,CAAC,YAAY,CAAC,OAAO;gBAAE,OAAO;YAClC,MAAM,MAAM,GAAG,IAAI,0BAAU,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;QAEtB,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhB,IAAI,CAAC,GAAG;QAAE,OAAO,8EAAmB,CAAA;IAEpC,OAAO,iCAAK,SAAS,EAAC,MAAM,aAC1B,gCAAK,GAAG,EAAE,YAAY,EAAE,SAAS,EAAC,EAAE,EAAC,EAAE,EAAE,WAAW,EAAE,EAAE,GAClD,EACL,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,2FAA6B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAK,CAAC,CAAC;gBAC1G,6DACE,mCAAO,OAAO,EAAC,eAAe,EAAC,SAAS,EAAC,8DAA8D,kCAAmB,cAAc,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,UAAW,EACxK,kCAAO,GAAG,EAAE,cAAc,EAAE,EAAE,EAAC,eAAe,EAAC,IAAI,EAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,SAAS,EAAC,mFAAmF,GAAS,EACvM,mCAAQ,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wQAAwQ,8BAE3T,IACR,IAEA,CAAA;IAEP,SAAS,iBAAiB;QACxB,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QAClC,IAAI,CAAC,cAAc,CAAC,OAAO;YAAE,OAAO;QACpC,WAAW,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI;SAC9D,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,kBAAe,UAAU,CAAC"}
File without changes
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=audio-mixer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio-mixer.js","sourceRoot":"","sources":["../../src/test/audio-mixer.ts"],"names":[],"mappings":""}