unified-video-framework 1.4.394 → 1.4.395
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.395",
|
|
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",
|
|
@@ -24,5 +24,17 @@ export declare class DRMHelper {
|
|
|
24
24
|
userAgent: string;
|
|
25
25
|
};
|
|
26
26
|
static formatLicenseHeaders(baseHeaders?: Record<string, string>, token?: string): Record<string, string>;
|
|
27
|
+
static createConfig(options: {
|
|
28
|
+
licenseUrl: string;
|
|
29
|
+
certificateUrl?: string;
|
|
30
|
+
token?: string;
|
|
31
|
+
headers?: Record<string, string>;
|
|
32
|
+
drmType?: DRMType;
|
|
33
|
+
}): {
|
|
34
|
+
widevine?: DRMConfiguration;
|
|
35
|
+
fairplay?: DRMConfiguration;
|
|
36
|
+
playready?: DRMConfiguration;
|
|
37
|
+
};
|
|
38
|
+
static createSimpleConfig(licenseUrl: string, token?: string, drmType?: DRMType): any;
|
|
27
39
|
}
|
|
28
40
|
//# sourceMappingURL=DRMHelper.d.ts.map
|
|
@@ -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;
|
|
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;IAkDD,MAAM,CAAC,kBAAkB,CACvB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,OAA0B,GAClC,GAAG;CAiCP"}
|
|
@@ -119,5 +119,73 @@ export class DRMHelper {
|
|
|
119
119
|
}
|
|
120
120
|
return headers;
|
|
121
121
|
}
|
|
122
|
+
static createConfig(options) {
|
|
123
|
+
const { licenseUrl, certificateUrl, token, headers = {}, drmType } = options;
|
|
124
|
+
const finalHeaders = this.formatLicenseHeaders(headers, token);
|
|
125
|
+
if (drmType && drmType !== DRMType.NONE) {
|
|
126
|
+
const config = {
|
|
127
|
+
type: drmType,
|
|
128
|
+
licenseUrl,
|
|
129
|
+
certificateUrl,
|
|
130
|
+
headers: finalHeaders,
|
|
131
|
+
};
|
|
132
|
+
switch (drmType) {
|
|
133
|
+
case DRMType.WIDEVINE:
|
|
134
|
+
return { widevine: config };
|
|
135
|
+
case DRMType.FAIRPLAY:
|
|
136
|
+
return { fairplay: config };
|
|
137
|
+
case DRMType.PLAYREADY:
|
|
138
|
+
return { playready: config };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
widevine: {
|
|
143
|
+
type: DRMType.WIDEVINE,
|
|
144
|
+
licenseUrl: licenseUrl.replace(/\/(fairplay|playready)/, '/widevine'),
|
|
145
|
+
certificateUrl,
|
|
146
|
+
headers: finalHeaders,
|
|
147
|
+
},
|
|
148
|
+
fairplay: {
|
|
149
|
+
type: DRMType.FAIRPLAY,
|
|
150
|
+
licenseUrl: licenseUrl.replace(/\/(widevine|playready)/, '/fairplay'),
|
|
151
|
+
certificateUrl: certificateUrl || licenseUrl.replace(/\/license$/, '/cert'),
|
|
152
|
+
headers: finalHeaders,
|
|
153
|
+
},
|
|
154
|
+
playready: {
|
|
155
|
+
type: DRMType.PLAYREADY,
|
|
156
|
+
licenseUrl: licenseUrl.replace(/\/(widevine|fairplay)/, '/playready'),
|
|
157
|
+
headers: finalHeaders,
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
static createSimpleConfig(licenseUrl, token, drmType = DRMType.WIDEVINE) {
|
|
162
|
+
const headers = token ? { 'Authorization': `Bearer ${token}` } : {};
|
|
163
|
+
if (drmType === DRMType.WIDEVINE) {
|
|
164
|
+
return {
|
|
165
|
+
widevine: {
|
|
166
|
+
licenseUrl,
|
|
167
|
+
headers,
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
if (drmType === DRMType.FAIRPLAY) {
|
|
172
|
+
return {
|
|
173
|
+
fairplay: {
|
|
174
|
+
licenseUrl,
|
|
175
|
+
certificateUrl: licenseUrl.replace(/\/license$/, '/cert'),
|
|
176
|
+
headers,
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
if (drmType === DRMType.PLAYREADY) {
|
|
181
|
+
return {
|
|
182
|
+
playready: {
|
|
183
|
+
licenseUrl,
|
|
184
|
+
headers,
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
return {};
|
|
189
|
+
}
|
|
122
190
|
}
|
|
123
191
|
//# sourceMappingURL=DRMHelper.js.map
|
|
@@ -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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"}
|
|
@@ -192,4 +192,106 @@ export class DRMHelper {
|
|
|
192
192
|
|
|
193
193
|
return headers;
|
|
194
194
|
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Create a DRM configuration object for SecureVideoPlayer/WebPlayerView
|
|
198
|
+
* This is a helper to quickly create DRM configs
|
|
199
|
+
*/
|
|
200
|
+
static createConfig(options: {
|
|
201
|
+
licenseUrl: string;
|
|
202
|
+
certificateUrl?: string;
|
|
203
|
+
token?: string;
|
|
204
|
+
headers?: Record<string, string>;
|
|
205
|
+
drmType?: DRMType;
|
|
206
|
+
}): {
|
|
207
|
+
widevine?: DRMConfiguration;
|
|
208
|
+
fairplay?: DRMConfiguration;
|
|
209
|
+
playready?: DRMConfiguration;
|
|
210
|
+
} {
|
|
211
|
+
const { licenseUrl, certificateUrl, token, headers = {}, drmType } = options;
|
|
212
|
+
|
|
213
|
+
// Format headers with token
|
|
214
|
+
const finalHeaders = this.formatLicenseHeaders(headers, token);
|
|
215
|
+
|
|
216
|
+
// If specific DRM type is requested
|
|
217
|
+
if (drmType && drmType !== DRMType.NONE) {
|
|
218
|
+
const config: DRMConfiguration = {
|
|
219
|
+
type: drmType,
|
|
220
|
+
licenseUrl,
|
|
221
|
+
certificateUrl,
|
|
222
|
+
headers: finalHeaders,
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
switch (drmType) {
|
|
226
|
+
case DRMType.WIDEVINE:
|
|
227
|
+
return { widevine: config };
|
|
228
|
+
case DRMType.FAIRPLAY:
|
|
229
|
+
return { fairplay: config };
|
|
230
|
+
case DRMType.PLAYREADY:
|
|
231
|
+
return { playready: config };
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// Otherwise, create multi-DRM config (all platforms)
|
|
236
|
+
return {
|
|
237
|
+
widevine: {
|
|
238
|
+
type: DRMType.WIDEVINE,
|
|
239
|
+
licenseUrl: licenseUrl.replace(/\/(fairplay|playready)/, '/widevine'),
|
|
240
|
+
certificateUrl,
|
|
241
|
+
headers: finalHeaders,
|
|
242
|
+
},
|
|
243
|
+
fairplay: {
|
|
244
|
+
type: DRMType.FAIRPLAY,
|
|
245
|
+
licenseUrl: licenseUrl.replace(/\/(widevine|playready)/, '/fairplay'),
|
|
246
|
+
certificateUrl: certificateUrl || licenseUrl.replace(/\/license$/, '/cert'),
|
|
247
|
+
headers: finalHeaders,
|
|
248
|
+
},
|
|
249
|
+
playready: {
|
|
250
|
+
type: DRMType.PLAYREADY,
|
|
251
|
+
licenseUrl: licenseUrl.replace(/\/(widevine|fairplay)/, '/playready'),
|
|
252
|
+
headers: finalHeaders,
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Create a simple single-DRM configuration (most common use case)
|
|
259
|
+
*/
|
|
260
|
+
static createSimpleConfig(
|
|
261
|
+
licenseUrl: string,
|
|
262
|
+
token?: string,
|
|
263
|
+
drmType: DRMType = DRMType.WIDEVINE
|
|
264
|
+
): any {
|
|
265
|
+
const headers = token ? { 'Authorization': `Bearer ${token}` } : {};
|
|
266
|
+
|
|
267
|
+
if (drmType === DRMType.WIDEVINE) {
|
|
268
|
+
return {
|
|
269
|
+
widevine: {
|
|
270
|
+
licenseUrl,
|
|
271
|
+
headers,
|
|
272
|
+
},
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
if (drmType === DRMType.FAIRPLAY) {
|
|
277
|
+
return {
|
|
278
|
+
fairplay: {
|
|
279
|
+
licenseUrl,
|
|
280
|
+
certificateUrl: licenseUrl.replace(/\/license$/, '/cert'),
|
|
281
|
+
headers,
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (drmType === DRMType.PLAYREADY) {
|
|
287
|
+
return {
|
|
288
|
+
playready: {
|
|
289
|
+
licenseUrl,
|
|
290
|
+
headers,
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
return {};
|
|
296
|
+
}
|
|
195
297
|
}
|