unified-video-framework 1.4.395 → 1.4.396
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.396",
|
|
4
4
|
"description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
|
|
5
5
|
"main": "packages/core/dist/index.js",
|
|
6
6
|
"types": "packages/core/dist/index.d.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DRMHelper.d.ts","sourceRoot":"","sources":["../../src/drm/DRMHelper.ts"],"names":[],"mappings":"AAIA,oBAAY,OAAO;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,SAAS;WAIP,kBAAkB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;WAoDxC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;WA0BrC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY/D,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgBnD,MAAM,CAAC,0BAA0B,CAC/B,OAAO,EAAE,OAAO,EAChB,WAAW,GAAE,MAA0C,GACtD,2BAA2B,EAAE;IAehC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAiB3D,MAAM,CAAC,iBAAiB,IAAI;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,sBAAsB,EAAE,OAAO,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC;KACnB;IAWD,MAAM,CAAC,oBAAoB,CACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBzB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG;QACF,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B;
|
|
1
|
+
{"version":3,"file":"DRMHelper.d.ts","sourceRoot":"","sources":["../../src/drm/DRMHelper.ts"],"names":[],"mappings":"AAIA,oBAAY,OAAO;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,SAAS;WAIP,kBAAkB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;WAoDxC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;WA0BrC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY/D,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgBnD,MAAM,CAAC,0BAA0B,CAC/B,OAAO,EAAE,OAAO,EAChB,WAAW,GAAE,MAA0C,GACtD,2BAA2B,EAAE;IAehC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAiB3D,MAAM,CAAC,iBAAiB,IAAI;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,sBAAsB,EAAE,OAAO,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC;KACnB;IAWD,MAAM,CAAC,oBAAoB,CACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBzB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG;QACF,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC9B;IAoED,MAAM,CAAC,kBAAkB,CACvB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,OAA0B,GAClC,GAAG;CAwCP"}
|
|
@@ -121,6 +121,9 @@ export class DRMHelper {
|
|
|
121
121
|
}
|
|
122
122
|
static createConfig(options) {
|
|
123
123
|
const { licenseUrl, certificateUrl, token, headers = {}, drmType } = options;
|
|
124
|
+
if (!licenseUrl) {
|
|
125
|
+
throw new Error('DRMHelper.createConfig: licenseUrl is required');
|
|
126
|
+
}
|
|
124
127
|
const finalHeaders = this.formatLicenseHeaders(headers, token);
|
|
125
128
|
if (drmType && drmType !== DRMType.NONE) {
|
|
126
129
|
const config = {
|
|
@@ -138,27 +141,41 @@ export class DRMHelper {
|
|
|
138
141
|
return { playready: config };
|
|
139
142
|
}
|
|
140
143
|
}
|
|
144
|
+
const hasWidevineInUrl = licenseUrl.includes('/widevine');
|
|
145
|
+
const hasFairplayInUrl = licenseUrl.includes('/fairplay');
|
|
146
|
+
const hasPlayreadyInUrl = licenseUrl.includes('/playready');
|
|
141
147
|
return {
|
|
142
148
|
widevine: {
|
|
143
149
|
type: DRMType.WIDEVINE,
|
|
144
|
-
licenseUrl:
|
|
150
|
+
licenseUrl: hasWidevineInUrl
|
|
151
|
+
? licenseUrl
|
|
152
|
+
: licenseUrl.replace(/\/(fairplay|playready)/, '/widevine'),
|
|
145
153
|
certificateUrl,
|
|
146
154
|
headers: finalHeaders,
|
|
147
155
|
},
|
|
148
156
|
fairplay: {
|
|
149
157
|
type: DRMType.FAIRPLAY,
|
|
150
|
-
licenseUrl:
|
|
151
|
-
|
|
158
|
+
licenseUrl: hasFairplayInUrl
|
|
159
|
+
? licenseUrl
|
|
160
|
+
: licenseUrl.replace(/\/(widevine|playready)/, '/fairplay'),
|
|
161
|
+
certificateUrl: certificateUrl || (licenseUrl.includes('/license')
|
|
162
|
+
? licenseUrl.replace(/\/license$/, '/cert')
|
|
163
|
+
: undefined),
|
|
152
164
|
headers: finalHeaders,
|
|
153
165
|
},
|
|
154
166
|
playready: {
|
|
155
167
|
type: DRMType.PLAYREADY,
|
|
156
|
-
licenseUrl:
|
|
168
|
+
licenseUrl: hasPlayreadyInUrl
|
|
169
|
+
? licenseUrl
|
|
170
|
+
: licenseUrl.replace(/\/(widevine|fairplay)/, '/playready'),
|
|
157
171
|
headers: finalHeaders,
|
|
158
172
|
},
|
|
159
173
|
};
|
|
160
174
|
}
|
|
161
175
|
static createSimpleConfig(licenseUrl, token, drmType = DRMType.WIDEVINE) {
|
|
176
|
+
if (!licenseUrl) {
|
|
177
|
+
throw new Error('DRMHelper.createSimpleConfig: licenseUrl is required');
|
|
178
|
+
}
|
|
162
179
|
const headers = token ? { 'Authorization': `Bearer ${token}` } : {};
|
|
163
180
|
if (drmType === DRMType.WIDEVINE) {
|
|
164
181
|
return {
|
|
@@ -172,7 +189,9 @@ export class DRMHelper {
|
|
|
172
189
|
return {
|
|
173
190
|
fairplay: {
|
|
174
191
|
licenseUrl,
|
|
175
|
-
certificateUrl: licenseUrl.
|
|
192
|
+
certificateUrl: licenseUrl.includes('/license')
|
|
193
|
+
? licenseUrl.replace(/\/license$/, '/cert')
|
|
194
|
+
: undefined,
|
|
176
195
|
headers,
|
|
177
196
|
},
|
|
178
197
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DRMHelper.js","sourceRoot":"","sources":["../../src/drm/DRMHelper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DRMHelper.js","sourceRoot":"","sources":["../../src/drm/DRMHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -210,6 +210,11 @@ export class DRMHelper {
|
|
|
210
210
|
} {
|
|
211
211
|
const { licenseUrl, certificateUrl, token, headers = {}, drmType } = options;
|
|
212
212
|
|
|
213
|
+
// Validate required parameter
|
|
214
|
+
if (!licenseUrl) {
|
|
215
|
+
throw new Error('DRMHelper.createConfig: licenseUrl is required');
|
|
216
|
+
}
|
|
217
|
+
|
|
213
218
|
// Format headers with token
|
|
214
219
|
const finalHeaders = this.formatLicenseHeaders(headers, token);
|
|
215
220
|
|
|
@@ -233,22 +238,35 @@ export class DRMHelper {
|
|
|
233
238
|
}
|
|
234
239
|
|
|
235
240
|
// Otherwise, create multi-DRM config (all platforms)
|
|
241
|
+
// Try to intelligently generate URLs for different DRM systems
|
|
242
|
+
const hasWidevineInUrl = licenseUrl.includes('/widevine');
|
|
243
|
+
const hasFairplayInUrl = licenseUrl.includes('/fairplay');
|
|
244
|
+
const hasPlayreadyInUrl = licenseUrl.includes('/playready');
|
|
245
|
+
|
|
236
246
|
return {
|
|
237
247
|
widevine: {
|
|
238
248
|
type: DRMType.WIDEVINE,
|
|
239
|
-
licenseUrl:
|
|
249
|
+
licenseUrl: hasWidevineInUrl
|
|
250
|
+
? licenseUrl
|
|
251
|
+
: licenseUrl.replace(/\/(fairplay|playready)/, '/widevine'),
|
|
240
252
|
certificateUrl,
|
|
241
253
|
headers: finalHeaders,
|
|
242
254
|
},
|
|
243
255
|
fairplay: {
|
|
244
256
|
type: DRMType.FAIRPLAY,
|
|
245
|
-
licenseUrl:
|
|
246
|
-
|
|
257
|
+
licenseUrl: hasFairplayInUrl
|
|
258
|
+
? licenseUrl
|
|
259
|
+
: licenseUrl.replace(/\/(widevine|playready)/, '/fairplay'),
|
|
260
|
+
certificateUrl: certificateUrl || (licenseUrl.includes('/license')
|
|
261
|
+
? licenseUrl.replace(/\/license$/, '/cert')
|
|
262
|
+
: undefined),
|
|
247
263
|
headers: finalHeaders,
|
|
248
264
|
},
|
|
249
265
|
playready: {
|
|
250
266
|
type: DRMType.PLAYREADY,
|
|
251
|
-
licenseUrl:
|
|
267
|
+
licenseUrl: hasPlayreadyInUrl
|
|
268
|
+
? licenseUrl
|
|
269
|
+
: licenseUrl.replace(/\/(widevine|fairplay)/, '/playready'),
|
|
252
270
|
headers: finalHeaders,
|
|
253
271
|
},
|
|
254
272
|
};
|
|
@@ -262,6 +280,11 @@ export class DRMHelper {
|
|
|
262
280
|
token?: string,
|
|
263
281
|
drmType: DRMType = DRMType.WIDEVINE
|
|
264
282
|
): any {
|
|
283
|
+
// Validate required parameter
|
|
284
|
+
if (!licenseUrl) {
|
|
285
|
+
throw new Error('DRMHelper.createSimpleConfig: licenseUrl is required');
|
|
286
|
+
}
|
|
287
|
+
|
|
265
288
|
const headers = token ? { 'Authorization': `Bearer ${token}` } : {};
|
|
266
289
|
|
|
267
290
|
if (drmType === DRMType.WIDEVINE) {
|
|
@@ -277,7 +300,9 @@ export class DRMHelper {
|
|
|
277
300
|
return {
|
|
278
301
|
fairplay: {
|
|
279
302
|
licenseUrl,
|
|
280
|
-
certificateUrl: licenseUrl.
|
|
303
|
+
certificateUrl: licenseUrl.includes('/license')
|
|
304
|
+
? licenseUrl.replace(/\/license$/, '/cert')
|
|
305
|
+
: undefined,
|
|
281
306
|
headers,
|
|
282
307
|
},
|
|
283
308
|
};
|