@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-09-1c530503 → 1.27.0-2025-07-09-d12abafa

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.
package/client/style.css CHANGED
@@ -1161,6 +1161,11 @@ video {
1161
1161
  background-color: rgb(248 113 113 / var(--tw-bg-opacity));
1162
1162
  }
1163
1163
 
1164
+ .bg-red-50 {
1165
+ --tw-bg-opacity: 1;
1166
+ background-color: rgb(254 242 242 / var(--tw-bg-opacity));
1167
+ }
1168
+
1164
1169
  .bg-red-500 {
1165
1170
  --tw-bg-opacity: 1;
1166
1171
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
@@ -1393,6 +1398,11 @@ video {
1393
1398
  color: rgb(248 113 113 / var(--tw-text-opacity));
1394
1399
  }
1395
1400
 
1401
+ .text-red-500 {
1402
+ --tw-text-opacity: 1;
1403
+ color: rgb(239 68 68 / var(--tw-text-opacity));
1404
+ }
1405
+
1396
1406
  .text-red-600 {
1397
1407
  --tw-text-opacity: 1;
1398
1408
  color: rgb(220 38 38 / var(--tw-text-opacity));
@@ -1883,6 +1893,10 @@ video {
1883
1893
  background-color: rgb(185 28 28 / var(--tw-bg-opacity));
1884
1894
  }
1885
1895
 
1896
+ .dark\:bg-red-900\/20:is(.dark *) {
1897
+ background-color: rgb(127 29 29 / 0.2);
1898
+ }
1899
+
1886
1900
  .dark\:stroke-gray-50:is(.dark *) {
1887
1901
  stroke: #f9fafb;
1888
1902
  }
@@ -1917,6 +1931,11 @@ video {
1917
1931
  color: rgb(252 165 165 / var(--tw-text-opacity));
1918
1932
  }
1919
1933
 
1934
+ .dark\:text-red-400:is(.dark *) {
1935
+ --tw-text-opacity: 1;
1936
+ color: rgb(248 113 113 / var(--tw-text-opacity));
1937
+ }
1938
+
1920
1939
  .dark\:text-white:is(.dark *) {
1921
1940
  --tw-text-opacity: 1;
1922
1941
  color: rgb(255 255 255 / var(--tw-text-opacity));
package/lib/info.js CHANGED
@@ -17,84 +17,86 @@ function getNodeInfo(r, type) {
17
17
  }
18
18
  return InitialisedComponents[type];
19
19
  }
20
- const info_1 = __importDefault(require("./input.rtmp/info"));
20
+ const info_1 = __importDefault(require("./input.file/info"));
21
21
  AllComponents.push((r) => (0, info_1.default)(r));
22
- const info_2 = __importDefault(require("./input.silence/info"));
22
+ const info_2 = __importDefault(require("./input.rtmp/info"));
23
23
  AllComponents.push((r) => (0, info_2.default)(r));
24
- const info_3 = __importDefault(require("./input.srt-caller/info"));
24
+ const info_3 = __importDefault(require("./input.silence/info"));
25
25
  AllComponents.push((r) => (0, info_3.default)(r));
26
- const info_4 = __importDefault(require("./input.srt-listener/info"));
26
+ const info_4 = __importDefault(require("./input.srt-caller/info"));
27
27
  AllComponents.push((r) => (0, info_4.default)(r));
28
- const info_5 = __importDefault(require("./input.udp-ts/info"));
28
+ const info_5 = __importDefault(require("./input.srt-listener/info"));
29
29
  AllComponents.push((r) => (0, info_5.default)(r));
30
- const info_6 = __importDefault(require("./input.videoTestCard/info"));
30
+ const info_6 = __importDefault(require("./input.udp-ts/info"));
31
31
  AllComponents.push((r) => (0, info_6.default)(r));
32
- const info_7 = __importDefault(require("./input.whip/info"));
32
+ const info_7 = __importDefault(require("./input.videoTestCard/info"));
33
33
  AllComponents.push((r) => (0, info_7.default)(r));
34
- const info_8 = __importDefault(require("./output.autoCmaf/info"));
34
+ const info_8 = __importDefault(require("./input.whip/info"));
35
35
  AllComponents.push((r) => (0, info_8.default)(r));
36
- const info_9 = __importDefault(require("./output.autoHls/info"));
36
+ const info_9 = __importDefault(require("./output.autoCmaf/info"));
37
37
  AllComponents.push((r) => (0, info_9.default)(r));
38
- const info_10 = __importDefault(require("./output.cmafMultiVariant/info"));
38
+ const info_10 = __importDefault(require("./output.autoHls/info"));
39
39
  AllComponents.push((r) => (0, info_10.default)(r));
40
- const info_11 = __importDefault(require("./output.cmafPlaylist/info"));
40
+ const info_11 = __importDefault(require("./output.cmafMultiVariant/info"));
41
41
  AllComponents.push((r) => (0, info_11.default)(r));
42
- const info_12 = __importDefault(require("./output.facebook/info"));
42
+ const info_12 = __importDefault(require("./output.cmafPlaylist/info"));
43
43
  AllComponents.push((r) => (0, info_12.default)(r));
44
- const info_13 = __importDefault(require("./output.linkedin/info"));
44
+ const info_13 = __importDefault(require("./output.facebook/info"));
45
45
  AllComponents.push((r) => (0, info_13.default)(r));
46
- const info_14 = __importDefault(require("./output.preview/info"));
46
+ const info_14 = __importDefault(require("./output.linkedin/info"));
47
47
  AllComponents.push((r) => (0, info_14.default)(r));
48
- const info_15 = __importDefault(require("./output.rtmp/info"));
48
+ const info_15 = __importDefault(require("./output.preview/info"));
49
49
  AllComponents.push((r) => (0, info_15.default)(r));
50
- const info_16 = __importDefault(require("./output.srt-caller/info"));
50
+ const info_16 = __importDefault(require("./output.rtmp/info"));
51
51
  AllComponents.push((r) => (0, info_16.default)(r));
52
- const info_17 = __importDefault(require("./output.srt-listener/info"));
52
+ const info_17 = __importDefault(require("./output.srt-caller/info"));
53
53
  AllComponents.push((r) => (0, info_17.default)(r));
54
- const info_18 = __importDefault(require("./output.statistics/info"));
54
+ const info_18 = __importDefault(require("./output.srt-listener/info"));
55
55
  AllComponents.push((r) => (0, info_18.default)(r));
56
- const info_19 = __importDefault(require("./output.tsMediaPlaylist/info"));
56
+ const info_19 = __importDefault(require("./output.statistics/info"));
57
57
  AllComponents.push((r) => (0, info_19.default)(r));
58
- const info_20 = __importDefault(require("./output.tsMultiVariant/info"));
58
+ const info_20 = __importDefault(require("./output.tsMediaPlaylist/info"));
59
59
  AllComponents.push((r) => (0, info_20.default)(r));
60
- const info_21 = __importDefault(require("./output.twitch/info"));
60
+ const info_21 = __importDefault(require("./output.tsMultiVariant/info"));
61
61
  AllComponents.push((r) => (0, info_21.default)(r));
62
- const info_22 = __importDefault(require("./output.udpTs/info"));
62
+ const info_22 = __importDefault(require("./output.twitch/info"));
63
63
  AllComponents.push((r) => (0, info_22.default)(r));
64
- const info_23 = __importDefault(require("./output.whep/info"));
64
+ const info_23 = __importDefault(require("./output.udpTs/info"));
65
65
  AllComponents.push((r) => (0, info_23.default)(r));
66
- const info_24 = __importDefault(require("./output.youtube/info"));
66
+ const info_24 = __importDefault(require("./output.whep/info"));
67
67
  AllComponents.push((r) => (0, info_24.default)(r));
68
- const info_25 = __importDefault(require("./processor.audioEncoder/info"));
68
+ const info_25 = __importDefault(require("./output.youtube/info"));
69
69
  AllComponents.push((r) => (0, info_25.default)(r));
70
- const info_26 = __importDefault(require("./processor.audioMixer/info"));
70
+ const info_26 = __importDefault(require("./processor.audioEncoder/info"));
71
71
  AllComponents.push((r) => (0, info_26.default)(r));
72
- const info_27 = __importDefault(require("./processor.browserOverlay/info"));
72
+ const info_27 = __importDefault(require("./processor.audioMixer/info"));
73
73
  AllComponents.push((r) => (0, info_27.default)(r));
74
- const info_28 = __importDefault(require("./processor.fixedLadder/info"));
74
+ const info_28 = __importDefault(require("./processor.browserOverlay/info"));
75
75
  AllComponents.push((r) => (0, info_28.default)(r));
76
- const info_29 = __importDefault(require("./processor.gate/info"));
76
+ const info_29 = __importDefault(require("./processor.fixedLadder/info"));
77
77
  AllComponents.push((r) => (0, info_29.default)(r));
78
- const info_30 = __importDefault(require("./processor.makeProgram/info"));
78
+ const info_30 = __importDefault(require("./processor.gate/info"));
79
79
  AllComponents.push((r) => (0, info_30.default)(r));
80
- const info_31 = __importDefault(require("./processor.multiview/info"));
80
+ const info_31 = __importDefault(require("./processor.makeProgram/info"));
81
81
  AllComponents.push((r) => (0, info_31.default)(r));
82
- const info_32 = __importDefault(require("./processor.onscreenGraphic/info"));
82
+ const info_32 = __importDefault(require("./processor.multiview/info"));
83
83
  AllComponents.push((r) => (0, info_32.default)(r));
84
- const info_33 = __importDefault(require("./processor.smartSingleMediaSwitch/info"));
84
+ const info_33 = __importDefault(require("./processor.onscreenGraphic/info"));
85
85
  AllComponents.push((r) => (0, info_33.default)(r));
86
- const info_34 = __importDefault(require("./processor.smartSourceSwitch/info"));
86
+ const info_34 = __importDefault(require("./processor.smartSingleMediaSwitch/info"));
87
87
  AllComponents.push((r) => (0, info_34.default)(r));
88
- const info_35 = __importDefault(require("./processor.streamKeyOverride/info"));
88
+ const info_35 = __importDefault(require("./processor.smartSourceSwitch/info"));
89
89
  AllComponents.push((r) => (0, info_35.default)(r));
90
- const info_36 = __importDefault(require("./processor.syncExternalAudio/info"));
90
+ const info_36 = __importDefault(require("./processor.streamKeyOverride/info"));
91
91
  AllComponents.push((r) => (0, info_36.default)(r));
92
- const info_37 = __importDefault(require("./processor.videoDecoder/info"));
92
+ const info_37 = __importDefault(require("./processor.syncExternalAudio/info"));
93
93
  AllComponents.push((r) => (0, info_37.default)(r));
94
- const info_38 = __importDefault(require("./processor.webRtcDuplex/info"));
94
+ const info_38 = __importDefault(require("./processor.videoDecoder/info"));
95
95
  AllComponents.push((r) => (0, info_38.default)(r));
96
- const info_39 = __importDefault(require("./processor.zoomTo/info"));
96
+ const info_39 = __importDefault(require("./processor.webRtcDuplex/info"));
97
97
  AllComponents.push((r) => (0, info_39.default)(r));
98
- const info_40 = __importDefault(require("./util.stats.latency/info"));
98
+ const info_40 = __importDefault(require("./processor.zoomTo/info"));
99
99
  AllComponents.push((r) => (0, info_40.default)(r));
100
+ const info_41 = __importDefault(require("./util.stats.latency/info"));
101
+ AllComponents.push((r) => (0, info_41.default)(r));
100
102
  //# sourceMappingURL=info.js.map
package/lib/info.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
+ import type { FileInputSettings } from "./runtime";
3
+ import type { StreamMappingConfiguration } from "@norskvideo/norsk-studio/lib/extension/client-types";
4
+ export declare function defaultStreamMapping(cfg: Partial<FileInputSettings>): StreamMappingConfiguration;
5
+ export default function ({ defineComponent, mappingsToStreams, StreamMappingForm, validation }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<{
6
+ id: string;
7
+ displayName: string;
8
+ notes?: string;
9
+ sourceName: string;
10
+ streamMappings?: {
11
+ streams: {
12
+ outputKey: {
13
+ streamId: number;
14
+ programNumber: number;
15
+ sourceName: string;
16
+ renditionName: string;
17
+ };
18
+ displayName?: string;
19
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
20
+ filters?: ({
21
+ type: "sourceName" | "language" | "codec" | "renditionName";
22
+ value: string;
23
+ } | {
24
+ type: "streamId" | "programNumber";
25
+ value: number;
26
+ })[];
27
+ missingBehaviour?: "fill" | "skip";
28
+ }[];
29
+ };
30
+ }, {
31
+ status: "idle" | "playing" | "error";
32
+ currentFile: string | null;
33
+ error: string | null;
34
+ }, object, {
35
+ type: "playback-started";
36
+ filePath: string;
37
+ } | {
38
+ type: "playback-completed";
39
+ filePath: string;
40
+ } | {
41
+ type: "playback-stopped";
42
+ } | {
43
+ type: "playback-error";
44
+ error: string;
45
+ filePath?: string | null;
46
+ }>;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.defaultStreamMapping = defaultStreamMapping;
7
+ exports.default = default_1;
8
+ const inline_view_1 = __importDefault(require("./inline-view"));
9
+ const FaPlay_1 = require("@react-icons/all-files/fa/FaPlay");
10
+ function defaultStreamMapping(cfg) {
11
+ return {
12
+ streams: [{
13
+ media: "video",
14
+ displayName: "Video",
15
+ outputKey: {
16
+ sourceName: cfg.sourceName ?? 'file-source',
17
+ programNumber: 1,
18
+ streamId: 256,
19
+ renditionName: "default"
20
+ }
21
+ }, {
22
+ media: "audio",
23
+ displayName: "Audio",
24
+ outputKey: {
25
+ sourceName: cfg.sourceName ?? 'file-source',
26
+ programNumber: 1,
27
+ streamId: 257,
28
+ renditionName: "default"
29
+ }
30
+ }]
31
+ };
32
+ }
33
+ function default_1({ defineComponent, mappingsToStreams, StreamMappingForm, validation }) {
34
+ const { SourceName } = validation;
35
+ return defineComponent({
36
+ identifier: 'input.file',
37
+ category: 'input',
38
+ name: "File Input",
39
+ description: "Dynamically play MP4 or TS files via API calls",
40
+ icon: FaPlay_1.FaPlay,
41
+ subscription: {
42
+ accepts: undefined,
43
+ produces: {
44
+ type: "dynamic-streams",
45
+ groupBy: 'sourceName',
46
+ streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? defaultStreamMapping(cfg))
47
+ }
48
+ },
49
+ display: (desc) => {
50
+ return {
51
+ source: desc.config.sourceName || 'file-source'
52
+ };
53
+ },
54
+ extraValidation: (_ctx) => {
55
+ },
56
+ runtime: {
57
+ initialState: () => ({
58
+ status: 'idle',
59
+ currentFile: null,
60
+ error: null
61
+ }),
62
+ handleEvent(ev, state) {
63
+ const evType = ev.type;
64
+ switch (evType) {
65
+ case "playback-started":
66
+ return {
67
+ ...state,
68
+ status: 'playing',
69
+ currentFile: ev.filePath,
70
+ error: null
71
+ };
72
+ case "playback-completed":
73
+ return {
74
+ ...state,
75
+ status: 'idle',
76
+ currentFile: null,
77
+ error: null
78
+ };
79
+ case "playback-stopped":
80
+ return {
81
+ ...state,
82
+ status: 'idle',
83
+ currentFile: null,
84
+ error: null
85
+ };
86
+ case "playback-error":
87
+ return {
88
+ ...state,
89
+ status: 'error',
90
+ error: ev.error
91
+ };
92
+ default:
93
+ assertUnreachable(evType);
94
+ }
95
+ },
96
+ inline: inline_view_1.default
97
+ },
98
+ configForm: {
99
+ form: {
100
+ sourceName: {
101
+ help: "Source name for the output streams",
102
+ hint: {
103
+ type: 'text',
104
+ validation: SourceName,
105
+ defaultValue: 'file-source'
106
+ }
107
+ },
108
+ streamMappings: StreamMappingForm(defaultStreamMapping, {
109
+ sourceNames: (cfg) => [cfg.sourceName ?? 'file-source']
110
+ }),
111
+ notes: {
112
+ help: "Additional notes about this component",
113
+ hint: {
114
+ type: 'text',
115
+ optional: true
116
+ }
117
+ },
118
+ },
119
+ }
120
+ });
121
+ }
122
+ function assertUnreachable(_) {
123
+ throw new Error("Didn't expect to get here");
124
+ }
125
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.file/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { FileInputState, FileInputSettings } from "./runtime";
2
+ declare function InlineView({ state, config }: {
3
+ state: FileInputState;
4
+ config: FileInputSettings;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export default InlineView;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ function cn(...classes) {
5
+ return classes.filter(Boolean).join(' ');
6
+ }
7
+ function basename(filePath) {
8
+ return filePath.split('/').pop() || filePath;
9
+ }
10
+ function InlineView({ state, config }) {
11
+ const getStatusColor = (status) => {
12
+ switch (status) {
13
+ case 'playing':
14
+ return 'text-green-500 dark:text-green-300';
15
+ case 'error':
16
+ return 'text-red-500 dark:text-red-300';
17
+ default:
18
+ return 'text-gray-500 dark:text-gray-400';
19
+ }
20
+ };
21
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "file-input space-y-2", id: `file-input-${config.id}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-sm font-medium text-gray-900 dark:text-white", children: "Status:" }), (0, jsx_runtime_1.jsx)("span", { className: cn("text-sm font-medium", getStatusColor(state.status)), children: state.status.charAt(0).toUpperCase() + state.status.slice(1) })] }), state.currentFile && ((0, jsx_runtime_1.jsxs)("div", { className: "text-sm text-gray-700 dark:text-gray-300", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium", children: "File:" }), " ", basename(state.currentFile)] })), state.error && ((0, jsx_runtime_1.jsxs)("div", { className: "text-sm text-red-500 dark:text-red-400 bg-red-50 dark:bg-red-900/20 p-2 rounded", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium", children: "Error:" }), " ", state.error] })), state.status === 'idle' && !state.currentFile && ((0, jsx_runtime_1.jsx)("div", { className: "text-sm text-gray-500 dark:text-gray-400", children: "Ready to play files via API" }))] }));
22
+ }
23
+ exports.default = InlineView;
24
+ //# sourceMappingURL=inline-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/input.file/inline-view.tsx"],"names":[],"mappings":";;;AAGA,SAAS,EAAE,CAAC,GAAG,OAAyC;IACtD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAGD,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAwD;IACzF,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;QACxC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,oCAAoC,CAAC;YAC9C,KAAK,OAAO;gBACV,OAAO,gCAAgC,CAAC;YAC1C;gBACE,OAAO,kCAAkC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,iCAAK,SAAS,EAAC,sBAAsB,EAAC,EAAE,EAAE,cAAc,MAAM,CAAC,EAAE,EAAE,aACjE,iCAAK,SAAS,EAAC,yBAAyB,aACtC,iCAAM,SAAS,EAAC,mDAAmD,wBAE5D,EACP,iCAAM,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YACrE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GACxD,IACH,EAEL,KAAK,CAAC,WAAW,IAAI,CACpB,iCAAK,SAAS,EAAC,0CAA0C,aACvD,iCAAM,SAAS,EAAC,aAAa,sBAAa,OAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IACnE,CACP,EAEA,KAAK,CAAC,KAAK,IAAI,CACd,iCAAK,SAAS,EAAC,iFAAiF,aAC9F,iCAAM,SAAS,EAAC,aAAa,uBAAc,OAAE,KAAK,CAAC,KAAK,IACpD,CACP,EAEA,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAChD,gCAAK,SAAS,EAAC,0CAA0C,4CAEnD,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { Norsk, FileMp4InputNode, FileTsInputNode } from '@norskvideo/norsk-sdk';
2
+ import { CreatedMediaNode, InstanceRouteArgs, OnCreated, RelatedMediaNodes, RuntimeUpdates, ServerComponentDefinition, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
+ import { components } from './types';
4
+ export type FileInputSettings = components['schemas']['Config'];
5
+ export type FileInputState = components['schemas']['State'];
6
+ export type FileInputEvent = components['schemas']['Events'];
7
+ export type FileInputCommand = components['schemas']['Commands'];
8
+ export declare class FileInput implements CreatedMediaNode {
9
+ id: string;
10
+ relatedMediaNodes: RelatedMediaNodes;
11
+ norsk: Norsk;
12
+ cfg: FileInputSettings;
13
+ currentNode?: FileMp4InputNode | FileTsInputNode;
14
+ initialised: Promise<void>;
15
+ updates: RuntimeUpdates<FileInputState, FileInputCommand, FileInputEvent>;
16
+ static create(norsk: Norsk, cfg: FileInputSettings, updates: RuntimeUpdates<FileInputState, FileInputCommand, FileInputEvent>): Promise<FileInput>;
17
+ constructor(norsk: Norsk, cfg: FileInputSettings, updates: RuntimeUpdates<FileInputState, FileInputCommand, FileInputEvent>);
18
+ initialise(): Promise<void>;
19
+ play(filePath: string): Promise<void>;
20
+ stop(): Promise<void>;
21
+ private cleanup;
22
+ close(): Promise<void>;
23
+ }
24
+ export default class FileInputDefinition implements ServerComponentDefinition<FileInputSettings, FileInput, FileInputState, FileInputCommand> {
25
+ create(norsk: Norsk, cfg: FileInputSettings, cb: OnCreated<FileInput>, runtime: StudioRuntime<FileInputState, FileInputCommand, FileInputEvent>): Promise<void>;
26
+ handleCommand(node: FileInput, command: FileInputCommand): Promise<void>;
27
+ schemas(): Promise<{
28
+ config: import("openapi-types").OpenAPIV3.SchemaObject;
29
+ state: import("openapi-types").OpenAPIV3.SchemaObject | undefined;
30
+ }>;
31
+ instanceRoutes(): Promise<import("@norskvideo/norsk-studio/lib/extension/runtime-types").RouteInfo<InstanceRouteArgs<{
32
+ id: string;
33
+ displayName: string;
34
+ notes?: string;
35
+ sourceName: string;
36
+ streamMappings?: {
37
+ streams: {
38
+ outputKey: {
39
+ streamId: number;
40
+ programNumber: number;
41
+ sourceName: string;
42
+ renditionName: string;
43
+ };
44
+ displayName?: string;
45
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
46
+ filters?: ({
47
+ type: "sourceName" | "language" | "codec" | "renditionName";
48
+ value: string;
49
+ } | {
50
+ type: "streamId" | "programNumber";
51
+ value: number;
52
+ })[];
53
+ missingBehaviour?: "fill" | "skip";
54
+ }[];
55
+ };
56
+ }, FileInput, {
57
+ status: "idle" | "playing" | "error";
58
+ currentFile: string | null;
59
+ error: string | null;
60
+ }, {
61
+ type: "play";
62
+ filePath: string;
63
+ } | {
64
+ type: "stop";
65
+ }>>[]>;
66
+ }