@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,8 +1,9 @@
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: WHIP Input
4
6
  version: 1.0.0
5
-
6
7
  paths:
7
8
  /close-session:
8
9
  post:
@@ -22,7 +23,7 @@ paths:
22
23
  type: string
23
24
  description: The session ID to close
24
25
  responses:
25
- 200:
26
+ "200":
26
27
  description: Session successfully closed
27
28
  content:
28
29
  application/json:
@@ -33,11 +34,10 @@ paths:
33
34
  type: boolean
34
35
  sessionId:
35
36
  type: string
36
- 400:
37
+ "400":
37
38
  description: Invalid session ID or session not found
38
- 500:
39
+ "500":
39
40
  description: Server error while closing session
40
-
41
41
  components:
42
42
  schemas:
43
43
  Config:
@@ -66,8 +66,85 @@ components:
66
66
  type: string
67
67
  description: List of server reflexive candidates for ICE
68
68
  streamMappings:
69
- $ref: '../../../core/src/types/base.yml#/components/schemas/StreamMappingConfiguration'
70
-
69
+ type: object
70
+ description: Configuration for mapping input streams to output streams
71
+ properties:
72
+ streams:
73
+ type: array
74
+ items:
75
+ type: object
76
+ description: Individual stream mapping entry
77
+ properties:
78
+ outputKey:
79
+ type: object
80
+ properties:
81
+ streamId:
82
+ type: integer
83
+ programNumber:
84
+ type: integer
85
+ sourceName:
86
+ type: string
87
+ renditionName:
88
+ type: string
89
+ required:
90
+ - streamId
91
+ - programNumber
92
+ - sourceName
93
+ - renditionName
94
+ displayName:
95
+ type: string
96
+ description: Optional display name for this stream
97
+ media:
98
+ type: string
99
+ enum:
100
+ - video
101
+ - audio
102
+ - subtitle
103
+ - ancillary
104
+ - playlist
105
+ description: Media type for stream mapping
106
+ filters:
107
+ type: array
108
+ items:
109
+ oneOf:
110
+ - type: object
111
+ properties:
112
+ type:
113
+ type: string
114
+ enum:
115
+ - sourceName
116
+ - language
117
+ - codec
118
+ - renditionName
119
+ value:
120
+ type: string
121
+ required:
122
+ - type
123
+ - value
124
+ - type: object
125
+ properties:
126
+ type:
127
+ type: string
128
+ enum:
129
+ - streamId
130
+ - programNumber
131
+ value:
132
+ type: integer
133
+ required:
134
+ - type
135
+ - value
136
+ description: Optional conditions for stream selection
137
+ missingBehaviour:
138
+ type: string
139
+ enum:
140
+ - fill
141
+ - skip
142
+ description: Behavior when no matching stream is found
143
+ required:
144
+ - outputKey
145
+ - media
146
+ required:
147
+ - streams
71
148
  State:
72
149
  type: object
73
150
  required:
@@ -86,105 +163,103 @@ components:
86
163
  description: URL for local test client
87
164
  activeSessions:
88
165
  type: array
89
- items:
90
- $ref: '#/components/schemas/ActiveSession'
166
+ items: &a1
167
+ type: object
168
+ required:
169
+ - sessionId
170
+ - sourceName
171
+ - status
172
+ - connectedAt
173
+ properties:
174
+ sessionId:
175
+ type: string
176
+ description: Unique session identifier
177
+ sourceName:
178
+ type: string
179
+ description: Source name for the session streams
180
+ programNumber:
181
+ type: number
182
+ description: Program number for the session
183
+ status:
184
+ type: string
185
+ enum:
186
+ - connected
187
+ - disconnected
188
+ description: Current connection status
189
+ connectedAt:
190
+ type: string
191
+ format: date-time
192
+ description: When the session was established
91
193
  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
-
194
+ ActiveSession: *a1
119
195
  Commands:
120
196
  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
-
197
+ - &a2
198
+ type: object
199
+ required:
200
+ - type
201
+ - sessionId
202
+ properties:
203
+ type:
204
+ type: string
205
+ enum:
206
+ - close-session
207
+ sessionId:
208
+ type: string
209
+ description: Session ID to close
210
+ CloseSessionCommand: *a2
136
211
  Events:
137
212
  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
213
+ - &a3
214
+ type: object
215
+ required:
216
+ - type
217
+ - sessionId
218
+ - sourceName
219
+ properties:
220
+ type:
221
+ type: string
222
+ enum:
223
+ - connection-established
224
+ sessionId:
225
+ type: string
226
+ description: Unique session identifier
227
+ sourceName:
228
+ type: string
229
+ description: Source name for the connection
230
+ programNumber:
231
+ type: number
232
+ description: Program number for the connection
233
+ - &a4
234
+ type: object
235
+ required:
236
+ - type
237
+ - sessionId
238
+ properties:
239
+ type:
240
+ type: string
241
+ enum:
242
+ - connection-closed
243
+ sessionId:
244
+ type: string
245
+ description: Session identifier that was closed
246
+ - &a5
247
+ type: object
248
+ required:
249
+ - type
250
+ - endpointUrl
251
+ - clientUrl
252
+ properties:
253
+ type:
254
+ type: string
255
+ enum:
256
+ - endpoint-published
257
+ endpointUrl:
258
+ type: string
259
+ description: WHIP endpoint URL
260
+ clientUrl:
261
+ type: string
262
+ description: Local test client URL
263
+ ConnectionEstablishedEvent: *a3
264
+ ConnectionClosedEvent: *a4
265
+ EndpointPublishedEvent: *a5
@@ -14,9 +14,54 @@ function FullscreenView({ state, config }) {
14
14
  return;
15
15
  const element = document.getElementById(`${id}-video`);
16
16
  if (hls_js_1.default.isSupported()) {
17
- const hls = new hls_js_1.default();
17
+ let widevineLicenseUrl;
18
+ const headers = {};
19
+ if (config.drmProvider === 'ezdrm') {
20
+ if (config.__global?.ezdrmConfig?.pX || state.drmToken) {
21
+ widevineLicenseUrl = `https://widevine-dash.ezdrm.com/widevine-php/widevine-foreignkey.php?pX=${config.__global?.ezdrmConfig?.pX || state.drmToken}`;
22
+ }
23
+ }
24
+ if (config.drmProvider === 'axinom') {
25
+ widevineLicenseUrl = `https://drm-widevine-licensing.axprod.net/AcquireLicense`;
26
+ headers['X-AxDrm-Message'] = state.drmToken;
27
+ }
28
+ const hls = new hls_js_1.default({
29
+ widevineLicenseUrl,
30
+ emeEnabled: !!widevineLicenseUrl,
31
+ licenseXhrSetup: (xhr) => {
32
+ for (const k in headers) {
33
+ const v = headers[k];
34
+ if (v !== undefined) {
35
+ xhr.setRequestHeader(k, v);
36
+ }
37
+ }
38
+ },
39
+ });
18
40
  hls.loadSource(url);
19
41
  hls.attachMedia(element);
42
+ let errors = 0;
43
+ hls.on(hls_js_1.default.Events.ERROR, function (_event, data) {
44
+ if (data.fatal) {
45
+ if (errors++ > 10)
46
+ return hls.destroy();
47
+ switch (data.type) {
48
+ case hls_js_1.default.ErrorTypes.NETWORK_ERROR:
49
+ console.error("HLS network error", data);
50
+ setTimeout(() => hls.loadSource(url), 1000);
51
+ break;
52
+ case hls_js_1.default.ErrorTypes.MEDIA_ERROR:
53
+ console.error("HLS media error", data);
54
+ setTimeout(() => hls.recoverMediaError(), 1000);
55
+ break;
56
+ default:
57
+ hls.destroy();
58
+ break;
59
+ }
60
+ }
61
+ });
62
+ return () => {
63
+ hls.destroy();
64
+ };
20
65
  }
21
66
  else if (element.canPlayType('application/vnd.apple.mpegurl')) {
22
67
  element.src = url;
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen.js","sourceRoot":"","sources":["../../src/output.autoCmaf/fullscreen.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAkC;AAElC,oDAAyB;AAEzB,SAAS,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsD;IAC3F,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IACrB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAqB,CAAC;QAE3E,IAAI,gBAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,gBAAG,EAAE,CAAC;YACtB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;aACI,IAAI,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAEd,IAAI,CAAC,GAAG;QAAE,OAAO,mEAAQ,CAAA;IAEzB,CAAC,CAA8D,CAAC;IAChE,OAAO,0CACL,kCAAO,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,GAAU,GAC1E,CAAA;AACT,CAAC;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"fullscreen.js","sourceRoot":"","sources":["../../src/output.autoCmaf/fullscreen.tsx"],"names":[],"mappings":"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"}
@@ -157,12 +157,32 @@ function default_1(R) {
157
157
  },
158
158
  multiplePrograms: {
159
159
  help: "Produce multiple multivariants if more than one program is present",
160
+ advanced: true,
160
161
  hint: {
161
162
  type: 'boolean',
162
163
  optional: true,
163
164
  defaultValue: false
164
165
  },
165
166
  },
167
+ discontinuityHandling: {
168
+ help: "What to do when a gap or discontinuity is encountered",
169
+ advanced: true,
170
+ hint: {
171
+ type: 'select',
172
+ defaultValue: 'discontinuity',
173
+ optional: true,
174
+ options: [
175
+ {
176
+ display: "Prefer Discontinuity",
177
+ value: 'discontinuity',
178
+ },
179
+ {
180
+ display: "Prefer Gaps",
181
+ value: 'gap',
182
+ },
183
+ ],
184
+ },
185
+ },
166
186
  drmProvider: {
167
187
  help: "Encrypt with a DRM provider (if configured globally)",
168
188
  hint: {
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.autoCmaf/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/output.autoCmaf/info.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { CmafOutputState } from "./runtime";
1
+ import { AutoCmafConfig, CmafOutputState } from "./runtime";
2
2
  import React from "react";
3
- declare function InlineView({ state }: {
3
+ declare function InlineView({ state, config }: {
4
4
  state: CmafOutputState;
5
+ config: AutoCmafConfig;
5
6
  }): React.JSX.Element;
6
7
  export default InlineView;
@@ -1,8 +1,78 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const jsx_runtime_1 = require("react/jsx-runtime");
4
- function InlineView({ state }) {
5
- return ((0, jsx_runtime_1.jsx)("div", { className: "-output", children: state.enabled ? ((0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" })) : ((0, jsx_runtime_1.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" })) }));
7
+ const hls_js_1 = __importDefault(require("hls.js"));
8
+ const react_1 = require("react");
9
+ function InlineView({ state, config }) {
10
+ const url = state.url;
11
+ const id = config.id;
12
+ const previewVideo = (0, react_1.useRef)(null);
13
+ const [showPreview, setShowPreview] = (0, react_1.useState)(config.showPreview ?? true);
14
+ (0, react_1.useEffect)(() => {
15
+ if (!url)
16
+ return;
17
+ if (!previewVideo.current)
18
+ return;
19
+ if (!showPreview)
20
+ return;
21
+ if (hls_js_1.default.isSupported()) {
22
+ let widevineLicenseUrl;
23
+ const headers = {};
24
+ if (config.drmProvider === 'ezdrm') {
25
+ if (config.__global?.ezdrmConfig?.pX || state.drmToken) {
26
+ widevineLicenseUrl = `https://widevine-dash.ezdrm.com/widevine-php/widevine-foreignkey.php?pX=${config.__global?.ezdrmConfig?.pX || state.drmToken}`;
27
+ }
28
+ }
29
+ if (config.drmProvider === 'axinom') {
30
+ widevineLicenseUrl = `https://drm-widevine-licensing.axprod.net/AcquireLicense`;
31
+ headers['X-AxDrm-Message'] = state.drmToken;
32
+ }
33
+ const hls = new hls_js_1.default({
34
+ widevineLicenseUrl,
35
+ emeEnabled: !!widevineLicenseUrl,
36
+ licenseXhrSetup: (xhr) => {
37
+ for (const k in headers) {
38
+ const v = headers[k];
39
+ if (v !== undefined) {
40
+ xhr.setRequestHeader(k, v);
41
+ }
42
+ }
43
+ },
44
+ });
45
+ hls.loadSource(url);
46
+ hls.attachMedia(previewVideo.current);
47
+ let errors = 0;
48
+ hls.on(hls_js_1.default.Events.ERROR, function (_event, data) {
49
+ if (data.fatal) {
50
+ if (errors++ > 10)
51
+ return hls.destroy();
52
+ switch (data.type) {
53
+ case hls_js_1.default.ErrorTypes.NETWORK_ERROR:
54
+ console.error("HLS network error", data);
55
+ setTimeout(() => hls.loadSource(url), 1000);
56
+ break;
57
+ case hls_js_1.default.ErrorTypes.MEDIA_ERROR:
58
+ console.error("HLS media error", data);
59
+ setTimeout(() => hls.recoverMediaError(), 1000);
60
+ break;
61
+ default:
62
+ hls.destroy();
63
+ break;
64
+ }
65
+ }
66
+ });
67
+ return () => {
68
+ hls.destroy();
69
+ };
70
+ }
71
+ else if (previewVideo.current.canPlayType('application/vnd.apple.mpegurl')) {
72
+ previewVideo.current.src = url;
73
+ }
74
+ }, [config.__global?.ezdrmConfig?.pX, config.drmProvider, state.drmToken, url, showPreview]);
75
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "cmaf-output", children: [state.enabled ? ((0, jsx_runtime_1.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" })) : ((0, jsx_runtime_1.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" })), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", id: `video-toggle-${id}`, checked: showPreview, onChange: (e) => setShowPreview(e.target.checked), className: "h-4 w-4" }), (0, jsx_runtime_1.jsx)("label", { htmlFor: `video-toggle-${id}`, className: "text-sm", children: "Show Preview" })] }), !url ? (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}) : (0, jsx_runtime_1.jsx)("div", { className: "mb-5", children: (0, jsx_runtime_1.jsx)("video", { ref: previewVideo, autoPlay: true, muted: true, id: `${id}-video` }) })] }));
6
76
  }
7
77
  exports.default = InlineView;
8
78
  //# sourceMappingURL=inline-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.autoCmaf/inline-view.tsx"],"names":[],"mappings":";;;AAGA,SAAS,UAAU,CAAC,EAAE,KAAK,EAA8B;IACvD,OAAO,CACL,gCAAK,SAAS,EAAC,SAAS,YACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,gCAAK,SAAS,EAAC,2CAA2C,+BAEpD,CACP,CAAC,CAAC,CAAC,CACF,gCAAK,SAAS,EAAC,2CAA2C,gCAEpD,CACP,GACG,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/output.autoCmaf/inline-view.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AdMarker, AutoProcessorMediaNode, CmafDestinationSettings, CmafMultiVariantOutputNode, HlsTsMultiVariantOutputNode, Norsk, StreamKey } from '@norskvideo/norsk-sdk';
1
+ import { AdMarker, AutoProcessorMediaNode, CmafDestinationSettings, CmafMultiVariantOutputNode, HlsTsMultiVariantOutputNode, Norsk, StreamKey, StreamSyncNode } from '@norskvideo/norsk-sdk';
2
2
  import { InstanceRouteInfo, OnCreated, ServerComponentDefinition, ServerComponentSchemas, StudioComponentInputStream, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
3
  import { CustomSinkNode } from '@norskvideo/norsk-studio/lib/extension/base-nodes';
4
4
  import { CryptoDetails } from '../shared/drm/cpix';
@@ -41,6 +41,7 @@ export declare class AutoCmaf extends CustomSinkNode {
41
41
  key: StreamKey;
42
42
  scheduleAd: (marker: AdMarker, destinationId: string) => void;
43
43
  }[];
44
+ sync?: StreamSyncNode;
44
45
  crypto?: CryptoDetails;
45
46
  mv?: CmafMultiVariantOutputNode | HlsTsMultiVariantOutputNode;
46
47
  defaultProgramNumber: number;