@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-06-336ac6c6 → 1.27.0-2025-07-09-f9b24945

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 (135) hide show
  1. package/client/info.js +665 -284
  2. package/client/style.css +46 -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 +206 -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 +82 -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 +138 -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 +259 -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 +81 -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 +30 -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 +179 -104
  35. package/lib/output.autoCmaf/fullscreen.js +46 -1
  36. package/lib/output.autoCmaf/fullscreen.js.map +1 -1
  37. package/lib/output.autoCmaf/info.js +20 -0
  38. package/lib/output.autoCmaf/info.js.map +1 -1
  39. package/lib/output.autoCmaf/inline-view.d.ts +3 -2
  40. package/lib/output.autoCmaf/inline-view.js +72 -2
  41. package/lib/output.autoCmaf/inline-view.js.map +1 -1
  42. package/lib/output.autoCmaf/runtime.d.ts +2 -1
  43. package/lib/output.autoCmaf/runtime.js +41 -11
  44. package/lib/output.autoCmaf/runtime.js.map +1 -1
  45. package/lib/output.autoCmaf/types.d.ts +2 -0
  46. package/lib/output.autoCmaf/types.yaml +6 -0
  47. package/lib/output.cmafMultiVariant/runtime.js +2 -2
  48. package/lib/output.cmafMultiVariant/runtime.js.map +1 -1
  49. package/lib/output.cmafPlaylist/info.js +19 -0
  50. package/lib/output.cmafPlaylist/info.js.map +1 -1
  51. package/lib/output.cmafPlaylist/runtime.js +6 -3
  52. package/lib/output.cmafPlaylist/runtime.js.map +1 -1
  53. package/lib/output.cmafPlaylist/types.d.ts +1 -0
  54. package/lib/output.cmafPlaylist/types.yaml +3 -0
  55. package/lib/output.preview/inline-view.js +1 -1
  56. package/lib/output.preview/inline-view.js.map +1 -1
  57. package/lib/output.preview/runtime.js +2 -2
  58. package/lib/output.preview/runtime.js.map +1 -1
  59. package/lib/output.statistics/info.d.ts +172 -2
  60. package/lib/output.statistics/types.d.ts +400 -72
  61. package/lib/output.statistics/types.source.yaml +119 -0
  62. package/lib/output.statistics/types.yaml +333 -91
  63. package/lib/output.tsMediaPlaylist/runtime.js +2 -2
  64. package/lib/output.tsMediaPlaylist/runtime.js.map +1 -1
  65. package/lib/output.tsMultiVariant/runtime.js +1 -1
  66. package/lib/output.tsMultiVariant/runtime.js.map +1 -1
  67. package/lib/output.whep/runtime.js +3 -1
  68. package/lib/output.whep/runtime.js.map +1 -1
  69. package/lib/processor.audioEncoder/info.d.ts +10 -2
  70. package/lib/processor.audioEncoder/types.d.ts +23 -12
  71. package/lib/processor.audioEncoder/types.source.yaml +78 -0
  72. package/lib/processor.audioEncoder/types.yaml +103 -29
  73. package/lib/processor.browserOverlay/info.js +5 -3
  74. package/lib/processor.browserOverlay/info.js.map +1 -1
  75. package/lib/processor.browserOverlay/runtime.d.ts +2 -1
  76. package/lib/processor.browserOverlay/runtime.js +16 -2
  77. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  78. package/lib/processor.fixedLadder/info.d.ts +182 -7
  79. package/lib/processor.fixedLadder/types.d.ts +619 -19
  80. package/lib/processor.fixedLadder/types.source.yaml +462 -0
  81. package/lib/processor.fixedLadder/types.yaml +336 -115
  82. package/lib/processor.makeProgram/info.d.ts +1 -0
  83. package/lib/processor.makeProgram/info.js +9 -0
  84. package/lib/processor.makeProgram/info.js.map +1 -1
  85. package/lib/processor.makeProgram/runtime.d.ts +2 -1
  86. package/lib/processor.makeProgram/runtime.js +14 -1
  87. package/lib/processor.makeProgram/runtime.js.map +1 -1
  88. package/lib/processor.makeProgram/types.d.ts +1 -0
  89. package/lib/processor.makeProgram/types.yaml +3 -1
  90. package/lib/processor.smartSingleMediaSwitch/info.d.ts +12 -4
  91. package/lib/processor.smartSingleMediaSwitch/types.d.ts +22 -18
  92. package/lib/processor.smartSingleMediaSwitch/types.source.yaml +115 -0
  93. package/lib/processor.smartSingleMediaSwitch/types.yaml +147 -50
  94. package/lib/processor.smartSourceSwitch/form-views.d.ts +6 -0
  95. package/lib/processor.smartSourceSwitch/form-views.js +11 -0
  96. package/lib/processor.smartSourceSwitch/form-views.js.map +1 -0
  97. package/lib/processor.smartSourceSwitch/info.d.ts +18 -4
  98. package/lib/processor.smartSourceSwitch/info.js +30 -0
  99. package/lib/processor.smartSourceSwitch/info.js.map +1 -1
  100. package/lib/processor.smartSourceSwitch/inline-view.js +9 -8
  101. package/lib/processor.smartSourceSwitch/inline-view.js.map +1 -1
  102. package/lib/processor.smartSourceSwitch/runtime.d.ts +4 -1
  103. package/lib/processor.smartSourceSwitch/runtime.js +56 -27
  104. package/lib/processor.smartSourceSwitch/runtime.js.map +1 -1
  105. package/lib/processor.smartSourceSwitch/types.d.ts +41 -18
  106. package/lib/processor.smartSourceSwitch/types.source.yaml +129 -0
  107. package/lib/processor.smartSourceSwitch/types.yaml +177 -48
  108. package/lib/processor.syncExternalAudio/info.d.ts +1 -0
  109. package/lib/processor.syncExternalAudio/types.d.ts +1 -0
  110. package/lib/processor.videoDecoder/info.js +4 -2
  111. package/lib/processor.videoDecoder/info.js.map +1 -1
  112. package/lib/processor.zoomTo/info.d.ts +54 -0
  113. package/lib/processor.zoomTo/info.js +174 -0
  114. package/lib/processor.zoomTo/info.js.map +1 -0
  115. package/lib/processor.zoomTo/runtime-types.d.ts +11 -0
  116. package/lib/processor.zoomTo/runtime-types.js +3 -0
  117. package/lib/processor.zoomTo/runtime-types.js.map +1 -0
  118. package/lib/processor.zoomTo/runtime.d.ts +45 -0
  119. package/lib/processor.zoomTo/runtime.js +323 -0
  120. package/lib/processor.zoomTo/runtime.js.map +1 -0
  121. package/lib/processor.zoomTo/types.d.ts +182 -0
  122. package/lib/processor.zoomTo/types.js +3 -0
  123. package/lib/processor.zoomTo/types.js.map +1 -0
  124. package/lib/processor.zoomTo/types.yaml +356 -0
  125. package/lib/test/auto-cmaf.js +7 -4
  126. package/lib/test/auto-cmaf.js.map +1 -1
  127. package/lib/test/smart-source-switch.js +117 -2
  128. package/lib/test/smart-source-switch.js.map +1 -1
  129. package/lib/test/zoom-to.d.ts +1 -0
  130. package/lib/test/zoom-to.js +345 -0
  131. package/lib/test/zoom-to.js.map +1 -0
  132. package/package.json +5 -5
  133. package/lib/output.autoCmaf/summary.d.ts +0 -6
  134. package/lib/output.autoCmaf/summary.js +0 -57
  135. package/lib/output.autoCmaf/summary.js.map +0 -1
@@ -1,10 +1,10 @@
1
+ # This file has been generated, please edit types.source.yaml instead
2
+
1
3
  openapi: 3.0.0
2
4
  info:
3
5
  title: UDP TS Input
4
6
  version: 1.0.0
5
-
6
7
  paths: {}
7
-
8
8
  components:
9
9
  schemas:
10
10
  Config:
@@ -37,4 +37,82 @@ components:
37
37
  type: number
38
38
  description: The port the remote server is listening on
39
39
  streamMappings:
40
- $ref: '../../../core/src/types/base.yml#/components/schemas/StreamMappingConfiguration'
40
+ type: object
41
+ description: Configuration for mapping input streams to output streams
42
+ properties:
43
+ streams:
44
+ type: array
45
+ items:
46
+ type: object
47
+ description: Individual stream mapping entry
48
+ properties:
49
+ outputKey:
50
+ type: object
51
+ properties:
52
+ streamId:
53
+ type: integer
54
+ programNumber:
55
+ type: integer
56
+ sourceName:
57
+ type: string
58
+ renditionName:
59
+ type: string
60
+ required:
61
+ - streamId
62
+ - programNumber
63
+ - sourceName
64
+ - renditionName
65
+ displayName:
66
+ type: string
67
+ description: Optional display name for this stream
68
+ media:
69
+ type: string
70
+ enum:
71
+ - video
72
+ - audio
73
+ - subtitle
74
+ - ancillary
75
+ - playlist
76
+ description: Media type for stream mapping
77
+ filters:
78
+ type: array
79
+ items:
80
+ oneOf:
81
+ - type: object
82
+ properties:
83
+ type:
84
+ type: string
85
+ enum:
86
+ - sourceName
87
+ - language
88
+ - codec
89
+ - renditionName
90
+ value:
91
+ type: string
92
+ required:
93
+ - type
94
+ - value
95
+ - type: object
96
+ properties:
97
+ type:
98
+ type: string
99
+ enum:
100
+ - streamId
101
+ - programNumber
102
+ value:
103
+ type: integer
104
+ required:
105
+ - type
106
+ - value
107
+ description: Optional conditions for stream selection
108
+ missingBehaviour:
109
+ type: string
110
+ enum:
111
+ - fill
112
+ - skip
113
+ description: Behavior when no matching stream is found
114
+ required:
115
+ - outputKey
116
+ - media
117
+ required:
118
+ - 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
@@ -1,10 +1,10 @@
1
+ # This file has been generated, please edit types.source.yaml instead
2
+
1
3
  openapi: 3.0.0
2
4
  info:
3
5
  title: Video Test Card Input
4
6
  version: 1.0.0
5
-
6
7
  paths: {}
7
-
8
8
  components:
9
9
  schemas:
10
10
  Config:
@@ -23,10 +23,34 @@ components:
23
23
  notes:
24
24
  type: string
25
25
  resolution:
26
- $ref: '../../../core/src/types/base.yml#/components/schemas/Resolution'
26
+ type: object
27
+ description: Video resolution with width and height dimensions
28
+ properties:
29
+ width:
30
+ type: integer
31
+ minimum: 1
32
+ description: Width in pixels
33
+ height:
34
+ type: integer
35
+ minimum: 1
36
+ description: Height in pixels
37
+ required:
38
+ - width
39
+ - height
27
40
  frameRate:
28
- $ref: '../../../core/src/types/base.yml#/components/schemas/FrameRate'
41
+ type: object
42
+ properties:
43
+ frames:
44
+ type: integer
45
+ seconds:
46
+ type: integer
47
+ required:
48
+ - frames
49
+ - seconds
29
50
  pattern:
30
51
  type: string
31
- enum: ["black", "smpte75", "smpte100"]
32
- description: The pattern to use on the test card
52
+ enum:
53
+ - black
54
+ - smpte75
55
+ - smpte100
56
+ 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