@playkit-js/playkit-js-providers 2.41.0-canary.0-2452bbc → 2.41.0-canary.0-3d6d02a
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/analytics-service/package.json +6 -0
- package/bookmark-service/package.json +6 -0
- package/dist/analytics-service.d.ts +160 -0
- package/dist/bookmark-service.d.ts +157 -0
- package/dist/ott-provider.d.ts +545 -0
- package/dist/{index.d.ts → ovp-provider.d.ts} +102 -120
- package/dist/playkit-analytics-service.js +1 -1
- package/dist/playkit-analytics-service.js.map +1 -1
- package/dist/playkit-bookmark-service.js +1 -1
- package/dist/playkit-bookmark-service.js.map +1 -1
- package/dist/playkit-ott-provider.js +1 -1
- package/dist/playkit-ott-provider.js.map +1 -1
- package/dist/playkit-ovp-provider.js +1 -1
- package/dist/playkit-ovp-provider.js.map +1 -1
- package/dist/playkit-stats-service.js +1 -1
- package/dist/playkit-stats-service.js.map +1 -1
- package/dist/stats-service.d.ts +159 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types.d.ts +391 -0
- package/ott-provider/package.json +6 -0
- package/ovp-provider/package.json +6 -0
- package/package.json +29 -21
- package/src/entities/document-source.ts +31 -0
- package/src/entities/media-entry.ts +2 -1
- package/src/entities/media-sources.ts +6 -1
- package/src/k-provider/common/base-provider.ts +14 -3
- package/src/k-provider/ott/provider.ts +1 -0
- package/src/k-provider/ovp/loaders/media-entry-loader.ts +4 -4
- package/src/k-provider/ovp/provider-parser.ts +22 -2
- package/src/k-provider/ovp/provider.ts +9 -5
- package/src/k-provider/ovp/regex-action-handler.ts +51 -44
- package/src/k-provider/ovp/response-types/kaltura-media-entries.ts +1 -7
- package/src/k-provider/ovp/services/base-entry-service.ts +2 -2
- package/src/types/index.ts +0 -8
- package/src/types/media-config-sources.ts +2 -0
- package/src/types/media-sources.ts +2 -0
- package/src/types/provider-options.ts +1 -0
- package/stats-service/package.json +6 -0
- package/types/package.json +5 -0
- package/playkit-analytics-service/package.json +0 -5
- package/playkit-bookmark-service/package.json +0 -5
- package/playkit-ott-provider/package.json +0 -5
- package/playkit-ovp-provider/package.json +0 -5
- package/playkit-stats-service/package.json +0 -5
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
export declare type AdapterDataConfig = {
|
|
2
|
+
[key: string]: {
|
|
3
|
+
value: string;
|
|
4
|
+
objectType?: string;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export declare type CaptionType = {
|
|
9
|
+
[type: string]: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
declare class DocumentSource {
|
|
13
|
+
/**
|
|
14
|
+
* @member - media source id
|
|
15
|
+
* @type {string}
|
|
16
|
+
*/
|
|
17
|
+
id: string;
|
|
18
|
+
/**
|
|
19
|
+
* @member - media source url
|
|
20
|
+
* @type {string}
|
|
21
|
+
*/
|
|
22
|
+
url: string;
|
|
23
|
+
/**
|
|
24
|
+
* @member - thumbnail url
|
|
25
|
+
* @type {string}
|
|
26
|
+
*/
|
|
27
|
+
thumbnailUrl: string;
|
|
28
|
+
/**
|
|
29
|
+
* @member - media source mimetype
|
|
30
|
+
* @type {string}
|
|
31
|
+
*/
|
|
32
|
+
mimetype: string;
|
|
33
|
+
constructor(entry: any);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export declare interface ILoader {
|
|
37
|
+
requests: Array<RequestBuilder>;
|
|
38
|
+
response: any;
|
|
39
|
+
isValid(): boolean;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare class ImageSource {
|
|
43
|
+
/**
|
|
44
|
+
* @member - media source id
|
|
45
|
+
* @type {string}
|
|
46
|
+
*/
|
|
47
|
+
id: string;
|
|
48
|
+
/**
|
|
49
|
+
* @member - media source url
|
|
50
|
+
* @type {string}
|
|
51
|
+
*/
|
|
52
|
+
url: string;
|
|
53
|
+
/**
|
|
54
|
+
* @member - media source mimetype
|
|
55
|
+
* @type {string}
|
|
56
|
+
*/
|
|
57
|
+
mimetype: string;
|
|
58
|
+
constructor(entry: any);
|
|
59
|
+
/**
|
|
60
|
+
* Extract the base thumbnail url.
|
|
61
|
+
* @param {string} url - dataUrl.
|
|
62
|
+
* @returns {string} - The base thumbnail url.
|
|
63
|
+
*/
|
|
64
|
+
static extractBaseThumbnailUrl(url: string): string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
declare type loggerFunctionType = {
|
|
68
|
+
VERSION: string;
|
|
69
|
+
DEBUG: LogLevelObject;
|
|
70
|
+
ERROR: LogLevelObject;
|
|
71
|
+
INFO: LogLevelObject;
|
|
72
|
+
OFF: LogLevelObject;
|
|
73
|
+
TIME: LogLevelObject;
|
|
74
|
+
TRACE: LogLevelObject;
|
|
75
|
+
WARN: LogLevelObject;
|
|
76
|
+
createDefaultHandler: () => any;
|
|
77
|
+
debug: () => any;
|
|
78
|
+
enabledFor: () => any;
|
|
79
|
+
error: () => any;
|
|
80
|
+
get: () => any;
|
|
81
|
+
getLevel: () => any;
|
|
82
|
+
info: () => any;
|
|
83
|
+
log: () => any;
|
|
84
|
+
setHandler: () => any;
|
|
85
|
+
setLevel: () => any;
|
|
86
|
+
time: () => any;
|
|
87
|
+
timeEnd: () => any;
|
|
88
|
+
trace: () => any;
|
|
89
|
+
useDefaults: () => any;
|
|
90
|
+
warn: () => any;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
declare type LoggerType = {
|
|
94
|
+
getLogger: loggerFunctionType;
|
|
95
|
+
LogLevel: LogLevelType;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
declare type LogLevelObject = {
|
|
99
|
+
value: number;
|
|
100
|
+
name: string;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
declare type LogLevelType = {
|
|
104
|
+
[level: string]: LogLevelObject;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export declare type OTTProviderMediaInfoObject = OVPProviderMediaInfoObject & {
|
|
108
|
+
mediaType: string;
|
|
109
|
+
contextType: string;
|
|
110
|
+
protocol?: string;
|
|
111
|
+
fileIds?: string;
|
|
112
|
+
streamerType?: string;
|
|
113
|
+
urlType?: string;
|
|
114
|
+
adapterData?: AdapterDataConfig;
|
|
115
|
+
assetReferenceType?: string;
|
|
116
|
+
formats?: Array<string>;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export declare type OVPProviderMediaInfoObject = {
|
|
120
|
+
entryId?: string;
|
|
121
|
+
referenceId?: string;
|
|
122
|
+
ks?: string;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export declare type PKExternalCaptionObject = {
|
|
126
|
+
url: string;
|
|
127
|
+
label: string;
|
|
128
|
+
language: string;
|
|
129
|
+
default?: boolean;
|
|
130
|
+
type?: string;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export declare interface Poster {
|
|
134
|
+
width: number;
|
|
135
|
+
height: number;
|
|
136
|
+
url: string;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export declare type ProviderDrmDataObject = {
|
|
140
|
+
licenseUrl: string;
|
|
141
|
+
scheme: string;
|
|
142
|
+
certificate?: string;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
export declare type ProviderEntryListObject = {
|
|
146
|
+
entries: Array<ProviderMediaInfoObject>;
|
|
147
|
+
ks?: string;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export declare type ProviderEnvConfigObject = {
|
|
151
|
+
serviceUrl: string;
|
|
152
|
+
cdnUrl?: string;
|
|
153
|
+
analyticsServiceUrl?: string;
|
|
154
|
+
useApiCaptions?: boolean;
|
|
155
|
+
replaceHostOnlyManifestUrls?: boolean;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export declare type ProviderFilterOptionsObject = {
|
|
159
|
+
redirectFromEntryId?: boolean;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
export declare type ProviderMediaConfigMetadataObject = {
|
|
163
|
+
name: string;
|
|
164
|
+
description?: string;
|
|
165
|
+
mediaType?: string;
|
|
166
|
+
contextType?: string;
|
|
167
|
+
metas?: any;
|
|
168
|
+
tags?: any;
|
|
169
|
+
epgId?: string;
|
|
170
|
+
recordingId?: string;
|
|
171
|
+
updatedAt?: number;
|
|
172
|
+
creatorId?: string;
|
|
173
|
+
views?: number;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
export declare type ProviderMediaConfigObject = {
|
|
177
|
+
session: ProviderMediaConfigSessionObject;
|
|
178
|
+
sources: ProviderMediaConfigSourcesObject;
|
|
179
|
+
plugins: {
|
|
180
|
+
[plugin: string]: any;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
export declare type ProviderMediaConfigSessionObject = {
|
|
185
|
+
partnerId: number;
|
|
186
|
+
uiConfId?: number;
|
|
187
|
+
ks?: string;
|
|
188
|
+
isAnonymous?: boolean;
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export declare type ProviderMediaConfigSourcesObject = {
|
|
192
|
+
dash: Array<ProviderMediaSourceObject>;
|
|
193
|
+
hls: Array<ProviderMediaSourceObject>;
|
|
194
|
+
progressive: Array<ProviderMediaSourceObject>;
|
|
195
|
+
image: Array<ImageSource>;
|
|
196
|
+
document: Array<DocumentSource>;
|
|
197
|
+
duration?: number;
|
|
198
|
+
type: string;
|
|
199
|
+
id?: string;
|
|
200
|
+
poster?: string | Array<any>;
|
|
201
|
+
dvr: boolean;
|
|
202
|
+
vr?: any;
|
|
203
|
+
metadata: ProviderMediaConfigMetadataObject;
|
|
204
|
+
captions?: Array<PKExternalCaptionObject>;
|
|
205
|
+
downloadUrl?: string;
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
export declare type ProviderMediaEntryObject = {
|
|
209
|
+
id?: string;
|
|
210
|
+
name?: string;
|
|
211
|
+
sources: ProviderMediaSourcesObject;
|
|
212
|
+
duration?: number;
|
|
213
|
+
dvrStatus?: number;
|
|
214
|
+
status?: number;
|
|
215
|
+
metadata: any;
|
|
216
|
+
type: string;
|
|
217
|
+
poster?: string | Poster[];
|
|
218
|
+
downloadUrl?: string;
|
|
219
|
+
assetReferenceType?: string;
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
export declare type ProviderMediaFormatType = {
|
|
223
|
+
name: string;
|
|
224
|
+
mimeType: string;
|
|
225
|
+
pathExt: string;
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
export declare type ProviderMediaInfoObject = OVPProviderMediaInfoObject | OTTProviderMediaInfoObject;
|
|
229
|
+
|
|
230
|
+
export declare type ProviderMediaSourceObject = {
|
|
231
|
+
id: string;
|
|
232
|
+
url: string;
|
|
233
|
+
mimetype: string;
|
|
234
|
+
bandwidth?: number;
|
|
235
|
+
width?: number;
|
|
236
|
+
height?: number;
|
|
237
|
+
label?: string;
|
|
238
|
+
drmData?: Array<ProviderDrmDataObject>;
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
export declare type ProviderMediaSourcesObject = {
|
|
242
|
+
progressive: Array<ProviderMediaSourceObject>;
|
|
243
|
+
dash: Array<ProviderMediaSourceObject>;
|
|
244
|
+
hls: Array<ProviderMediaSourceObject>;
|
|
245
|
+
image: Array<ImageSource>;
|
|
246
|
+
document: Array<DocumentSource>;
|
|
247
|
+
captions?: Array<PKExternalCaptionObject>;
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
export declare type ProviderNetworkRetryParameters = {
|
|
251
|
+
async: boolean;
|
|
252
|
+
timeout?: number;
|
|
253
|
+
maxAttempts?: number;
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
export declare type ProviderOptionsObject = {
|
|
257
|
+
partnerId: number;
|
|
258
|
+
widgetId?: string;
|
|
259
|
+
logger?: LoggerType;
|
|
260
|
+
ks?: string;
|
|
261
|
+
uiConfId?: number;
|
|
262
|
+
env?: ProviderEnvConfigObject;
|
|
263
|
+
networkRetryParameters?: ProviderNetworkRetryParameters;
|
|
264
|
+
filterOptions?: ProviderFilterOptionsObject;
|
|
265
|
+
ignoreServerConfig?: boolean;
|
|
266
|
+
loadThumbnailWithKs?: boolean;
|
|
267
|
+
referrer?: string;
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
export declare type ProviderPlaybackContextOptions = {
|
|
271
|
+
mediaProtocol?: string;
|
|
272
|
+
assetFileIds?: string;
|
|
273
|
+
context?: string;
|
|
274
|
+
streamerType?: string;
|
|
275
|
+
urlType?: string;
|
|
276
|
+
adapterData?: AdapterDataConfig;
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
export declare type ProviderPlaylistInfoObject = {
|
|
280
|
+
playlistId: string;
|
|
281
|
+
ks?: string;
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
declare type ProviderPlaylistItemObject = {
|
|
285
|
+
sources: ProviderMediaConfigSourcesObject;
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
export declare type ProviderPlaylistMetadataObject = {
|
|
289
|
+
name: string;
|
|
290
|
+
description: string;
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
export declare type ProviderPlaylistObject = {
|
|
294
|
+
id: string;
|
|
295
|
+
metadata: ProviderPlaylistMetadataObject;
|
|
296
|
+
poster: string;
|
|
297
|
+
items: Array<ProviderPlaylistItemObject>;
|
|
298
|
+
playlistLastEntryId?: string;
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
declare class RequestBuilder {
|
|
302
|
+
/**
|
|
303
|
+
* @member - Service name
|
|
304
|
+
* @type {string}
|
|
305
|
+
*/
|
|
306
|
+
service: string;
|
|
307
|
+
/**
|
|
308
|
+
* @member - Service action
|
|
309
|
+
* @type {string}
|
|
310
|
+
*/
|
|
311
|
+
action: string;
|
|
312
|
+
/**
|
|
313
|
+
* @member - Service params
|
|
314
|
+
* @type {any}
|
|
315
|
+
*/
|
|
316
|
+
params: any;
|
|
317
|
+
/**
|
|
318
|
+
* @memberof - Service headers
|
|
319
|
+
* @type {Map<string, string>}
|
|
320
|
+
*/
|
|
321
|
+
headers: Map<string, string>;
|
|
322
|
+
/**
|
|
323
|
+
* @memberof - Service URL
|
|
324
|
+
* @type {string}
|
|
325
|
+
*/
|
|
326
|
+
url: string;
|
|
327
|
+
/**
|
|
328
|
+
* @memberof - Service method (POST,GET,DELETE etc..)
|
|
329
|
+
* @type {string}
|
|
330
|
+
*/
|
|
331
|
+
method: string;
|
|
332
|
+
/**
|
|
333
|
+
* @memberof - Service tag
|
|
334
|
+
* @type {string}
|
|
335
|
+
*/
|
|
336
|
+
tag: string;
|
|
337
|
+
/**
|
|
338
|
+
* @memberof - the response headers of the arra
|
|
339
|
+
* @type {Array<string>}
|
|
340
|
+
*/
|
|
341
|
+
responseHeaders: Array<string>;
|
|
342
|
+
/**
|
|
343
|
+
* @description network retry configuration
|
|
344
|
+
* @memberof RequestBuilder
|
|
345
|
+
* @type {ProviderNetworkRetryParameters}
|
|
346
|
+
*/
|
|
347
|
+
retryConfig: ProviderNetworkRetryParameters;
|
|
348
|
+
/**
|
|
349
|
+
* @description number of xhr attempts for the same multi - request.
|
|
350
|
+
* @memberof RequestBuilder
|
|
351
|
+
* @type {number}
|
|
352
|
+
* @private
|
|
353
|
+
*/
|
|
354
|
+
private _attemptCounter;
|
|
355
|
+
/**
|
|
356
|
+
* @description hold the promise result of the XHR request(s) - if all tries fails, it rejects with the error.
|
|
357
|
+
* @memberof RequestBuilder
|
|
358
|
+
* @type {Object}
|
|
359
|
+
* @private
|
|
360
|
+
*/
|
|
361
|
+
private _requestPromise;
|
|
362
|
+
/**
|
|
363
|
+
* @constructor
|
|
364
|
+
* @param {Map<string, string>} headers The request headers
|
|
365
|
+
*/
|
|
366
|
+
constructor(headers?: Map<string, string>);
|
|
367
|
+
/**
|
|
368
|
+
* Builds restful service URL
|
|
369
|
+
* @function getUrl
|
|
370
|
+
* @param {string} serviceUrl - The service base URL
|
|
371
|
+
* @returns {string} The service URL
|
|
372
|
+
*/
|
|
373
|
+
getUrl(serviceUrl: string): string;
|
|
374
|
+
/**
|
|
375
|
+
* Executes service
|
|
376
|
+
* @function doHttpRequest
|
|
377
|
+
* @returns {Promise.<any>} Service response as promise
|
|
378
|
+
*/
|
|
379
|
+
doHttpRequest(): Promise<any>;
|
|
380
|
+
private _createXHR;
|
|
381
|
+
private _getResponseHeaders;
|
|
382
|
+
private _handleError;
|
|
383
|
+
private _createError;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export declare type RequestLoader = {
|
|
387
|
+
loader: ILoader;
|
|
388
|
+
params: any;
|
|
389
|
+
};
|
|
390
|
+
|
|
391
|
+
export { }
|
package/package.json
CHANGED
|
@@ -1,36 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@playkit-js/playkit-js-providers",
|
|
3
|
-
"version": "2.41.0-canary.0-
|
|
3
|
+
"version": "2.41.0-canary.0-3d6d02a",
|
|
4
4
|
"description": "",
|
|
5
|
-
"types": "./dist/index.d.ts",
|
|
6
5
|
"files": [
|
|
7
6
|
"dist/**/*",
|
|
8
7
|
"src/**/*",
|
|
9
8
|
"flow-typed/**/*",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
9
|
+
"analytics-service/*",
|
|
10
|
+
"bookmark-service/*",
|
|
11
|
+
"ott-provider/*",
|
|
12
|
+
"ovp-provider/*",
|
|
13
|
+
"stats-service/*",
|
|
14
|
+
"types/*"
|
|
15
15
|
],
|
|
16
16
|
"exports": {
|
|
17
|
-
"./
|
|
18
|
-
"./
|
|
19
|
-
"./
|
|
20
|
-
"./
|
|
21
|
-
"./
|
|
17
|
+
"./ovp-provider": "./dist/playkit-ovp-provider.js",
|
|
18
|
+
"./ott-provider": "./dist/playkit-ott-provider.js",
|
|
19
|
+
"./analytics-service": "./dist/playkit-analytics-service.js",
|
|
20
|
+
"./stats-service": "./dist/playkit-stats-service.js",
|
|
21
|
+
"./bookmark-service": "./dist/playkit-bookmark-service.js",
|
|
22
|
+
"./types": "./dist/types.d.ts"
|
|
22
23
|
},
|
|
23
24
|
"scripts": {
|
|
24
25
|
"serve": "webpack serve --open --mode=development",
|
|
25
26
|
"build:dev": "webpack --mode=development",
|
|
26
27
|
"build:prod": "webpack --mode=production --node-env=production",
|
|
27
28
|
"build": "yarn run build:prod && yarn run build:types",
|
|
28
|
-
"build:types": "
|
|
29
|
+
"build:types": "yarn run build:types:ovp && yarn run build:types:ott && yarn run build:types:analytics && yarn run build:types:bookmark && yarn run build:types:stats && yarn run build:types:types",
|
|
30
|
+
"build:types:ovp": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --config api-extracor-config/api-extractor-ovp-provider.json --local",
|
|
31
|
+
"build:types:ott": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --config api-extracor-config/api-extractor-ott-provider.json --local",
|
|
32
|
+
"build:types:analytics": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --config api-extracor-config/api-extractor-analytics-service.json --local",
|
|
33
|
+
"build:types:bookmark": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --config api-extracor-config/api-extractor-bookmark-service.json --local",
|
|
34
|
+
"build:types:stats": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --config api-extracor-config/api-extractor-stats-service.json --local",
|
|
35
|
+
"build:types:types": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --config api-extracor-config/api-extractor-types.json --local",
|
|
29
36
|
"type-check": "tsc --noEmit",
|
|
30
37
|
"type-check:watch": "npm run type-check -- --watch",
|
|
31
38
|
"watch": "webpack --mode=development --watch",
|
|
32
39
|
"test": "NODE_ENV=test karma start --color --mode development",
|
|
33
40
|
"test:watch": "NODE_ENV=test karma start --browsers=Chrome --single-run=false --auto-watch",
|
|
41
|
+
"test:debug": "NODE_ENV=test karma start --browsers=Chrome --single-run=false --auto-watch --debug",
|
|
34
42
|
"release": "standard-version",
|
|
35
43
|
"pushTaggedRelease": "git push --follow-tags --no-verify origin master",
|
|
36
44
|
"lint": "eslint src/ --ext .js --ext .ts",
|
|
@@ -38,19 +46,19 @@
|
|
|
38
46
|
"prettier:fix": "prettier --write ."
|
|
39
47
|
},
|
|
40
48
|
"devDependencies": {
|
|
41
|
-
"@microsoft/api-extractor": "^7.38.0",
|
|
42
49
|
"@babel/cli": "^7.10.1",
|
|
43
50
|
"@babel/core": "^7.21.8",
|
|
44
|
-
"@babel/preset-typescript": "^7.22.15",
|
|
45
|
-
"typescript": "^5.2.2",
|
|
46
51
|
"@babel/plugin-transform-runtime": "^7.22.15",
|
|
47
52
|
"@babel/preset-env": "^7.21.5",
|
|
53
|
+
"@babel/preset-typescript": "^7.22.15",
|
|
54
|
+
"@microsoft/api-extractor": "^7.39.4",
|
|
55
|
+
"@playkit-js/browserslist-config": "1.0.8",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
|
57
|
+
"@typescript-eslint/parser": "^6.7.2",
|
|
48
58
|
"babel-eslint": "^10.1.0",
|
|
49
59
|
"babel-loader": "^9.1.2",
|
|
50
60
|
"chai": "^4.2.0",
|
|
51
61
|
"eslint": "8.22.0",
|
|
52
|
-
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
|
53
|
-
"@typescript-eslint/parser": "^6.7.2",
|
|
54
62
|
"eslint-config-prettier": "^6.11.0",
|
|
55
63
|
"eslint-plugin-import": "^2.22.0",
|
|
56
64
|
"eslint-plugin-mocha-no-only": "^1.1.0",
|
|
@@ -60,7 +68,7 @@
|
|
|
60
68
|
"karma-chrome-launcher": "^3.1.0",
|
|
61
69
|
"karma-cli": "^2.0.0",
|
|
62
70
|
"karma-coverage": "^2.0.2",
|
|
63
|
-
"karma-firefox-launcher": "^1.
|
|
71
|
+
"karma-firefox-launcher": "^2.1.2",
|
|
64
72
|
"karma-ie-launcher": "^1.0.0",
|
|
65
73
|
"karma-mocha": "^2.0.1",
|
|
66
74
|
"karma-mocha-reporter": "^2.2.5",
|
|
@@ -74,10 +82,10 @@
|
|
|
74
82
|
"sinon": "^9.0.2",
|
|
75
83
|
"sinon-chai": "^3.5.0",
|
|
76
84
|
"standard-version": "^6.0.1",
|
|
85
|
+
"typescript": "^5.2.2",
|
|
77
86
|
"webpack": "^5.83.1",
|
|
78
87
|
"webpack-cli": "^5.1.1",
|
|
79
|
-
"webpack-dev-server": "^4.15.0"
|
|
80
|
-
"@playkit-js/browserslist-config": "^1.0.5"
|
|
88
|
+
"webpack-dev-server": "^4.15.0"
|
|
81
89
|
},
|
|
82
90
|
"browserslist": [
|
|
83
91
|
"extends @playkit-js/browserslist-config"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export default class DocumentSource {
|
|
2
|
+
/**
|
|
3
|
+
* @member - media source id
|
|
4
|
+
* @type {string}
|
|
5
|
+
*/
|
|
6
|
+
public id: string;
|
|
7
|
+
/**
|
|
8
|
+
* @member - media source url
|
|
9
|
+
* @type {string}
|
|
10
|
+
*/
|
|
11
|
+
public url: string;
|
|
12
|
+
/**
|
|
13
|
+
* @member - thumbnail url
|
|
14
|
+
* @type {string}
|
|
15
|
+
*/
|
|
16
|
+
public thumbnailUrl: string;
|
|
17
|
+
/**
|
|
18
|
+
* @member - media source mimetype
|
|
19
|
+
* @type {string}
|
|
20
|
+
*/
|
|
21
|
+
public mimetype: string;
|
|
22
|
+
|
|
23
|
+
constructor(entry: any) {
|
|
24
|
+
this.id = entry.id;
|
|
25
|
+
this.url = entry.downloadUrl;
|
|
26
|
+
this.thumbnailUrl = entry.poster;
|
|
27
|
+
this.mimetype = '';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export {DocumentSource}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import MediaSource from './media-source';
|
|
2
2
|
import {MediaFormat} from './media-format';
|
|
3
3
|
import {ImageSource} from './image-source';
|
|
4
|
+
import {DocumentSource} from './document-source';
|
|
4
5
|
import {PKExternalCaptionObject, ProviderMediaFormatType, ProviderMediaSourcesObject} from '../types';
|
|
5
6
|
|
|
6
7
|
export default class MediaSources {
|
|
@@ -23,6 +24,7 @@ export default class MediaSources {
|
|
|
23
24
|
*/
|
|
24
25
|
public hls: Array<MediaSource>;
|
|
25
26
|
public image: Array<ImageSource>;
|
|
27
|
+
public document: Array<DocumentSource>;
|
|
26
28
|
public captions?: Array<PKExternalCaptionObject>;
|
|
27
29
|
|
|
28
30
|
/**
|
|
@@ -33,6 +35,7 @@ export default class MediaSources {
|
|
|
33
35
|
this.dash = [];
|
|
34
36
|
this.hls = [];
|
|
35
37
|
this.image = [];
|
|
38
|
+
this.document = [];
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
/**
|
|
@@ -68,12 +71,14 @@ export default class MediaSources {
|
|
|
68
71
|
progressive: [],
|
|
69
72
|
dash: [],
|
|
70
73
|
hls: [],
|
|
71
|
-
image: []
|
|
74
|
+
image: [],
|
|
75
|
+
document: []
|
|
72
76
|
};
|
|
73
77
|
this.progressive.forEach(p => response.progressive.push(p.toJSON()));
|
|
74
78
|
this.hls.forEach(h => response.hls.push(h.toJSON()));
|
|
75
79
|
this.dash.forEach(d => response.dash.push(d.toJSON()));
|
|
76
80
|
response.image = this.image;
|
|
81
|
+
response.document = this.document;
|
|
77
82
|
return response;
|
|
78
83
|
}
|
|
79
84
|
}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import {getLogLevel, setLogLevel, setLogger, LogLevelType, LogLevel} from '../../util/logger';
|
|
2
2
|
import DataLoaderManager from './data-loader-manager';
|
|
3
3
|
import Error from '../../util/error/error';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
ProviderEntryListObject,
|
|
6
|
+
ProviderMediaConfigObject,
|
|
7
|
+
ProviderPlaylistInfoObject,
|
|
8
|
+
ProviderMediaConfigSourcesObject,
|
|
9
|
+
ProviderNetworkRetryParameters,
|
|
10
|
+
ProviderOptionsObject,
|
|
11
|
+
ProviderPlaylistObject
|
|
12
|
+
} from '../../types';
|
|
5
13
|
|
|
6
14
|
export default class BaseProvider<MI> {
|
|
7
15
|
private _partnerId: number;
|
|
@@ -11,7 +19,9 @@ export default class BaseProvider<MI> {
|
|
|
11
19
|
public _dataLoader!: DataLoaderManager;
|
|
12
20
|
private _playerVersion: string;
|
|
13
21
|
public _logger: any;
|
|
22
|
+
public _referrer?: string;
|
|
14
23
|
protected _isAnonymous: boolean;
|
|
24
|
+
|
|
15
25
|
public _networkRetryConfig: ProviderNetworkRetryParameters = {
|
|
16
26
|
async: true,
|
|
17
27
|
timeout: 0,
|
|
@@ -58,6 +68,7 @@ export default class BaseProvider<MI> {
|
|
|
58
68
|
this._isAnonymous = !options.ks;
|
|
59
69
|
this._ks = options.ks || '';
|
|
60
70
|
this._playerVersion = playerVersion;
|
|
71
|
+
this._referrer = options.referrer;
|
|
61
72
|
}
|
|
62
73
|
|
|
63
74
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -88,7 +99,7 @@ export default class BaseProvider<MI> {
|
|
|
88
99
|
}
|
|
89
100
|
|
|
90
101
|
protected _verifyHasSources(sources: ProviderMediaConfigSourcesObject): void {
|
|
91
|
-
if (sources.hls.concat(sources.dash, sources.progressive, sources.image).length === 0) {
|
|
102
|
+
if (sources.hls.concat(sources.dash, sources.progressive, sources.image, sources.document).length === 0) {
|
|
92
103
|
throw new Error(Error.Severity.CRITICAL, Error.Category.SERVICE, Error.Code.MISSING_PLAY_SOURCE, {
|
|
93
104
|
action: '',
|
|
94
105
|
messages: `No play source for entry id: ${sources.id}`
|
|
@@ -109,4 +120,4 @@ export default class BaseProvider<MI> {
|
|
|
109
120
|
}
|
|
110
121
|
}
|
|
111
122
|
|
|
112
|
-
export {BaseProvider}
|
|
123
|
+
export {BaseProvider};
|
|
@@ -9,9 +9,9 @@ import {KalturaMediaEntry} from '../response-types';
|
|
|
9
9
|
import {ILoader} from '../../../types';
|
|
10
10
|
|
|
11
11
|
type OVPMediaEntryLoaderResponse = {
|
|
12
|
-
entry: KalturaMediaEntry
|
|
13
|
-
playBackContextResult: KalturaPlaybackContext
|
|
14
|
-
metadataListResult: KalturaMetadataListResponse
|
|
12
|
+
entry: KalturaMediaEntry;
|
|
13
|
+
playBackContextResult: KalturaPlaybackContext;
|
|
14
|
+
metadataListResult: KalturaMetadataListResponse;
|
|
15
15
|
};
|
|
16
16
|
export type {OVPMediaEntryLoaderResponse};
|
|
17
17
|
|
|
@@ -68,7 +68,7 @@ export default class OVPMediaEntryLoader implements ILoader {
|
|
|
68
68
|
requests.push(OVPBaseEntryService.list(config.serviceUrl, params.ks, params.entryId, params.redirectFromEntryId, params.referenceId));
|
|
69
69
|
// Use the entry id from the request result to support loading by referenceId
|
|
70
70
|
const serviceEntryId = params.ks === '{1:result:ks}' ? '{2:result:objects:0:id}' : '{1:result:objects:0:id}';
|
|
71
|
-
requests.push(OVPBaseEntryService.getPlaybackContext(config.serviceUrl, params.ks, serviceEntryId));
|
|
71
|
+
requests.push(OVPBaseEntryService.getPlaybackContext(config.serviceUrl, params.ks, serviceEntryId, params.referrer));
|
|
72
72
|
requests.push(OVPMetadataService.list(config.serviceUrl, params.ks, serviceEntryId));
|
|
73
73
|
return requests;
|
|
74
74
|
}
|