@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-06-336ac6c6 → 1.27.0-2025-07-08-02bba8fe

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 (106) hide show
  1. package/client/info.js +226 -7
  2. package/client/style.css +8 -0
  3. package/lib/info.js +3 -1
  4. package/lib/info.js.map +1 -1
  5. package/lib/input.rtmp/info.d.ts +20 -1
  6. package/lib/input.rtmp/runtime.d.ts +20 -1
  7. package/lib/input.rtmp/types.d.ts +47 -27
  8. package/lib/input.rtmp/types.source.yaml +319 -0
  9. package/lib/input.rtmp/types.yaml +204 -131
  10. package/lib/input.silence/info.d.ts +4 -2
  11. package/lib/input.silence/types.d.ts +4 -7
  12. package/lib/input.silence/types.source.yaml +27 -0
  13. package/lib/input.silence/types.yaml +80 -4
  14. package/lib/input.srt-caller/info.d.ts +41 -4
  15. package/lib/input.srt-caller/types.d.ts +51 -43
  16. package/lib/input.srt-caller/types.source.yaml +70 -0
  17. package/lib/input.srt-caller/types.yaml +136 -24
  18. package/lib/input.srt-listener/info.d.ts +41 -4
  19. package/lib/input.srt-listener/runtime.d.ts +34 -3
  20. package/lib/input.srt-listener/types.d.ts +74 -44
  21. package/lib/input.srt-listener/types.source.yaml +329 -0
  22. package/lib/input.srt-listener/types.yaml +257 -132
  23. package/lib/input.udp-ts/info.d.ts +20 -1
  24. package/lib/input.udp-ts/types.d.ts +20 -25
  25. package/lib/input.udp-ts/types.source.yaml +40 -0
  26. package/lib/input.udp-ts/types.yaml +79 -3
  27. package/lib/input.videoTestCard/info.d.ts +8 -2
  28. package/lib/input.videoTestCard/types.d.ts +8 -10
  29. package/lib/input.videoTestCard/types.source.yaml +32 -0
  30. package/lib/input.videoTestCard/types.yaml +28 -6
  31. package/lib/input.whip/info.d.ts +7 -1
  32. package/lib/input.whip/types.d.ts +44 -28
  33. package/lib/input.whip/types.source.yaml +190 -0
  34. package/lib/input.whip/types.yaml +177 -104
  35. package/lib/output.autoCmaf/info.js +20 -0
  36. package/lib/output.autoCmaf/info.js.map +1 -1
  37. package/lib/output.autoCmaf/runtime.d.ts +2 -1
  38. package/lib/output.autoCmaf/runtime.js +35 -7
  39. package/lib/output.autoCmaf/runtime.js.map +1 -1
  40. package/lib/output.autoCmaf/types.d.ts +1 -0
  41. package/lib/output.autoCmaf/types.yaml +3 -0
  42. package/lib/output.cmafMultiVariant/runtime.js +2 -2
  43. package/lib/output.cmafMultiVariant/runtime.js.map +1 -1
  44. package/lib/output.cmafPlaylist/info.js +19 -0
  45. package/lib/output.cmafPlaylist/info.js.map +1 -1
  46. package/lib/output.cmafPlaylist/runtime.js +6 -3
  47. package/lib/output.cmafPlaylist/runtime.js.map +1 -1
  48. package/lib/output.cmafPlaylist/types.d.ts +1 -0
  49. package/lib/output.cmafPlaylist/types.yaml +3 -0
  50. package/lib/output.preview/runtime.js +2 -2
  51. package/lib/output.preview/runtime.js.map +1 -1
  52. package/lib/output.statistics/info.d.ts +172 -2
  53. package/lib/output.statistics/types.d.ts +400 -72
  54. package/lib/output.statistics/types.source.yaml +119 -0
  55. package/lib/output.statistics/types.yaml +331 -91
  56. package/lib/output.tsMediaPlaylist/runtime.js +2 -2
  57. package/lib/output.tsMediaPlaylist/runtime.js.map +1 -1
  58. package/lib/output.tsMultiVariant/runtime.js +1 -1
  59. package/lib/output.tsMultiVariant/runtime.js.map +1 -1
  60. package/lib/output.whep/runtime.js +3 -1
  61. package/lib/output.whep/runtime.js.map +1 -1
  62. package/lib/processor.audioEncoder/info.d.ts +10 -2
  63. package/lib/processor.audioEncoder/types.d.ts +23 -12
  64. package/lib/processor.audioEncoder/types.source.yaml +78 -0
  65. package/lib/processor.audioEncoder/types.yaml +101 -29
  66. package/lib/processor.fixedLadder/info.d.ts +182 -7
  67. package/lib/processor.fixedLadder/types.d.ts +619 -19
  68. package/lib/processor.fixedLadder/types.source.yaml +462 -0
  69. package/lib/processor.fixedLadder/types.yaml +334 -115
  70. package/lib/processor.makeProgram/info.d.ts +1 -0
  71. package/lib/processor.makeProgram/info.js +9 -0
  72. package/lib/processor.makeProgram/info.js.map +1 -1
  73. package/lib/processor.makeProgram/runtime.d.ts +2 -1
  74. package/lib/processor.makeProgram/runtime.js +14 -1
  75. package/lib/processor.makeProgram/runtime.js.map +1 -1
  76. package/lib/processor.makeProgram/types.d.ts +1 -0
  77. package/lib/processor.makeProgram/types.yaml +3 -1
  78. package/lib/processor.smartSingleMediaSwitch/info.d.ts +12 -4
  79. package/lib/processor.smartSingleMediaSwitch/types.d.ts +22 -18
  80. package/lib/processor.smartSingleMediaSwitch/types.source.yaml +115 -0
  81. package/lib/processor.smartSingleMediaSwitch/types.yaml +145 -50
  82. package/lib/processor.smartSourceSwitch/info.d.ts +12 -4
  83. package/lib/processor.smartSourceSwitch/types.d.ts +22 -18
  84. package/lib/processor.smartSourceSwitch/types.source.yaml +97 -0
  85. package/lib/processor.smartSourceSwitch/types.yaml +142 -48
  86. package/lib/processor.syncExternalAudio/info.d.ts +1 -0
  87. package/lib/processor.syncExternalAudio/types.d.ts +1 -0
  88. package/lib/processor.zoomTo/info.d.ts +54 -0
  89. package/lib/processor.zoomTo/info.js +172 -0
  90. package/lib/processor.zoomTo/info.js.map +1 -0
  91. package/lib/processor.zoomTo/runtime-types.d.ts +11 -0
  92. package/lib/processor.zoomTo/runtime-types.js +3 -0
  93. package/lib/processor.zoomTo/runtime-types.js.map +1 -0
  94. package/lib/processor.zoomTo/runtime.d.ts +45 -0
  95. package/lib/processor.zoomTo/runtime.js +307 -0
  96. package/lib/processor.zoomTo/runtime.js.map +1 -0
  97. package/lib/processor.zoomTo/types.d.ts +182 -0
  98. package/lib/processor.zoomTo/types.js +3 -0
  99. package/lib/processor.zoomTo/types.js.map +1 -0
  100. package/lib/processor.zoomTo/types.yaml +356 -0
  101. package/lib/test/auto-cmaf.js +7 -4
  102. package/lib/test/auto-cmaf.js.map +1 -1
  103. package/lib/test/zoom-to.d.ts +1 -0
  104. package/lib/test/zoom-to.js +345 -0
  105. package/lib/test/zoom-to.js.map +1 -0
  106. package/package.json +3 -3
@@ -0,0 +1,307 @@
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.ZoomTo = void 0;
7
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
8
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
9
+ const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
10
+ const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
11
+ const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
12
+ const path_1 = __importDefault(require("path"));
13
+ const api_1 = require("@norskvideo/norsk-studio/lib/server/api");
14
+ const schemas_1 = require("../shared/schemas");
15
+ function pixelsToPercentage(pixels, dimension) {
16
+ return dimension > 0 ? (pixels / dimension) * 100 : 0;
17
+ }
18
+ class ZoomToDefinition {
19
+ async create(norsk, cfg, cb, runtime) {
20
+ const node = await ZoomTo.create(norsk, cfg, runtime.updates);
21
+ cb(node);
22
+ }
23
+ async handleCommand(node, command) {
24
+ const commandType = command.type;
25
+ switch (commandType) {
26
+ case 'update-zoom':
27
+ await node.updateZoom(command);
28
+ break;
29
+ default:
30
+ (0, util_1.assertUnreachable)(commandType);
31
+ }
32
+ }
33
+ async schemas() {
34
+ return (0, schemas_1.schemaFromTypes)(path_1.default.join(__dirname, 'types.yaml'), {
35
+ config: 'zoomToConfig',
36
+ state: 'zoomToState'
37
+ });
38
+ }
39
+ async instanceRoutes() {
40
+ return (0, api_1.defineApi)(path_1.default.join(__dirname, 'types.yaml'), {
41
+ '/zoom': {
42
+ get: ({ runtime }) => (_req, res) => {
43
+ const state = runtime.updates.latest();
44
+ res.json({
45
+ zoom: {
46
+ currentOffsetX: state.currentOffsetX,
47
+ currentOffsetY: state.currentOffsetY,
48
+ currentWidth: state.currentWidth,
49
+ currentHeight: state.currentHeight,
50
+ targetOffsetX: state.targetOffsetX,
51
+ targetOffsetY: state.targetOffsetY,
52
+ targetWidth: state.targetWidth,
53
+ targetHeight: state.targetHeight,
54
+ transitioning: state.transitioning
55
+ },
56
+ inputVideo: {
57
+ resolution: state.inputVideoResolution,
58
+ frameRate: state.inputVideoFrameRate,
59
+ aspectRatio: state.inputVideoAspectRatio,
60
+ hasInputVideo: state.hasInputVideo
61
+ }
62
+ });
63
+ },
64
+ post: ({ runtime }) => async (req, res) => {
65
+ const body = req.body;
66
+ if (!body.mode || (body.mode !== 'percentage' && body.mode !== 'pixel')) {
67
+ return res.status(400).json({
68
+ error: 'Invalid mode',
69
+ details: 'Mode must be either "percentage" or "pixel"'
70
+ });
71
+ }
72
+ if (body.mode === 'percentage') {
73
+ const { offsetX, offsetY, width, height } = body;
74
+ if (typeof offsetX !== 'number' || typeof offsetY !== 'number' ||
75
+ typeof width !== 'number' || typeof height !== 'number') {
76
+ return res.status(400).json({
77
+ error: 'Invalid parameters',
78
+ details: 'offsetX, offsetY, width, and height must be numbers'
79
+ });
80
+ }
81
+ if (offsetX < 0 || offsetX > 100 || offsetY < 0 || offsetY > 100 ||
82
+ width <= 0 || width > 100 || height <= 0 || height > 100) {
83
+ return res.status(400).json({
84
+ error: 'Invalid range',
85
+ details: 'Percentage values must be 0-100, width/height must be > 0'
86
+ });
87
+ }
88
+ if (offsetX + width > 100 || offsetY + height > 100) {
89
+ return res.status(400).json({
90
+ error: 'Invalid crop region',
91
+ details: 'Crop region extends beyond video bounds'
92
+ });
93
+ }
94
+ }
95
+ else {
96
+ const { offsetXPx, offsetYPx, widthPx, heightPx } = body;
97
+ if (typeof offsetXPx !== 'number' || typeof offsetYPx !== 'number' ||
98
+ typeof widthPx !== 'number' || typeof heightPx !== 'number') {
99
+ return res.status(400).json({
100
+ error: 'Invalid parameters',
101
+ details: 'offsetXPx, offsetYPx, widthPx, and heightPx must be numbers'
102
+ });
103
+ }
104
+ if (offsetXPx < 0 || offsetYPx < 0 || widthPx <= 0 || heightPx <= 0) {
105
+ return res.status(400).json({
106
+ error: 'Invalid range',
107
+ details: 'Pixel values must be non-negative, width/height must be > 0'
108
+ });
109
+ }
110
+ }
111
+ runtime.updates.sendCommand({
112
+ type: 'update-zoom',
113
+ ...body
114
+ });
115
+ res.status(204).send();
116
+ }
117
+ }
118
+ });
119
+ }
120
+ }
121
+ exports.default = ZoomToDefinition;
122
+ class ZoomTo {
123
+ id;
124
+ relatedMediaNodes = new runtime_types_1.RelatedMediaNodes();
125
+ norsk;
126
+ cfg;
127
+ videoSource;
128
+ composeNode;
129
+ initialised;
130
+ updates;
131
+ currentVideo;
132
+ currentOffsetX;
133
+ currentOffsetY;
134
+ currentWidth;
135
+ currentHeight;
136
+ targetOffsetX;
137
+ targetOffsetY;
138
+ targetWidth;
139
+ targetHeight;
140
+ transitioning = false;
141
+ static async create(norsk, cfg, updates) {
142
+ const node = new ZoomTo(norsk, cfg, updates);
143
+ await node.initialised;
144
+ return node;
145
+ }
146
+ constructor(norsk, cfg, updates) {
147
+ this.cfg = cfg;
148
+ this.id = cfg.id;
149
+ this.norsk = norsk;
150
+ this.updates = updates;
151
+ this.currentOffsetX = this.targetOffsetX = cfg.offsetX;
152
+ this.currentOffsetY = this.targetOffsetY = cfg.offsetY;
153
+ this.currentWidth = this.targetWidth = cfg.width;
154
+ this.currentHeight = this.targetHeight = cfg.height;
155
+ this.initialised = this.initialise();
156
+ }
157
+ async initialise() {
158
+ this.updateZoomState();
159
+ this.updateVideoState();
160
+ (0, logging_1.debuglog)("ZoomTo component initialized", { id: this.id, config: this.cfg });
161
+ }
162
+ updateZoomState() {
163
+ this.updates.raiseEvent({
164
+ type: 'zoom-updated',
165
+ currentOffsetX: this.currentOffsetX,
166
+ currentOffsetY: this.currentOffsetY,
167
+ currentWidth: this.currentWidth,
168
+ currentHeight: this.currentHeight,
169
+ targetOffsetX: this.targetOffsetX,
170
+ targetOffsetY: this.targetOffsetY,
171
+ targetWidth: this.targetWidth,
172
+ targetHeight: this.targetHeight,
173
+ transitioning: this.transitioning
174
+ });
175
+ }
176
+ updateVideoState() {
177
+ this.updates.raiseEvent({
178
+ type: 'input-video-changed',
179
+ hasInputVideo: !!this.currentVideo,
180
+ inputVideoResolution: this.currentVideo ? {
181
+ width: this.currentVideo.width,
182
+ height: this.currentVideo.height
183
+ } : undefined,
184
+ inputVideoFrameRate: this.currentVideo?.frameRate ? {
185
+ frames: this.currentVideo.frameRate.frames,
186
+ seconds: this.currentVideo.frameRate.seconds
187
+ } : undefined,
188
+ inputVideoAspectRatio: this.currentVideo ?
189
+ this.currentVideo.width / this.currentVideo.height : undefined
190
+ });
191
+ }
192
+ async subscribe(sources) {
193
+ this.videoSource = sources[0];
194
+ await this.handleContext();
195
+ }
196
+ async handleContext() {
197
+ const video = this.videoSource?.metadata;
198
+ if (!video || !this.videoSource || video.message.case !== 'video') {
199
+ await this.composeNode?.close();
200
+ this.composeNode = undefined;
201
+ this.currentVideo = undefined;
202
+ this.updateVideoState();
203
+ return;
204
+ }
205
+ const nextVideo = video.message.value;
206
+ (0, logging_1.debuglog)("Creating compose for zoomTo", { id: this.id, metadata: nextVideo });
207
+ this.currentVideo = nextVideo;
208
+ this.updateVideoState();
209
+ if (!this.composeNode) {
210
+ (0, logging_1.debuglog)("Creating compose node for zoomTo", {
211
+ id: this.id,
212
+ inputSize: { width: nextVideo.width, height: nextVideo.height },
213
+ outputSize: this.cfg.outputResolution
214
+ });
215
+ const hardwareAcceleration = (0, config_1.contractHardwareAcceleration)(this.cfg.__global.hardware, ["nvidia", "quadra"]);
216
+ const thisCompose = this.composeNode = await this.norsk.processor.transform.videoCompose({
217
+ onCreate: (n) => {
218
+ this.relatedMediaNodes.addOutput(n);
219
+ this.relatedMediaNodes.addInput(n);
220
+ },
221
+ onClose: () => {
222
+ this.relatedMediaNodes.removeOutput(thisCompose);
223
+ this.relatedMediaNodes.removeInput(thisCompose);
224
+ },
225
+ id: `${this.id}-compose`,
226
+ referenceStream: 'video',
227
+ hardwareAcceleration,
228
+ outputPixelFormat: hardwareAcceleration == 'quadra' ? 'bgra' : undefined,
229
+ outputResolution: this.cfg.outputResolution,
230
+ parts: [this.createVideoPart()]
231
+ });
232
+ }
233
+ this.doSubs();
234
+ }
235
+ createVideoPart() {
236
+ return {
237
+ pin: "video",
238
+ opacity: 1.0,
239
+ zIndex: 0,
240
+ compose: norsk_sdk_1.VideoComposeDefaults.percentage({
241
+ sourceRect: {
242
+ x: this.currentOffsetX,
243
+ y: this.currentOffsetY,
244
+ width: this.currentWidth,
245
+ height: this.currentHeight
246
+ },
247
+ destRect: {
248
+ x: 0,
249
+ y: 0,
250
+ width: 100,
251
+ height: 100
252
+ }
253
+ })
254
+ };
255
+ }
256
+ doSubs() {
257
+ if (!this.composeNode || !this.videoSource)
258
+ return;
259
+ this.composeNode.subscribeToPins([
260
+ this.videoSource.selectToPin("video")
261
+ ]);
262
+ }
263
+ async updateZoom(command) {
264
+ if (!this.currentVideo) {
265
+ (0, logging_1.debuglog)("Cannot update zoom - no input video", { id: this.id });
266
+ return;
267
+ }
268
+ let newOffsetX, newOffsetY, newWidth, newHeight;
269
+ if (command.mode === 'percentage') {
270
+ newOffsetX = command.offsetX;
271
+ newOffsetY = command.offsetY;
272
+ newWidth = command.width;
273
+ newHeight = command.height;
274
+ }
275
+ else {
276
+ newOffsetX = pixelsToPercentage(command.offsetXPx, this.currentVideo.width);
277
+ newOffsetY = pixelsToPercentage(command.offsetYPx, this.currentVideo.height);
278
+ newWidth = pixelsToPercentage(command.widthPx, this.currentVideo.width);
279
+ newHeight = pixelsToPercentage(command.heightPx, this.currentVideo.height);
280
+ }
281
+ this.targetOffsetX = newOffsetX;
282
+ this.targetOffsetY = newOffsetY;
283
+ this.targetWidth = newWidth;
284
+ this.targetHeight = newHeight;
285
+ this.currentOffsetX = newOffsetX;
286
+ this.currentOffsetY = newOffsetY;
287
+ this.currentWidth = newWidth;
288
+ this.currentHeight = newHeight;
289
+ (0, logging_1.debuglog)("Updating zoom", {
290
+ id: this.id,
291
+ mode: command.mode,
292
+ newZoom: { offsetX: newOffsetX, offsetY: newOffsetY, width: newWidth, height: newHeight }
293
+ });
294
+ if (this.composeNode) {
295
+ this.composeNode.updateConfig({
296
+ parts: [this.createVideoPart()]
297
+ });
298
+ }
299
+ this.updateZoomState();
300
+ }
301
+ async close() {
302
+ (0, logging_1.debuglog)("Closing ZoomTo component", { id: this.id });
303
+ await this.composeNode?.close();
304
+ }
305
+ }
306
+ exports.ZoomTo = ZoomTo;
307
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.zoomTo/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ export interface paths {
2
+ "/zoom": {
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
+ "application/json": {
24
+ zoom?: {
25
+ currentOffsetX?: number;
26
+ currentOffsetY?: number;
27
+ currentWidth?: number;
28
+ currentHeight?: number;
29
+ targetOffsetX?: number;
30
+ targetOffsetY?: number;
31
+ targetWidth?: number;
32
+ targetHeight?: number;
33
+ transitioning?: boolean;
34
+ };
35
+ inputVideo?: {
36
+ resolution?: components["schemas"]["resolution"];
37
+ frameRate?: components["schemas"]["frameRate"];
38
+ aspectRatio?: number;
39
+ hasInputVideo?: boolean;
40
+ };
41
+ };
42
+ };
43
+ };
44
+ };
45
+ };
46
+ put?: never;
47
+ post: {
48
+ parameters: {
49
+ query?: never;
50
+ header?: never;
51
+ path?: never;
52
+ cookie?: never;
53
+ };
54
+ requestBody: {
55
+ content: {
56
+ "application/json": {
57
+ mode: "percentage";
58
+ offsetX: number;
59
+ offsetY: number;
60
+ width: number;
61
+ height: number;
62
+ transitionDurationMs?: number;
63
+ transitionEasing?: "linear" | "ease_in" | "ease_out" | "ease_in_out";
64
+ } | {
65
+ mode: "pixel";
66
+ offsetXPx: number;
67
+ offsetYPx: number;
68
+ widthPx: number;
69
+ heightPx: number;
70
+ transitionDurationMs?: number;
71
+ transitionEasing?: "linear" | "ease_in" | "ease_out" | "ease_in_out";
72
+ };
73
+ };
74
+ };
75
+ responses: {
76
+ 204: {
77
+ headers: {
78
+ [name: string]: unknown;
79
+ };
80
+ content?: never;
81
+ };
82
+ 400: {
83
+ headers: {
84
+ [name: string]: unknown;
85
+ };
86
+ content?: never;
87
+ };
88
+ };
89
+ };
90
+ delete?: never;
91
+ options?: never;
92
+ head?: never;
93
+ patch?: never;
94
+ trace?: never;
95
+ };
96
+ }
97
+ export type webhooks = Record<string, never>;
98
+ export interface components {
99
+ schemas: {
100
+ zoomToConfig: {
101
+ id: string;
102
+ displayName: string;
103
+ offsetX: number;
104
+ offsetY: number;
105
+ width: number;
106
+ height: number;
107
+ outputResolution: components["schemas"]["resolution"];
108
+ transitionDurationMs: number;
109
+ transitionEasing: "linear" | "ease_in" | "ease_out" | "ease_in_out";
110
+ notes?: string;
111
+ };
112
+ resolution: {
113
+ width: number;
114
+ height: number;
115
+ };
116
+ frameRate: {
117
+ frames: number;
118
+ seconds: number;
119
+ };
120
+ zoomToState: {
121
+ currentOffsetX?: number;
122
+ currentOffsetY?: number;
123
+ currentWidth?: number;
124
+ currentHeight?: number;
125
+ targetOffsetX?: number;
126
+ targetOffsetY?: number;
127
+ targetWidth?: number;
128
+ targetHeight?: number;
129
+ inputVideoResolution?: components["schemas"]["resolution"];
130
+ inputVideoFrameRate?: components["schemas"]["frameRate"];
131
+ inputVideoAspectRatio?: number;
132
+ transitioning?: boolean;
133
+ hasInputVideo?: boolean;
134
+ };
135
+ zoomToCommand: {
136
+ type: "update-zoom";
137
+ mode: "percentage";
138
+ offsetX: number;
139
+ offsetY: number;
140
+ width: number;
141
+ height: number;
142
+ transitionDurationMs: number;
143
+ transitionEasing: "linear" | "ease_in" | "ease_out" | "ease_in_out";
144
+ } | {
145
+ type: "update-zoom";
146
+ mode: "pixel";
147
+ offsetXPx: number;
148
+ offsetYPx: number;
149
+ widthPx: number;
150
+ heightPx: number;
151
+ transitionDurationMs: number;
152
+ transitionEasing: "linear" | "ease_in" | "ease_out" | "ease_in_out";
153
+ };
154
+ zoomToEvent: {
155
+ type: "zoom-updated";
156
+ currentOffsetX: number;
157
+ currentOffsetY: number;
158
+ currentWidth: number;
159
+ currentHeight: number;
160
+ targetOffsetX: number;
161
+ targetOffsetY: number;
162
+ targetWidth: number;
163
+ targetHeight: number;
164
+ transitioning: boolean;
165
+ } | {
166
+ type: "input-video-changed";
167
+ hasInputVideo: boolean;
168
+ inputVideoResolution?: components["schemas"]["resolution"];
169
+ inputVideoFrameRate?: components["schemas"]["frameRate"];
170
+ inputVideoAspectRatio?: number;
171
+ } | {
172
+ type: "transition-complete";
173
+ };
174
+ };
175
+ responses: never;
176
+ parameters: never;
177
+ requestBodies: never;
178
+ headers: never;
179
+ pathItems: never;
180
+ }
181
+ export type $defs = Record<string, never>;
182
+ export type operations = Record<string, never>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/processor.zoomTo/types.ts"],"names":[],"mappings":""}