@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
@@ -2,9 +2,7 @@ openapi: 3.0.0
2
2
  info:
3
3
  title: UDP TS Input
4
4
  version: 1.0.0
5
-
6
5
  paths: {}
7
-
8
6
  components:
9
7
  schemas:
10
8
  Config:
@@ -37,4 +35,82 @@ components:
37
35
  type: number
38
36
  description: The port the remote server is listening on
39
37
  streamMappings:
40
- $ref: '../../../core/src/types/base.yml#/components/schemas/StreamMappingConfiguration'
38
+ type: object
39
+ description: Configuration for mapping input streams to output streams
40
+ properties:
41
+ streams:
42
+ type: array
43
+ items:
44
+ type: object
45
+ description: Individual stream mapping entry
46
+ properties:
47
+ outputKey:
48
+ type: object
49
+ properties:
50
+ streamId:
51
+ type: integer
52
+ programNumber:
53
+ type: integer
54
+ sourceName:
55
+ type: string
56
+ renditionName:
57
+ type: string
58
+ required:
59
+ - streamId
60
+ - programNumber
61
+ - sourceName
62
+ - renditionName
63
+ displayName:
64
+ type: string
65
+ description: Optional display name for this stream
66
+ media:
67
+ type: string
68
+ enum:
69
+ - video
70
+ - audio
71
+ - subtitle
72
+ - ancillary
73
+ - playlist
74
+ description: Media type for stream mapping
75
+ filters:
76
+ type: array
77
+ items:
78
+ oneOf:
79
+ - type: object
80
+ properties:
81
+ type:
82
+ type: string
83
+ enum:
84
+ - sourceName
85
+ - language
86
+ - codec
87
+ - renditionName
88
+ value:
89
+ type: string
90
+ required:
91
+ - type
92
+ - value
93
+ - type: object
94
+ properties:
95
+ type:
96
+ type: string
97
+ enum:
98
+ - streamId
99
+ - programNumber
100
+ value:
101
+ type: integer
102
+ required:
103
+ - type
104
+ - value
105
+ description: Optional conditions for stream selection
106
+ missingBehaviour:
107
+ type: string
108
+ enum:
109
+ - fill
110
+ - skip
111
+ description: Behavior when no matching stream is found
112
+ required:
113
+ - outputKey
114
+ - media
115
+ required:
116
+ - streams
@@ -3,7 +3,13 @@ export default function ({ defineComponent, common: { Resolutions, FrameRates }
3
3
  id: string;
4
4
  displayName: string;
5
5
  notes?: string;
6
- resolution: import("./types").components["schemas"]["Resolution"];
7
- frameRate: import("./types").components["schemas"]["FrameRate"];
6
+ resolution: {
7
+ width: number;
8
+ height: number;
9
+ };
10
+ frameRate: {
11
+ frames: number;
12
+ seconds: number;
13
+ };
8
14
  pattern: "black" | "smpte75" | "smpte100";
9
15
  }, object, object, object>;
@@ -6,18 +6,16 @@ export interface components {
6
6
  id: string;
7
7
  displayName: string;
8
8
  notes?: string;
9
- resolution: components["schemas"]["Resolution"];
10
- frameRate: components["schemas"]["FrameRate"];
9
+ resolution: {
10
+ width: number;
11
+ height: number;
12
+ };
13
+ frameRate: {
14
+ frames: number;
15
+ seconds: number;
16
+ };
11
17
  pattern: "black" | "smpte75" | "smpte100";
12
18
  };
13
- Resolution: {
14
- width: number;
15
- height: number;
16
- };
17
- FrameRate: {
18
- frames: number;
19
- seconds: number;
20
- };
21
19
  };
22
20
  responses: never;
23
21
  parameters: never;
@@ -0,0 +1,32 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: Video Test Card Input
4
+ version: 1.0.0
5
+
6
+ paths: {}
7
+
8
+ components:
9
+ schemas:
10
+ Config:
11
+ type: object
12
+ required:
13
+ - id
14
+ - displayName
15
+ - resolution
16
+ - frameRate
17
+ - pattern
18
+ properties:
19
+ id:
20
+ type: string
21
+ displayName:
22
+ type: string
23
+ notes:
24
+ type: string
25
+ resolution:
26
+ $ref: '../../../core/src/types/base.yml#/components/schemas/Resolution'
27
+ frameRate:
28
+ $ref: '../../../core/src/types/base.yml#/components/schemas/FrameRate'
29
+ pattern:
30
+ type: string
31
+ enum: ["black", "smpte75", "smpte100"]
32
+ description: The pattern to use on the test card
@@ -2,9 +2,7 @@ openapi: 3.0.0
2
2
  info:
3
3
  title: Video Test Card Input
4
4
  version: 1.0.0
5
-
6
5
  paths: {}
7
-
8
6
  components:
9
7
  schemas:
10
8
  Config:
@@ -23,10 +21,34 @@ components:
23
21
  notes:
24
22
  type: string
25
23
  resolution:
26
- $ref: '../../../core/src/types/base.yml#/components/schemas/Resolution'
24
+ type: object
25
+ description: Video resolution with width and height dimensions
26
+ properties:
27
+ width:
28
+ type: integer
29
+ minimum: 1
30
+ description: Width in pixels
31
+ height:
32
+ type: integer
33
+ minimum: 1
34
+ description: Height in pixels
35
+ required:
36
+ - width
37
+ - height
27
38
  frameRate:
28
- $ref: '../../../core/src/types/base.yml#/components/schemas/FrameRate'
39
+ type: object
40
+ properties:
41
+ frames:
42
+ type: integer
43
+ seconds:
44
+ type: integer
45
+ required:
46
+ - frames
47
+ - seconds
29
48
  pattern:
30
49
  type: string
31
- enum: ["black", "smpte75", "smpte100"]
32
- description: The pattern to use on the test card
50
+ enum:
51
+ - black
52
+ - smpte75
53
+ - smpte100
54
+ description: The pattern to use on the test card
@@ -4,7 +4,13 @@ export default function ({ defineComponent, singleAvStreamMapping, singleAvStrea
4
4
  connectionCount: number;
5
5
  endpointUrl: string;
6
6
  clientUrl: string;
7
- activeSessions?: import("./types").components["schemas"]["ActiveSession"][];
7
+ activeSessions?: {
8
+ sessionId: string;
9
+ sourceName: string;
10
+ programNumber?: number;
11
+ status: "connected" | "disconnected";
12
+ connectedAt: string;
13
+ }[];
8
14
  }, {
9
15
  type: "close-session";
10
16
  sessionId: string;
@@ -64,13 +64,38 @@ export interface components {
64
64
  notes?: string;
65
65
  hostIps?: string[];
66
66
  serverReflexiveIps?: string[];
67
- streamMappings?: components["schemas"]["StreamMappingConfiguration"];
67
+ streamMappings?: {
68
+ streams: {
69
+ outputKey: {
70
+ streamId: number;
71
+ programNumber: number;
72
+ sourceName: string;
73
+ renditionName: string;
74
+ };
75
+ displayName?: string;
76
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
77
+ filters?: ({
78
+ type: "sourceName" | "language" | "codec" | "renditionName";
79
+ value: string;
80
+ } | {
81
+ type: "streamId" | "programNumber";
82
+ value: number;
83
+ })[];
84
+ missingBehaviour?: "fill" | "skip";
85
+ }[];
86
+ };
68
87
  };
69
88
  State: {
70
89
  connectionCount: number;
71
90
  endpointUrl: string;
72
91
  clientUrl: string;
73
- activeSessions?: components["schemas"]["ActiveSession"][];
92
+ activeSessions?: {
93
+ sessionId: string;
94
+ sourceName: string;
95
+ programNumber?: number;
96
+ status: "connected" | "disconnected";
97
+ connectedAt: string;
98
+ }[];
74
99
  };
75
100
  ActiveSession: {
76
101
  sessionId: string;
@@ -79,12 +104,27 @@ export interface components {
79
104
  status: "connected" | "disconnected";
80
105
  connectedAt: string;
81
106
  };
82
- Commands: components["schemas"]["CloseSessionCommand"];
107
+ Commands: {
108
+ type: "close-session";
109
+ sessionId: string;
110
+ };
83
111
  CloseSessionCommand: {
84
112
  type: "close-session";
85
113
  sessionId: string;
86
114
  };
87
- Events: components["schemas"]["ConnectionEstablishedEvent"] | components["schemas"]["ConnectionClosedEvent"] | components["schemas"]["EndpointPublishedEvent"];
115
+ Events: {
116
+ type: "connection-established";
117
+ sessionId: string;
118
+ sourceName: string;
119
+ programNumber?: number;
120
+ } | {
121
+ type: "connection-closed";
122
+ sessionId: string;
123
+ } | {
124
+ type: "endpoint-published";
125
+ endpointUrl: string;
126
+ clientUrl: string;
127
+ };
88
128
  ConnectionEstablishedEvent: {
89
129
  type: "connection-established";
90
130
  sessionId: string;
@@ -100,30 +140,6 @@ export interface components {
100
140
  endpointUrl: string;
101
141
  clientUrl: string;
102
142
  };
103
- StreamKey: {
104
- streamId: number;
105
- programNumber: number;
106
- sourceName: string;
107
- renditionName: string;
108
- };
109
- MediaType: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
110
- StreamMappingFilter: {
111
- type: "sourceName" | "language" | "codec" | "renditionName";
112
- value: string;
113
- } | {
114
- type: "streamId" | "programNumber";
115
- value: number;
116
- };
117
- StreamMappingEntry: {
118
- outputKey: components["schemas"]["StreamKey"];
119
- displayName?: string;
120
- media: components["schemas"]["MediaType"];
121
- filters?: components["schemas"]["StreamMappingFilter"][];
122
- missingBehaviour?: "fill" | "skip";
123
- };
124
- StreamMappingConfiguration: {
125
- streams: components["schemas"]["StreamMappingEntry"][];
126
- };
127
143
  };
128
144
  responses: never;
129
145
  parameters: never;
@@ -0,0 +1,190 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: WHIP Input
4
+ version: 1.0.0
5
+
6
+ paths:
7
+ /close-session:
8
+ post:
9
+ summary: Close a specific WHIP client session
10
+ description: Forcibly closes an active client session
11
+ x-route-type: instance
12
+ requestBody:
13
+ required: true
14
+ content:
15
+ application/json:
16
+ schema:
17
+ type: object
18
+ required:
19
+ - sessionId
20
+ properties:
21
+ sessionId:
22
+ type: string
23
+ description: The session ID to close
24
+ responses:
25
+ 200:
26
+ description: Session successfully closed
27
+ content:
28
+ application/json:
29
+ schema:
30
+ type: object
31
+ properties:
32
+ success:
33
+ type: boolean
34
+ sessionId:
35
+ type: string
36
+ 400:
37
+ description: Invalid session ID or session not found
38
+ 500:
39
+ description: Server error while closing session
40
+
41
+ components:
42
+ schemas:
43
+ Config:
44
+ type: object
45
+ required:
46
+ - id
47
+ - displayName
48
+ properties:
49
+ id:
50
+ type: string
51
+ description: Component ID
52
+ displayName:
53
+ type: string
54
+ description: Component display name
55
+ notes:
56
+ type: string
57
+ description: Optional notes about the component
58
+ hostIps:
59
+ type: array
60
+ items:
61
+ type: string
62
+ description: List of IPs to advertise as host address
63
+ serverReflexiveIps:
64
+ type: array
65
+ items:
66
+ type: string
67
+ description: List of server reflexive candidates for ICE
68
+ streamMappings:
69
+ $ref: '../../../core/src/types/base.yml#/components/schemas/StreamMappingConfiguration'
70
+
71
+ State:
72
+ type: object
73
+ required:
74
+ - connectionCount
75
+ - endpointUrl
76
+ - clientUrl
77
+ properties:
78
+ connectionCount:
79
+ type: number
80
+ description: Number of active client connections
81
+ endpointUrl:
82
+ type: string
83
+ description: WHIP endpoint URL for clients to connect to
84
+ clientUrl:
85
+ type: string
86
+ description: URL for local test client
87
+ activeSessions:
88
+ type: array
89
+ items:
90
+ $ref: '#/components/schemas/ActiveSession'
91
+ description: List of active client sessions
92
+
93
+ ActiveSession:
94
+ type: object
95
+ required:
96
+ - sessionId
97
+ - sourceName
98
+ - status
99
+ - connectedAt
100
+ properties:
101
+ sessionId:
102
+ type: string
103
+ description: Unique session identifier
104
+ sourceName:
105
+ type: string
106
+ description: Source name for the session streams
107
+ programNumber:
108
+ type: number
109
+ description: Program number for the session
110
+ status:
111
+ type: string
112
+ enum: ["connected", "disconnected"]
113
+ description: Current connection status
114
+ connectedAt:
115
+ type: string
116
+ format: date-time
117
+ description: When the session was established
118
+
119
+ Commands:
120
+ oneOf:
121
+ - $ref: '#/components/schemas/CloseSessionCommand'
122
+
123
+ CloseSessionCommand:
124
+ type: object
125
+ required:
126
+ - type
127
+ - sessionId
128
+ properties:
129
+ type:
130
+ type: string
131
+ enum: ["close-session"]
132
+ sessionId:
133
+ type: string
134
+ description: Session ID to close
135
+
136
+ Events:
137
+ oneOf:
138
+ - $ref: '#/components/schemas/ConnectionEstablishedEvent'
139
+ - $ref: '#/components/schemas/ConnectionClosedEvent'
140
+ - $ref: '#/components/schemas/EndpointPublishedEvent'
141
+
142
+ ConnectionEstablishedEvent:
143
+ type: object
144
+ required:
145
+ - type
146
+ - sessionId
147
+ - sourceName
148
+ properties:
149
+ type:
150
+ type: string
151
+ enum: ["connection-established"]
152
+ sessionId:
153
+ type: string
154
+ description: Unique session identifier
155
+ sourceName:
156
+ type: string
157
+ description: Source name for the connection
158
+ programNumber:
159
+ type: number
160
+ description: Program number for the connection
161
+
162
+ ConnectionClosedEvent:
163
+ type: object
164
+ required:
165
+ - type
166
+ - sessionId
167
+ properties:
168
+ type:
169
+ type: string
170
+ enum: ["connection-closed"]
171
+ sessionId:
172
+ type: string
173
+ description: Session identifier that was closed
174
+
175
+ EndpointPublishedEvent:
176
+ type: object
177
+ required:
178
+ - type
179
+ - endpointUrl
180
+ - clientUrl
181
+ properties:
182
+ type:
183
+ type: string
184
+ enum: ["endpoint-published"]
185
+ endpointUrl:
186
+ type: string
187
+ description: WHIP endpoint URL
188
+ clientUrl:
189
+ type: string
190
+ description: Local test client URL