@playkit-js/playkit-js-providers 2.40.1 → 2.41.0-canary.0-2452bbc

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/dist/index.d.ts +1624 -0
  2. package/dist/playkit-analytics-service.js +1 -1
  3. package/dist/playkit-analytics-service.js.map +1 -1
  4. package/dist/playkit-bookmark-service.js +1 -1
  5. package/dist/playkit-bookmark-service.js.map +1 -1
  6. package/dist/playkit-ott-provider.js +1 -1
  7. package/dist/playkit-ott-provider.js.map +1 -1
  8. package/dist/playkit-ovp-provider.js +1 -1
  9. package/dist/playkit-ovp-provider.js.map +1 -1
  10. package/dist/playkit-stats-service.js +1 -1
  11. package/dist/playkit-stats-service.js.map +1 -1
  12. package/dist/tsdoc-metadata.json +11 -0
  13. package/flow-typed/types/media-config-sources.js +1 -1
  14. package/flow-typed/types/media-sources.js +1 -1
  15. package/package.json +48 -45
  16. package/playkit-analytics-service/package.json +5 -0
  17. package/playkit-bookmark-service/package.json +5 -0
  18. package/playkit-ott-provider/package.json +5 -0
  19. package/playkit-ovp-provider/package.json +5 -0
  20. package/playkit-stats-service/package.json +5 -0
  21. package/src/entities/bumper.ts +21 -0
  22. package/src/entities/drm.ts +47 -0
  23. package/src/entities/entry-list.ts +13 -0
  24. package/src/entities/image-source.ts +36 -0
  25. package/src/entities/media-entry.ts +104 -0
  26. package/src/entities/media-format.ts +47 -0
  27. package/src/entities/media-source.ts +70 -0
  28. package/src/entities/media-sources.ts +79 -0
  29. package/src/entities/playlist.ts +41 -0
  30. package/src/k-provider/common/base-provider-parser.ts +0 -0
  31. package/src/k-provider/common/base-provider.ts +112 -0
  32. package/src/k-provider/common/base-service-result.ts +56 -0
  33. package/src/k-provider/common/data-loader-manager.ts +115 -0
  34. package/src/k-provider/common/multi-request-builder.ts +111 -0
  35. package/src/k-provider/common/response-types/kaltura-access-control-message.ts +21 -0
  36. package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.ts +38 -0
  37. package/src/k-provider/ott/config.ts +22 -0
  38. package/src/k-provider/ott/index.ts +14 -0
  39. package/src/k-provider/ott/loaders/asset-list-loader.ts +68 -0
  40. package/src/k-provider/ott/loaders/asset-loader.ts +69 -0
  41. package/src/k-provider/ott/loaders/data-loader-manager.ts +15 -0
  42. package/src/k-provider/ott/loaders/session-loader.ts +62 -0
  43. package/src/k-provider/ott/provider-parser.ts +285 -0
  44. package/src/k-provider/ott/provider.ts +252 -0
  45. package/src/k-provider/ott/response-types/kaltura-asset.ts +105 -0
  46. package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.ts +27 -0
  47. package/src/k-provider/ott/response-types/kaltura-playback-context.ts +73 -0
  48. package/src/k-provider/ott/response-types/kaltura-playback-source.ts +62 -0
  49. package/src/k-provider/ott/response-types/kaltura-rule-action.ts +25 -0
  50. package/src/k-provider/ott/services/asset-service.ts +50 -0
  51. package/src/k-provider/ott/services/bookmark/bookmark-service.ts +48 -0
  52. package/src/k-provider/ott/services/bookmark/index.ts +11 -0
  53. package/src/k-provider/ott/services/ott-service.ts +33 -0
  54. package/src/k-provider/ott/services/user-service.ts +31 -0
  55. package/src/k-provider/ovp/config.ts +28 -0
  56. package/src/k-provider/ovp/external-captions-builder.ts +37 -0
  57. package/src/k-provider/ovp/index.ts +13 -0
  58. package/src/k-provider/ovp/loaders/data-loader-manager.ts +17 -0
  59. package/src/k-provider/ovp/loaders/entry-list-loader.ts +69 -0
  60. package/src/k-provider/ovp/loaders/media-entry-loader.ts +84 -0
  61. package/src/k-provider/ovp/loaders/playlist-loader.ts +69 -0
  62. package/src/k-provider/ovp/loaders/session-loader.ts +62 -0
  63. package/src/k-provider/ovp/loaders/ui-config-loader.ts +71 -0
  64. package/src/k-provider/ovp/play-source-url-builder.ts +59 -0
  65. package/src/k-provider/ovp/provider-parser.ts +461 -0
  66. package/src/k-provider/ovp/provider.ts +358 -0
  67. package/src/k-provider/ovp/regex-action-handler.ts +149 -0
  68. package/src/k-provider/ovp/request-params/base-entry-response-profile.ts +28 -0
  69. package/src/k-provider/ovp/response-types/index.ts +21 -0
  70. package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.ts +35 -0
  71. package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.ts +30 -0
  72. package/src/k-provider/ovp/response-types/kaltura-bumper.ts +25 -0
  73. package/src/k-provider/ovp/response-types/kaltura-flavor-asset.ts +108 -0
  74. package/src/k-provider/ovp/response-types/kaltura-media-entries.ts +28 -0
  75. package/src/k-provider/ovp/response-types/kaltura-media-entry.ts +189 -0
  76. package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.ts +22 -0
  77. package/src/k-provider/ovp/response-types/kaltura-metadata.ts +50 -0
  78. package/src/k-provider/ovp/response-types/kaltura-playback-context.ts +95 -0
  79. package/src/k-provider/ovp/response-types/kaltura-playback-source.ts +89 -0
  80. package/src/k-provider/ovp/response-types/kaltura-playlist.ts +33 -0
  81. package/src/k-provider/ovp/response-types/kaltura-rule-action.ts +27 -0
  82. package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.ts +89 -0
  83. package/src/k-provider/ovp/response-types/kaltura-user-entry-list-response.ts +30 -0
  84. package/src/k-provider/ovp/response-types/kaltura-user-entry.ts +57 -0
  85. package/src/k-provider/ovp/services/analytics/analytics-service.ts +58 -0
  86. package/src/k-provider/ovp/services/analytics/index.ts +11 -0
  87. package/src/k-provider/ovp/services/base-entry-service.ts +75 -0
  88. package/src/k-provider/ovp/services/meta-data-service.ts +29 -0
  89. package/src/k-provider/ovp/services/ovp-service.ts +32 -0
  90. package/src/k-provider/ovp/services/playlist-service.ts +95 -0
  91. package/src/k-provider/ovp/services/session-service.ts +27 -0
  92. package/src/k-provider/ovp/services/stats/index.ts +11 -0
  93. package/src/k-provider/ovp/services/stats/stats-service.ts +32 -0
  94. package/src/k-provider/ovp/services/ui-conf-service.ts +32 -0
  95. package/src/types/adapter-data-config.ts +1 -0
  96. package/src/types/caption-type.ts +1 -0
  97. package/src/types/drm-data.ts +5 -0
  98. package/src/types/entry-list.ts +6 -0
  99. package/src/types/env-config.ts +7 -0
  100. package/src/types/external-caption-object.ts +7 -0
  101. package/src/types/filter-options.ts +3 -0
  102. package/src/types/index.ts +34 -0
  103. package/src/types/loader.ts +7 -0
  104. package/src/types/media-config-metadata.ts +13 -0
  105. package/src/types/media-config-session.ts +6 -0
  106. package/src/types/media-config-sources.ts +20 -0
  107. package/src/types/media-config.ts +8 -0
  108. package/src/types/media-entry.ts +16 -0
  109. package/src/types/media-format.ts +5 -0
  110. package/src/types/media-info.ts +21 -0
  111. package/src/types/media-source.ts +12 -0
  112. package/src/types/media-sources.ts +11 -0
  113. package/src/types/network-retry-parameters.ts +5 -0
  114. package/src/types/playback-context.ts +10 -0
  115. package/src/types/playlist-info.ts +4 -0
  116. package/src/types/playlist-item.ts +5 -0
  117. package/src/types/playlist-metadata.ts +4 -0
  118. package/src/types/playlist.ts +10 -0
  119. package/src/types/poster.ts +5 -0
  120. package/src/types/provider-options.ts +17 -0
  121. package/src/types/request-loader.ts +6 -0
  122. package/src/util/clone.ts +23 -0
  123. package/src/util/error/category.ts +11 -0
  124. package/src/util/error/code.ts +77 -0
  125. package/src/util/error/error.ts +47 -0
  126. package/src/util/error/severity.ts +21 -0
  127. package/src/util/logger.ts +108 -0
  128. package/src/util/param.ts +45 -0
  129. package/src/util/request-builder.ts +187 -0
  130. package/src/util/xml-parser.ts +39 -0
  131. package/CHANGELOG.md +0 -959
  132. package/samples/ott/bookmark.html +0 -23
  133. package/samples/ott/provider.html +0 -28
  134. package/samples/ovp/provider.html +0 -30
  135. package/samples/ovp/stats.html +0 -17
@@ -0,0 +1,1624 @@
1
+ export declare type AdapterDataConfig = {
2
+ [key: string]: {
3
+ value: string;
4
+ objectType?: string;
5
+ };
6
+ };
7
+
8
+ export declare class BaseProvider<MI> {
9
+ private _partnerId;
10
+ private _widgetId?;
11
+ private _ks;
12
+ private _uiConfId?;
13
+ _dataLoader: DataLoaderManager;
14
+ private _playerVersion;
15
+ _logger: any;
16
+ protected _isAnonymous: boolean;
17
+ _networkRetryConfig: ProviderNetworkRetryParameters;
18
+ get partnerId(): number;
19
+ get widgetId(): string;
20
+ get defaultWidgetId(): string;
21
+ get uiConfId(): number | undefined;
22
+ get ks(): string;
23
+ set ks(value: string);
24
+ get playerVersion(): string;
25
+ get isAnonymous(): boolean;
26
+ constructor(options: ProviderOptionsObject, playerVersion: string);
27
+ getMediaConfig(mediaInfo: MI): Promise<ProviderMediaConfigObject>;
28
+ getPlaylistConfig(playlistInfo: ProviderPlaylistInfoObject): Promise<ProviderPlaylistObject>;
29
+ getEntryListConfig(entryListInfo: ProviderEntryListObject): Promise<ProviderPlaylistObject>;
30
+ protected _verifyHasSources(sources: ProviderMediaConfigSourcesObject): void;
31
+ get LogLevel(): LogLevelType;
32
+ getLogLevel(name?: string): any;
33
+ setLogLevel(level: any, name?: string): void;
34
+ }
35
+
36
+ declare class Bumper {
37
+ /**
38
+ * @member - bumper url
39
+ * @type {string}
40
+ */
41
+ url: string;
42
+ /**
43
+ * @member - bumper click through url
44
+ * @type {string}
45
+ */
46
+ clickThroughUrl: string;
47
+ /**
48
+ * @constructor
49
+ * @param {Object} data - The bumper response
50
+ */
51
+ constructor(data: any);
52
+ }
53
+
54
+ export declare type CaptionType = {
55
+ [type: string]: string;
56
+ };
57
+
58
+ export declare const ContextType: {
59
+ [type: string]: string;
60
+ };
61
+
62
+ declare class DataLoaderManager {
63
+ /**
64
+ * @member - Loaders response map index
65
+ * @type {Map<string,Array<number>>}
66
+ * @private
67
+ */
68
+ private _loadersResponseMap;
69
+ /**
70
+ * @member - Loaders multi request
71
+ * @type {MultiRequestBuilder}
72
+ * @protected
73
+ */
74
+ protected _multiRequest: MultiRequestBuilder;
75
+ /**
76
+ * @member - Loaders multi response
77
+ * @type {MultiRequestResult}
78
+ * @private
79
+ */
80
+ private _multiResponse;
81
+ /**
82
+ * @member - Loaders to execute
83
+ * @type {Map<string,Function>}
84
+ * @private
85
+ */
86
+ private _loaders;
87
+ private _networkRetryConfig;
88
+ constructor(networkRetryConfig: ProviderNetworkRetryParameters);
89
+ /**
90
+ * Add loader to execution loaders map
91
+ * @function
92
+ * @param {Function} loader Loader to add
93
+ * @param {Object} params Loader params
94
+ * @param {string} ks ks
95
+ * @returns {void}
96
+ */
97
+ add(loader: {
98
+ new (...params: any[]): ILoader;
99
+ id: string;
100
+ }, params: any, ks?: string): void;
101
+ /**
102
+ * Get data from all loaders using multi request
103
+ * @param {boolean} requestsMustSucceed whether all of the requests must succeed or not
104
+ * @function
105
+ * @returns {Promise} Promise
106
+ */
107
+ fetchData(requestsMustSucceed?: boolean): Promise<any>;
108
+ /**
109
+ * Prepare fetched data
110
+ * @function
111
+ * @param {MultiRequestResult} response - The multi request result
112
+ * @returns {Object} - The prepared data
113
+ */
114
+ prepareData(response: MultiRequestResult): any;
115
+ }
116
+
117
+ declare class Drm {
118
+ /**
119
+ * @member - license url
120
+ * @type {string}
121
+ */
122
+ licenseUrl: string;
123
+ /**
124
+ * @member - drm scheme
125
+ * @type {string}
126
+ */
127
+ scheme: string;
128
+ /**
129
+ * @member - drm certificate
130
+ * @type {string}
131
+ */
132
+ certificate?: string;
133
+ /**
134
+ * @constructor
135
+ * @param {string} licenseUrl - the license url
136
+ * @param {string} scheme - the drm scheme
137
+ * @param {?string} certificate - the drm certificate
138
+ */
139
+ constructor(licenseUrl: string, scheme: string, certificate?: string);
140
+ /**
141
+ * Convert class to native js object.
142
+ * @returns {ProviderDrmDataObject} - The json class object.
143
+ */
144
+ toJSON(): ProviderDrmDataObject;
145
+ }
146
+
147
+ declare class EntryList {
148
+ /**
149
+ * @member - entry list items
150
+ * @type {Array<MediaEntry>}
151
+ */
152
+ items: Array<MediaEntry>;
153
+ constructor();
154
+ }
155
+
156
+ export declare interface ILoader {
157
+ requests: Array<RequestBuilder>;
158
+ response: any;
159
+ isValid(): boolean;
160
+ }
161
+
162
+ declare class ImageSource {
163
+ /**
164
+ * @member - media source id
165
+ * @type {string}
166
+ */
167
+ id: string;
168
+ /**
169
+ * @member - media source url
170
+ * @type {string}
171
+ */
172
+ url: string;
173
+ /**
174
+ * @member - media source mimetype
175
+ * @type {string}
176
+ */
177
+ mimetype: string;
178
+ constructor(entry: any);
179
+ /**
180
+ * Extract the base thumbnail url.
181
+ * @param {string} url - dataUrl.
182
+ * @returns {string} - The base thumbnail url.
183
+ */
184
+ static extractBaseThumbnailUrl(url: string): string;
185
+ }
186
+
187
+ export declare type IProvider = OTTProvider | OVPProvider;
188
+
189
+ declare class KalturaAccessControlMessage {
190
+ /**
191
+ * @member - The access control message
192
+ * @type {string}
193
+ */
194
+ message: string;
195
+ /**
196
+ * @member - The access control message code
197
+ * @@type {string}
198
+ */
199
+ code: string;
200
+ /**
201
+ * @constructor
202
+ * @param {Object} data The json response
203
+ */
204
+ constructor(data: any);
205
+ }
206
+
207
+ declare class KalturaAccessControlModifyRequestHostRegexAction extends KalturaRuleAction {
208
+ /**
209
+ * @member - Request host regex pattern
210
+ * @type {string}
211
+ */
212
+ pattern: string;
213
+ /**
214
+ * @member - Request host regex replacement
215
+ * @type {string}
216
+ */
217
+ replacement: string;
218
+ /**
219
+ * @member - serverNodeId to generate replacment host from
220
+ * @type {number}
221
+ */
222
+ replacmenServerNodeId: number;
223
+ /**
224
+ * @member - checkAliveTimeout in milliseconds
225
+ * @type {number}
226
+ */
227
+ checkAliveTimeoutMs: number;
228
+ /**
229
+ * @constructor
230
+ * @param {Object} data - The response
231
+ */
232
+ constructor(data: any);
233
+ }
234
+
235
+ declare class KalturaBaseEntryListResponse extends ServiceResult {
236
+ /**
237
+ * @member - The total count
238
+ * @type {number}
239
+ */
240
+ totalCount: number;
241
+ /**
242
+ * @member - The entries
243
+ * @type {Array<KalturaMediaEntry>}
244
+ */
245
+ entries: Array<KalturaMediaEntry>;
246
+ /**
247
+ * @constructor
248
+ * @param {Object} responseObj The json response
249
+ */
250
+ constructor(responseObj: any);
251
+ }
252
+
253
+ declare class KalturaBumper {
254
+ /**
255
+ * @member - The bumper entry ID
256
+ * @type {string}
257
+ */
258
+ entryId: string;
259
+ /**
260
+ * @member - The bumper click through url
261
+ * @type {string}
262
+ */
263
+ clickThroughUrl: string;
264
+ /**
265
+ * @member - The bumper sources
266
+ * @type {Array<KalturaPlaybackSource>}
267
+ */
268
+ sources: Array<KalturaPlaybackSource>;
269
+ constructor(data: any);
270
+ }
271
+
272
+ declare class KalturaDrmPlaybackPluginData {
273
+ static Scheme: {
274
+ [scheme: string]: string;
275
+ };
276
+ /**
277
+ * @member - The drm scheme
278
+ * @type {string}
279
+ */
280
+ scheme: string;
281
+ /**
282
+ * @member - The license URL
283
+ * @type {string}
284
+ */
285
+ licenseURL: string;
286
+ /**
287
+ * @member - The drm certificate
288
+ * @type {?string}
289
+ */
290
+ certificate?: string;
291
+ /**
292
+ * @constructor
293
+ * @param {Object} drm The json response
294
+ */
295
+ constructor(drm: any);
296
+ }
297
+
298
+ declare class KalturaFlavorAsset {
299
+ static Status: {
300
+ [status: string]: number;
301
+ };
302
+ /**
303
+ * @member - The ID of the Flavor Asset
304
+ * @type {string}
305
+ */
306
+ id: string;
307
+ /**
308
+ * @member -The Flavor Params used to create this Flavor Asset
309
+ * @type {string}
310
+ */
311
+ flavorParamsId: string;
312
+ /**
313
+ * @member -The file extension
314
+ * @type {string}
315
+ */
316
+ fileExt: string;
317
+ /**
318
+ * @member - The overall bitrate (in KBits) of the Flavor Asset
319
+ * @type {string}
320
+ */
321
+ bitrate: number;
322
+ /**
323
+ * @member - The width of the Flavor Asset
324
+ * @type {number}
325
+ */
326
+ width: number;
327
+ /**
328
+ * @member - The height of the Flavor Asset
329
+ * @type {number}
330
+ */
331
+ height: number;
332
+ /**
333
+ * @member - The frame rate (in FPS) of the Flavor Asset
334
+ * @type {number}
335
+ */
336
+ frameRate: number;
337
+ /**
338
+ * @member - True if this Flavor Asset is the original source
339
+ * @type {number}
340
+ */
341
+ isOriginal: boolean;
342
+ /**
343
+ * @member - True if this Flavor Asset is playable in KDP
344
+ * @type {boolean}
345
+ */
346
+ isWeb: boolean;
347
+ /**
348
+ * @member - The container format
349
+ * @type {boolean}
350
+ */
351
+ containerFormat: string;
352
+ /**
353
+ *@member - The video codec
354
+ * @type {boolean}
355
+ */
356
+ videoCodecId: string;
357
+ /**
358
+ * @member - The status of the Flavor Asset
359
+ * @type {number}
360
+ */
361
+ status: number;
362
+ /**
363
+ * @member - The language of the flavor asset
364
+ * @type {Status}
365
+ */
366
+ language: string;
367
+ /**
368
+ * @member - The label of the flavor asset
369
+ * @type {string}
370
+ */
371
+ label: string;
372
+ /**
373
+ * @constructor
374
+ * @param {Object} data The json response
375
+ */
376
+ constructor(data: any);
377
+ }
378
+
379
+ declare class KalturaMediaEntries extends ServiceResult {
380
+ /**
381
+ * @member - The entries
382
+ * @type {Array<KalturaMediaEntry>}
383
+ */
384
+ entries: Array<KalturaMediaEntry>;
385
+ /**
386
+ * @constructor
387
+ * @param {Object} responseObj The json response
388
+ */
389
+ constructor(responseObj: any);
390
+ }
391
+
392
+ declare class KalturaMediaEntry {
393
+ static EntryType: {
394
+ [entryType: string]: {
395
+ value: number | string;
396
+ };
397
+ };
398
+ static MediaType: {
399
+ [mediaType: string]: {
400
+ value: number;
401
+ };
402
+ };
403
+ static EntryStatus: {
404
+ [status: string]: string | number;
405
+ };
406
+ static EntryModerationStatus: {
407
+ [status: string]: number;
408
+ };
409
+ /**
410
+ * @member - The entry id
411
+ * @type {string}
412
+ */
413
+ id: string;
414
+ /**
415
+ * @member - The entry referenceId
416
+ * @type {string}
417
+ */
418
+ referenceId: string;
419
+ /**
420
+ * @member - The entry externalSourceType
421
+ * @type {string}
422
+ */
423
+ externalSourceType: string;
424
+ /**
425
+ * @member - Entry name (Min 1 chars)
426
+ * @type {string}
427
+ */
428
+ name: string;
429
+ /**
430
+ * @member - Entry description
431
+ * @type {string}
432
+ */
433
+ description: string;
434
+ /**
435
+ * @member - The URL used for playback. This is not the download URL.
436
+ * @type {string}
437
+ */
438
+ dataUrl: string;
439
+ /**
440
+ * @member - Comma separated flavor params ids that exists for this media entry
441
+ * @type {string}
442
+ */
443
+ flavorParamsIds: string;
444
+ /**
445
+ * @member - The entry duration
446
+ * @type {number}
447
+ */
448
+ duration: number;
449
+ /**
450
+ * @member - The type of the entry, this is auto filled by the derived entry object
451
+ * @type {string | number}
452
+ */
453
+ type: string | number;
454
+ /**
455
+ * @member - The type of the entry, this is auto filled by the derived entry object (Image, Audio etc.)
456
+ * @type {number}
457
+ */
458
+ entryType: number;
459
+ /**
460
+ * @member - Entry poster image
461
+ * @type {string}
462
+ */
463
+ poster: string;
464
+ /**
465
+ * @member - DVR status
466
+ * @type {number}
467
+ */
468
+ dvrStatus: number;
469
+ /**
470
+ * @member - Entry tags
471
+ * @type {string}
472
+ */
473
+ tags: string;
474
+ /**
475
+ * @member - Entry status
476
+ * @type {number}
477
+ */
478
+ status: number;
479
+ /**
480
+ * @member - Entry creation date as Unix timestamp (In seconds)
481
+ * @type {number}
482
+ */
483
+ createdAt: number;
484
+ /**
485
+ * @member - Entry updation date as Unix timestamp (In seconds)
486
+ * @type {number}
487
+ */
488
+ updatedAt: number;
489
+ /**
490
+ * @member - Entry end date as Unix timestamp (In seconds)
491
+ * @type {number}
492
+ */
493
+ endDate: number;
494
+ /**
495
+ * @member - Number of plays
496
+ * @type {number}
497
+ */
498
+ plays: number;
499
+ /**
500
+ * @member - Number of views
501
+ * @type {number}
502
+ */
503
+ views: number;
504
+ /**
505
+ * @member - The download URL of the entry.
506
+ * @type {string}
507
+ */
508
+ downloadUrl: string;
509
+ /**
510
+ * @member - ID of entry creator.
511
+ * @type {string}
512
+ */
513
+ creatorId: string;
514
+ /**
515
+ * @constructor
516
+ * @param {Object} entry The json response
517
+ */
518
+ constructor(entry: any);
519
+ }
520
+
521
+ declare class KalturaMetadata {
522
+ static ObjectType: {
523
+ [type: string]: string | number;
524
+ };
525
+ static Status: {
526
+ [status: string]: number;
527
+ };
528
+ id: number;
529
+ metadataProfileId: number;
530
+ metadataProfileVersion: number;
531
+ metadataObjectType: string | number;
532
+ objectId: string;
533
+ version: number;
534
+ created: Date;
535
+ updated: Date;
536
+ status: number;
537
+ xml: string;
538
+ /**
539
+ * @constructor
540
+ * @param {Object} data The response
541
+ */
542
+ constructor(data: any);
543
+ }
544
+
545
+ declare class KalturaMetadataListResponse extends ServiceResult {
546
+ totalCount: number;
547
+ metas: Array<KalturaMetadata>;
548
+ /**
549
+ * @constructor
550
+ * @param {Object} responseObj The response
551
+ */
552
+ constructor(responseObj: any);
553
+ }
554
+
555
+ declare class KalturaPlaybackContext extends ServiceResult {
556
+ /**
557
+ * @member - The playback sources
558
+ * @type {Array<KalturaPlaybackSource>}
559
+ */
560
+ sources: Array<KalturaPlaybackSource>;
561
+ /**
562
+ * @member - Array of actions as received from the rules that invalidated
563
+ * @type {Array<KalturaRuleAction>}
564
+ */
565
+ actions: Array<KalturaRuleAction>;
566
+ /**
567
+ * @member - Array of actions as received from the rules that invalidated
568
+ * @type {Array<KalturaAccessControlMessage>}
569
+ */
570
+ messages: Array<KalturaAccessControlMessage>;
571
+ /**
572
+ * @member - The flavor assets
573
+ * @type {Array<KalturaFlavorAsset>}
574
+ */
575
+ flavorAssets: Array<KalturaFlavorAsset>;
576
+ /**
577
+ * @member - The bumper data
578
+ * @type {Array<KalturaBumper>}
579
+ */
580
+ bumperData: Array<KalturaBumper>;
581
+ /**
582
+ * @constructor
583
+ * @param {Object} response The response
584
+ */
585
+ constructor(response: any);
586
+ hasBlockAction(): boolean;
587
+ getBlockAction(): KalturaRuleAction | undefined;
588
+ getErrorMessages(): Array<KalturaAccessControlMessage>;
589
+ /**
590
+ * Get the KalturaAccessControlModifyRequestHostRegexAction action
591
+ * @function getRequestHostRegexAction
592
+ * @returns {?KalturaAccessControlModifyRequestHostRegexAction} The action
593
+ * */
594
+ getRequestHostRegexAction(): KalturaAccessControlModifyRequestHostRegexAction | undefined;
595
+ }
596
+
597
+ declare class KalturaPlaybackSource {
598
+ /**
599
+ * @member - source format according to delivery profile streamer type (applehttp, mpegdash etc.)
600
+ * @type {string}
601
+ */
602
+ format: string;
603
+ /**
604
+ * @member - delivery profile Id
605
+ * @type {string}
606
+ */
607
+ deliveryProfileId: string;
608
+ /**
609
+ * @member - The source URL
610
+ * @type {string}
611
+ */
612
+ url: string;
613
+ /**
614
+ * @member - comma separated string according to deliveryProfile media protocols ('http,https' etc.)
615
+ * @type {string}
616
+ */
617
+ protocols: string;
618
+ /**
619
+ * @member - comma separated string of flavor ids
620
+ * @type {string}
621
+ */
622
+ flavorIds: string;
623
+ /**
624
+ * @member - drm data object containing relevant license url ,scheme name and certificate
625
+ * @type {Array<KalturaDrmPlaybackPluginData>}
626
+ */
627
+ drm: Array<KalturaDrmPlaybackPluginData>;
628
+ /**
629
+ * @constructor
630
+ * @param {Object} source The response
631
+ */
632
+ constructor(source: any);
633
+ /**
634
+ * Checks if source has DRM data
635
+ * @function hasDrmData
636
+ * @returns {boolean} Is source has DRM
637
+ */
638
+ hasDrmData(): boolean;
639
+ /**
640
+ * Checks if source has flavor IDs
641
+ * @function hasFlavorIds
642
+ * @returns {boolean} Is source ha flavor IDs
643
+ */
644
+ hasFlavorIds(): boolean;
645
+ /**
646
+ * Returns source desired protocol if supported
647
+ * @param {string} protocol - the desired protocol for the source (base play url protocol)
648
+ * @returns {string} - protocol if protocol is in the protocols list - if not empty string returned
649
+ */
650
+ getProtocol(protocol: string): string;
651
+ }
652
+
653
+ declare class KalturaPlaylist {
654
+ /**
655
+ * @member - playlist id
656
+ * @type {string}
657
+ */
658
+ id: string;
659
+ /**
660
+ * @member - playlist name
661
+ * @type {string}
662
+ */
663
+ name: string;
664
+ /**
665
+ * @member - playlist description
666
+ * @type {string}
667
+ */
668
+ description: string;
669
+ /**
670
+ * @member - playlist poster image
671
+ * @type {string}
672
+ */
673
+ poster: string;
674
+ /**
675
+ * @constructor
676
+ * @param {Object} playlist - The json response
677
+ */
678
+ constructor(playlist: any);
679
+ }
680
+
681
+ declare class KalturaRuleAction {
682
+ static Type: {
683
+ [type: string]: string | number;
684
+ };
685
+ /**
686
+ * @member - The type of the action
687
+ * @type {string|number}
688
+ */
689
+ type: string | number;
690
+ /**
691
+ * @constructor
692
+ * @param {Object} data - The response
693
+ */
694
+ constructor(data: any);
695
+ }
696
+
697
+ declare class KalturaUIConfResponse extends ServiceResult {
698
+ static Type: {
699
+ [type: string]: number;
700
+ };
701
+ static CreationMode: {
702
+ [mode: string]: number;
703
+ };
704
+ description: string;
705
+ objTypeAsString: string;
706
+ width: number;
707
+ height: number;
708
+ htmlParams: string;
709
+ swfUrl: string;
710
+ confFilePath: string;
711
+ confFile: string;
712
+ confFileFeatures: string;
713
+ name: string;
714
+ config: string;
715
+ confVars: string;
716
+ useCdn: boolean;
717
+ tags: string;
718
+ swfUrlVersion: string;
719
+ created: Date;
720
+ updated: Date;
721
+ html5Url: string;
722
+ version: string;
723
+ partnerTags: string;
724
+ objType: number;
725
+ creationMode: number;
726
+ /**
727
+ * @constructor
728
+ * @param {Object} data The json response
729
+ */
730
+ constructor(data: any);
731
+ }
732
+
733
+ declare class KalturaUserEntry {
734
+ /**
735
+ * @member - The last played playlist entry
736
+ * @type {string}
737
+ */
738
+ playlistLastEntryId: string;
739
+ /**
740
+ * @member - The entry referenceId
741
+ * @type {string}
742
+ */
743
+ private entryId;
744
+ /**
745
+ * @member - The entry id
746
+ * @type {number}
747
+ */
748
+ private id;
749
+ /**
750
+ * @member - username
751
+ * @type {string}
752
+ */
753
+ private userId;
754
+ /**
755
+ * @member - partner id
756
+ * @type {number}
757
+ */
758
+ private partnerId;
759
+ /**
760
+ * @member - entry status
761
+ * @type {number}
762
+ */
763
+ private status;
764
+ /**
765
+ * @member - Entry creation date as Unix timestamp (In seconds)
766
+ * @type {number}
767
+ */
768
+ private createdAt;
769
+ /**
770
+ * @member - Entry updation date as Unix timestamp (In seconds)
771
+ * @type {number}
772
+ */
773
+ private updatedAt;
774
+ /**
775
+ * @constructor
776
+ * @param {Object} entry The json response
777
+ */
778
+ constructor(entry: any);
779
+ }
780
+
781
+ declare class KalturaUserEntryListResponse extends ServiceResult {
782
+ /**
783
+ * @member - The total count
784
+ * @type {number}
785
+ */
786
+ private totalCount;
787
+ /**
788
+ * @member - The entries
789
+ * @type {Array<KalturaUserEntry>}
790
+ */
791
+ private entries;
792
+ /**
793
+ * @constructor
794
+ * @param {Object} responseObj The json response
795
+ */
796
+ constructor(responseObj: any);
797
+ }
798
+
799
+ declare type loggerFunctionType = {
800
+ VERSION: string;
801
+ DEBUG: LogLevelObject;
802
+ ERROR: LogLevelObject;
803
+ INFO: LogLevelObject;
804
+ OFF: LogLevelObject;
805
+ TIME: LogLevelObject;
806
+ TRACE: LogLevelObject;
807
+ WARN: LogLevelObject;
808
+ createDefaultHandler: () => any;
809
+ debug: () => any;
810
+ enabledFor: () => any;
811
+ error: () => any;
812
+ get: () => any;
813
+ getLevel: () => any;
814
+ info: () => any;
815
+ log: () => any;
816
+ setHandler: () => any;
817
+ setLevel: () => any;
818
+ time: () => any;
819
+ timeEnd: () => any;
820
+ trace: () => any;
821
+ useDefaults: () => any;
822
+ warn: () => any;
823
+ };
824
+
825
+ declare type LoggerType = {
826
+ getLogger: loggerFunctionType;
827
+ LogLevel: LogLevelType;
828
+ };
829
+
830
+ declare type LogLevelObject = {
831
+ value: number;
832
+ name: string;
833
+ };
834
+
835
+ declare type LogLevelType = {
836
+ [level: string]: LogLevelObject;
837
+ };
838
+
839
+ declare class MediaEntry {
840
+ static Type: {
841
+ [type: string]: string;
842
+ };
843
+ static DvrStatus: {
844
+ [type: string]: number;
845
+ };
846
+ /**
847
+ * @member - entry id
848
+ * @type {string}
849
+ */
850
+ id?: string;
851
+ /**
852
+ * @member - entry name
853
+ * @type {string}
854
+ */
855
+ name?: string;
856
+ /**
857
+ * @member - entry sources
858
+ * @type {MediaSources}
859
+ */
860
+ sources: MediaSources;
861
+ /**
862
+ * @member - entry duration
863
+ * @type {number}
864
+ */
865
+ duration?: number;
866
+ /**
867
+ * @member - entry type
868
+ * @type {string}
869
+ */
870
+ type: string;
871
+ /**
872
+ * @member - entry metadata
873
+ * @type {Object}
874
+ */
875
+ metadata: any;
876
+ /**
877
+ * @member - DVR status
878
+ * @type {number}
879
+ */
880
+ dvrStatus?: number;
881
+ /**
882
+ * @member - media status
883
+ * @type {number}
884
+ */
885
+ status?: number;
886
+ /**
887
+ * @member - media poster
888
+ * @type {string | Array<Object>}
889
+ */
890
+ poster?: string | Poster[];
891
+ /**
892
+ * @member - assetReferenceType
893
+ * @type {string }
894
+ */
895
+ assetReferenceType?: string;
896
+ /**
897
+ * @member - The download URL of the entry.
898
+ * @type {string}
899
+ */
900
+ downloadUrl?: string;
901
+ /**
902
+ * @constructor
903
+ */
904
+ constructor();
905
+ /**
906
+ * Convert class to native js object.
907
+ * @returns {ProviderMediaEntryObject} - The json class object.
908
+ */
909
+ toJSON(): ProviderMediaEntryObject;
910
+ }
911
+
912
+ declare class MediaSource_2 {
913
+ /**
914
+ * @member - media source id
915
+ * @type {string}
916
+ */
917
+ id: string;
918
+ /**
919
+ * @member - media source url
920
+ * @type {string}
921
+ */
922
+ url: string;
923
+ /**
924
+ * @member - media source mimetype
925
+ * @type {string}
926
+ */
927
+ mimetype: string;
928
+ /**
929
+ * @member - media source drm data
930
+ * @type {Array<Drm>}
931
+ */
932
+ drmData?: Array<Drm>;
933
+ /**
934
+ * @member - media source bandwidth
935
+ * @type {number}
936
+ */
937
+ bandwidth?: number;
938
+ /**
939
+ * @member - media source width
940
+ * @type {number}
941
+ */
942
+ width?: number;
943
+ /**
944
+ * @member - media source height
945
+ * @type {number}
946
+ */
947
+ height?: number;
948
+ /**
949
+ * @member - media source label
950
+ * @type {string}
951
+ */
952
+ label?: string;
953
+ /**
954
+ * Convert class to native js object.
955
+ * @returns {ProviderMediaSourceObject} - The json class object.
956
+ */
957
+ toJSON(): ProviderMediaSourceObject;
958
+ }
959
+
960
+ declare class MediaSources {
961
+ /**
962
+ * Progressive download media sources container.
963
+ * @type {Array<MediaSource>}
964
+ * @public
965
+ */
966
+ progressive: Array<MediaSource_2>;
967
+ /**
968
+ * Dash media sources container.
969
+ * @type {Array<MediaSource>}
970
+ * @public
971
+ */
972
+ dash: Array<MediaSource_2>;
973
+ /**
974
+ * Hls media sources container.
975
+ * @type {Array<MediaSource>}
976
+ * @public
977
+ */
978
+ hls: Array<MediaSource_2>;
979
+ image: Array<ImageSource>;
980
+ captions?: Array<PKExternalCaptionObject>;
981
+ /**
982
+ * @constructor
983
+ */
984
+ constructor();
985
+ /**
986
+ * Maps the source to one of the containers according to his media format.
987
+ * @param {MediaSource} source - The source to add to one of the containers.
988
+ * @param {MediaFormat} mediaFormat - The media format of the source.
989
+ * @returns {void}
990
+ */
991
+ map(source: MediaSource_2, mediaFormat?: ProviderMediaFormatType): void;
992
+ /**
993
+ * Convert class to native js object.
994
+ * @returns {ProviderMediaSourcesObject} - The json class object.
995
+ */
996
+ toJSON(): ProviderMediaSourcesObject;
997
+ }
998
+
999
+ export declare const MediaType: {
1000
+ [type: string]: string;
1001
+ };
1002
+
1003
+ declare class MultiRequestBuilder extends RequestBuilder {
1004
+ private static _logger;
1005
+ /**
1006
+ * @memberof - MultiRequestBuilder
1007
+ * @type {Array<RequestBuilder>}
1008
+ */
1009
+ requests: Array<RequestBuilder>;
1010
+ /**
1011
+ * Adds request to requests array
1012
+ * @function add
1013
+ * @param {RequestBuilder} request The request
1014
+ * @returns {MultiRequestBuilder} The multiRequest
1015
+ */
1016
+ add(request: RequestBuilder): MultiRequestBuilder;
1017
+ /**
1018
+ * Executes a multi request
1019
+ * @function execute
1020
+ * @param {boolean} requestsMustSucceed whether all of the requests must succeed or not
1021
+ * @returns {Promise} The multirequest execution promise
1022
+ */
1023
+ execute(requestsMustSucceed?: boolean): Promise<any>;
1024
+ }
1025
+
1026
+ declare class MultiRequestResult {
1027
+ private static _logger;
1028
+ /**
1029
+ * @memberof MultiRequestResult
1030
+ * @type {boolean}
1031
+ */
1032
+ success: boolean;
1033
+ /**
1034
+ * @memberof MultiRequestResult
1035
+ * @type {Object}
1036
+ */
1037
+ results: Array<ServiceResult>;
1038
+ /**
1039
+ * @constructor
1040
+ * @param {Object} response data
1041
+ * @param {boolean} requestsMustSucceed whether all of the requests must succeed
1042
+ */
1043
+ constructor(response: any, requestsMustSucceed?: boolean);
1044
+ }
1045
+
1046
+ declare class OTTProvider extends BaseProvider<OTTProviderMediaInfoObject> {
1047
+ /**
1048
+ * @constructor
1049
+ * @param {ProviderOptionsObject} options - provider options
1050
+ * @param {string} playerVersion - player version
1051
+ */
1052
+ constructor(options: ProviderOptionsObject, playerVersion: string);
1053
+ get env(): any;
1054
+ /**
1055
+ * Gets the backend media config.
1056
+ * @param {OTTProviderMediaInfoObject} mediaInfo - ott media info
1057
+ * @returns {Promise<ProviderMediaConfigObject>} - The provider media config
1058
+ */
1059
+ getMediaConfig(mediaInfo: OTTProviderMediaInfoObject): Promise<ProviderMediaConfigObject>;
1060
+ private _parseDataFromResponse;
1061
+ /**
1062
+ * Gets the playlist config from entry list.
1063
+ * @param {ProviderEntryListObject} entryListInfo - ott entry list info
1064
+ * @returns {Promise<ProviderPlaylistObject>} - The provider playlist config
1065
+ */
1066
+ getEntryListConfig(entryListInfo: ProviderEntryListObject): Promise<ProviderPlaylistObject>;
1067
+ private _parseEntryListDataFromResponse;
1068
+ private _getDefaultSourcesObject;
1069
+ private _getSourcesObject;
1070
+ }
1071
+ export { OTTProvider }
1072
+ export { OTTProvider as Provider }
1073
+
1074
+ export declare type OTTProviderMediaInfoObject = OVPProviderMediaInfoObject & {
1075
+ mediaType: string;
1076
+ contextType: string;
1077
+ protocol?: string;
1078
+ fileIds?: string;
1079
+ streamerType?: string;
1080
+ urlType?: string;
1081
+ adapterData?: AdapterDataConfig;
1082
+ assetReferenceType?: string;
1083
+ formats?: Array<string>;
1084
+ };
1085
+
1086
+ declare type OVPMediaEntryLoaderResponse = {
1087
+ entry: KalturaMediaEntry;
1088
+ playBackContextResult: KalturaPlaybackContext;
1089
+ metadataListResult: KalturaMetadataListResponse;
1090
+ };
1091
+
1092
+ export declare class OVPProvider extends BaseProvider<OVPProviderMediaInfoObject> {
1093
+ private _filterOptionsConfig;
1094
+ /**
1095
+ * @constructor
1096
+ * @param {ProviderOptionsObject} options - provider options
1097
+ * @param {string} playerVersion - player version
1098
+ */
1099
+ constructor(options: ProviderOptionsObject, playerVersion: string);
1100
+ get env(): any;
1101
+ /**
1102
+ * Gets the backend media config object.
1103
+ * @param {OVPProviderMediaInfoObject} mediaInfo - ovp media info
1104
+ * @returns {Promise<ProviderMediaConfigObject>} - The provider media config
1105
+ */
1106
+ getMediaConfig(mediaInfo: OVPProviderMediaInfoObject): Promise<ProviderMediaConfigObject>;
1107
+ doRequest(loaders: Array<RequestLoader>, ks?: string): Promise<any>;
1108
+ private _getEntryRedirectFilter;
1109
+ private _setFilterOptionsConfig;
1110
+ private _parseDataFromResponse;
1111
+ /**
1112
+ * Checks if media is ready for playback (not being imported or converted)
1113
+ * @param {MediaEntry} mediaEntry - the media entry info
1114
+ * @returns {void}
1115
+ */
1116
+ private _verifyMediaStatus;
1117
+ /**
1118
+ * Gets the backend playlist config.
1119
+ * @param {ProviderPlaylistInfoObject} playlistInfo - ovp playlist info
1120
+ * @returns {Promise<ProviderPlaylistObject>} - The provider playlist config
1121
+ */
1122
+ getPlaylistConfig(playlistInfo: ProviderPlaylistInfoObject): Promise<ProviderPlaylistObject>;
1123
+ private _parsePlaylistDataFromResponse;
1124
+ /**
1125
+ * Gets playlist config from entry list.
1126
+ * @param {ProviderEntryListObject} entryListInfo - ovp entry list info
1127
+ * @returns {Promise<ProviderPlaylistObject>} - The provider playlist config
1128
+ */
1129
+ getEntryListConfig(entryListInfo: ProviderEntryListObject): Promise<ProviderPlaylistObject>;
1130
+ private _parseEntryListDataFromResponse;
1131
+ private _getPlaylistObject;
1132
+ private _getDefaultSourcesObject;
1133
+ private _getSourcesObject;
1134
+ }
1135
+
1136
+ export declare type OVPProviderMediaInfoObject = {
1137
+ entryId?: string;
1138
+ referenceId?: string;
1139
+ ks?: string;
1140
+ };
1141
+
1142
+ export declare type PKExternalCaptionObject = {
1143
+ url: string;
1144
+ label: string;
1145
+ language: string;
1146
+ default?: boolean;
1147
+ type?: string;
1148
+ };
1149
+
1150
+ declare class Playlist {
1151
+ /**
1152
+ * @member - playlist id
1153
+ * @type {string}
1154
+ */
1155
+ id?: string;
1156
+ /**
1157
+ * @member - playlist name
1158
+ * @type {string}
1159
+ */
1160
+ name?: string;
1161
+ /**
1162
+ * @member - playlist description
1163
+ * @type {string}
1164
+ */
1165
+ description?: string;
1166
+ /**
1167
+ * @member - playlist poster
1168
+ * @type {string}
1169
+ */
1170
+ poster?: string;
1171
+ /**
1172
+ * @member - playlist items
1173
+ * @type {Array<MediaEntry>}
1174
+ */
1175
+ items: Array<MediaEntry>;
1176
+ /**
1177
+ * @member - playlist last played entry
1178
+ * @type {string}
1179
+ */
1180
+ playlistLastEntryId?: string;
1181
+ constructor();
1182
+ }
1183
+
1184
+ export declare interface Poster {
1185
+ width: number;
1186
+ height: number;
1187
+ url: string;
1188
+ }
1189
+
1190
+ export declare type ProviderDrmDataObject = {
1191
+ licenseUrl: string;
1192
+ scheme: string;
1193
+ certificate?: string;
1194
+ };
1195
+
1196
+ export declare type ProviderEntryListObject = {
1197
+ entries: Array<ProviderMediaInfoObject>;
1198
+ ks?: string;
1199
+ };
1200
+
1201
+ export declare type ProviderEnvConfigObject = {
1202
+ serviceUrl: string;
1203
+ cdnUrl?: string;
1204
+ analyticsServiceUrl?: string;
1205
+ useApiCaptions?: boolean;
1206
+ replaceHostOnlyManifestUrls?: boolean;
1207
+ };
1208
+
1209
+ export declare type ProviderFilterOptionsObject = {
1210
+ redirectFromEntryId?: boolean;
1211
+ };
1212
+
1213
+ export declare type ProviderMediaConfigMetadataObject = {
1214
+ name: string;
1215
+ description?: string;
1216
+ mediaType?: string;
1217
+ contextType?: string;
1218
+ metas?: any;
1219
+ tags?: any;
1220
+ epgId?: string;
1221
+ recordingId?: string;
1222
+ updatedAt?: number;
1223
+ creatorId?: string;
1224
+ views?: number;
1225
+ };
1226
+
1227
+ export declare type ProviderMediaConfigObject = {
1228
+ session: ProviderMediaConfigSessionObject;
1229
+ sources: ProviderMediaConfigSourcesObject;
1230
+ plugins: {
1231
+ [plugin: string]: any;
1232
+ };
1233
+ };
1234
+
1235
+ export declare type ProviderMediaConfigSessionObject = {
1236
+ partnerId: number;
1237
+ uiConfId?: number;
1238
+ ks?: string;
1239
+ isAnonymous?: boolean;
1240
+ };
1241
+
1242
+ export declare type ProviderMediaConfigSourcesObject = {
1243
+ dash: Array<ProviderMediaSourceObject>;
1244
+ hls: Array<ProviderMediaSourceObject>;
1245
+ progressive: Array<ProviderMediaSourceObject>;
1246
+ image: Array<ImageSource>;
1247
+ duration?: number;
1248
+ type: string;
1249
+ id?: string;
1250
+ poster?: string | Array<any>;
1251
+ dvr: boolean;
1252
+ vr?: any;
1253
+ metadata: ProviderMediaConfigMetadataObject;
1254
+ captions?: Array<PKExternalCaptionObject>;
1255
+ downloadUrl?: string;
1256
+ };
1257
+
1258
+ export declare type ProviderMediaEntryObject = {
1259
+ id?: string;
1260
+ name?: string;
1261
+ sources: ProviderMediaSourcesObject;
1262
+ duration?: number;
1263
+ dvrStatus?: number;
1264
+ status?: number;
1265
+ metadata: any;
1266
+ type: string;
1267
+ poster?: string | Poster[];
1268
+ downloadUrl?: string;
1269
+ assetReferenceType?: string;
1270
+ };
1271
+
1272
+ export declare type ProviderMediaFormatType = {
1273
+ name: string;
1274
+ mimeType: string;
1275
+ pathExt: string;
1276
+ };
1277
+
1278
+ export declare type ProviderMediaInfoObject = OVPProviderMediaInfoObject | OTTProviderMediaInfoObject;
1279
+
1280
+ export declare type ProviderMediaSourceObject = {
1281
+ id: string;
1282
+ url: string;
1283
+ mimetype: string;
1284
+ bandwidth?: number;
1285
+ width?: number;
1286
+ height?: number;
1287
+ label?: string;
1288
+ drmData?: Array<ProviderDrmDataObject>;
1289
+ };
1290
+
1291
+ export declare type ProviderMediaSourcesObject = {
1292
+ progressive: Array<ProviderMediaSourceObject>;
1293
+ dash: Array<ProviderMediaSourceObject>;
1294
+ hls: Array<ProviderMediaSourceObject>;
1295
+ image: Array<ImageSource>;
1296
+ captions?: Array<PKExternalCaptionObject>;
1297
+ };
1298
+
1299
+ export declare type ProviderNetworkRetryParameters = {
1300
+ async: boolean;
1301
+ timeout?: number;
1302
+ maxAttempts?: number;
1303
+ };
1304
+
1305
+ export declare type ProviderOptionsObject = {
1306
+ partnerId: number;
1307
+ widgetId?: string;
1308
+ logger?: LoggerType;
1309
+ ks?: string;
1310
+ uiConfId?: number;
1311
+ env?: ProviderEnvConfigObject;
1312
+ networkRetryParameters?: ProviderNetworkRetryParameters;
1313
+ filterOptions?: ProviderFilterOptionsObject;
1314
+ ignoreServerConfig?: boolean;
1315
+ loadThumbnailWithKs?: boolean;
1316
+ };
1317
+
1318
+ export declare class ProviderParser {
1319
+ private static _logger;
1320
+ /**
1321
+ * Returns parsed media entry by given OVP response objects
1322
+ * @function getMediaEntry
1323
+ * @param {string} ks - The ks
1324
+ * @param {number} partnerId - The partner ID
1325
+ * @param {number} uiConfId - The uiConf ID
1326
+ * @param {any} mediaEntryResponse - The media entry response
1327
+ * @returns {MediaEntry} - The media entry
1328
+ * @static
1329
+ * @public
1330
+ */
1331
+ static getMediaEntry(ks: string, partnerId: number, uiConfId: number | undefined, mediaEntryResponse: any): MediaEntry;
1332
+ /**
1333
+ * Returns the url with KS
1334
+ * @function addKsToUrl
1335
+ * @param {String} url - The url to add the KS
1336
+ * @param {string} ks - The ks
1337
+ * @returns {string} - The url with KS
1338
+ * @static
1339
+ * @public
1340
+ */
1341
+ static addKsToUrl(url: string, ks: string): string;
1342
+ /**
1343
+ * Returns parsed playlist by given OVP response objects
1344
+ * @function getPlaylist
1345
+ * @param {any} playlistResponse - The playlist response
1346
+ * @returns {Playlist} - The playlist
1347
+ * @static
1348
+ * @public
1349
+ */
1350
+ static getPlaylist(playlistResponse: any): Playlist;
1351
+ /**
1352
+ * Returns parsed entry list by given OVP response objects
1353
+ * @function getEntryList
1354
+ * @param {any} playlistResponse - response
1355
+ * @returns {Playlist} - The entry list
1356
+ * @static
1357
+ * @public
1358
+ */
1359
+ static getEntryList(playlistResponse: any): EntryList;
1360
+ /**
1361
+ * Returns parsed bumper by given OTT response objects.
1362
+ * @function getBumper
1363
+ * @param {any} assetResponse - The asset response.
1364
+ * @param {string} ks - The ks
1365
+ * @param {number} partnerId - The partner ID
1366
+ * @returns {?Bumper} - The bumper
1367
+ * @static
1368
+ * @public
1369
+ */
1370
+ static getBumper(assetResponse: any, ks: string, partnerId: number): Bumper | undefined;
1371
+ private static _fillBaseData;
1372
+ private static _getEntryType;
1373
+ /**
1374
+ * Returns the parsed sources
1375
+ * @function _getParsedSources
1376
+ * @param {Array<KalturaPlaybackSource>} kalturaSources - The kaltura sources
1377
+ * @param {string} ks - The ks
1378
+ * @param {number} partnerId - The partner ID
1379
+ * @param {number} uiConfId - The uiConf ID
1380
+ * @param {Object} entry - The entry
1381
+ * @param {KalturaPlaybackContext} playbackContext - The playback context
1382
+ * @return {MediaSources} - A media sources
1383
+ * @static
1384
+ * @private
1385
+ */
1386
+ private static _getParsedSources;
1387
+ /**
1388
+ * Returns a parsed adaptive source
1389
+ * @function _parseAdaptiveSource
1390
+ * @param {KalturaPlaybackSource} kalturaSource - A kaltura source
1391
+ * @param {KalturaPlaybackContext} playbackContext - The playback context
1392
+ * @param {string} ks - The ks
1393
+ * @param {number} partnerId - The partner ID
1394
+ * @param {number} uiConfId - The uiConf ID
1395
+ * @param {string} entryId - The entry id
1396
+ * @returns {?MediaSource} - The parsed adaptive kalturaSource
1397
+ * @static
1398
+ * @private
1399
+ */
1400
+ private static _parseAdaptiveSource;
1401
+ /**
1402
+ * Returns parsed progressive sources
1403
+ * @function _parseProgressiveSources
1404
+ * @param {KalturaPlaybackSource} kalturaSource - A kaltura source
1405
+ * @param {KalturaPlaybackContext} playbackContext - The playback context
1406
+ * @param {string} ks - The ks
1407
+ * @param {number} partnerId - The partner ID
1408
+ * @param {number} uiConfId - The uiConf ID
1409
+ * @param {string} entryId - The entry id
1410
+ * @returns {Array<MediaSource>} - The parsed progressive kalturaSources
1411
+ * @static
1412
+ * @private
1413
+ */
1414
+ private static _parseProgressiveSources;
1415
+ /**
1416
+ * Ovp metadata parser
1417
+ * @function _parseMetaData
1418
+ * @param {KalturaMetadataListResponse} metadataList The metadata list
1419
+ * @returns {Object} Parsed metadata
1420
+ * @static
1421
+ * @private
1422
+ */
1423
+ private static _parseMetadata;
1424
+ /**
1425
+ * Returns the base protocol
1426
+ * @function _getBaseProtocol
1427
+ * @returns {string} - The base protocol
1428
+ * @static
1429
+ * @private
1430
+ */
1431
+ private static _getBaseProtocol;
1432
+ static hasBlockAction(response: OVPMediaEntryLoaderResponse): boolean;
1433
+ static getBlockAction(response: OVPMediaEntryLoaderResponse): KalturaRuleAction | undefined;
1434
+ static getErrorMessages(response: OVPMediaEntryLoaderResponse): Array<KalturaAccessControlMessage>;
1435
+ }
1436
+
1437
+ export declare type ProviderPlaybackContextOptions = {
1438
+ mediaProtocol?: string;
1439
+ assetFileIds?: string;
1440
+ context?: string;
1441
+ streamerType?: string;
1442
+ urlType?: string;
1443
+ adapterData?: AdapterDataConfig;
1444
+ };
1445
+
1446
+ export declare type ProviderPlaylistInfoObject = {
1447
+ playlistId: string;
1448
+ ks?: string;
1449
+ };
1450
+
1451
+ declare type ProviderPlaylistItemObject = {
1452
+ sources: ProviderMediaConfigSourcesObject;
1453
+ };
1454
+
1455
+ export declare type ProviderPlaylistMetadataObject = {
1456
+ name: string;
1457
+ description: string;
1458
+ };
1459
+
1460
+ export declare type ProviderPlaylistObject = {
1461
+ id: string;
1462
+ metadata: ProviderPlaylistMetadataObject;
1463
+ poster: string;
1464
+ items: Array<ProviderPlaylistItemObject>;
1465
+ playlistLastEntryId?: string;
1466
+ };
1467
+
1468
+ export declare class RequestBuilder {
1469
+ /**
1470
+ * @member - Service name
1471
+ * @type {string}
1472
+ */
1473
+ service: string;
1474
+ /**
1475
+ * @member - Service action
1476
+ * @type {string}
1477
+ */
1478
+ action: string;
1479
+ /**
1480
+ * @member - Service params
1481
+ * @type {any}
1482
+ */
1483
+ params: any;
1484
+ /**
1485
+ * @memberof - Service headers
1486
+ * @type {Map<string, string>}
1487
+ */
1488
+ headers: Map<string, string>;
1489
+ /**
1490
+ * @memberof - Service URL
1491
+ * @type {string}
1492
+ */
1493
+ url: string;
1494
+ /**
1495
+ * @memberof - Service method (POST,GET,DELETE etc..)
1496
+ * @type {string}
1497
+ */
1498
+ method: string;
1499
+ /**
1500
+ * @memberof - Service tag
1501
+ * @type {string}
1502
+ */
1503
+ tag: string;
1504
+ /**
1505
+ * @memberof - the response headers of the arra
1506
+ * @type {Array<string>}
1507
+ */
1508
+ responseHeaders: Array<string>;
1509
+ /**
1510
+ * @description network retry configuration
1511
+ * @memberof RequestBuilder
1512
+ * @type {ProviderNetworkRetryParameters}
1513
+ */
1514
+ retryConfig: ProviderNetworkRetryParameters;
1515
+ /**
1516
+ * @description number of xhr attempts for the same multi - request.
1517
+ * @memberof RequestBuilder
1518
+ * @type {number}
1519
+ * @private
1520
+ */
1521
+ private _attemptCounter;
1522
+ /**
1523
+ * @description hold the promise result of the XHR request(s) - if all tries fails, it rejects with the error.
1524
+ * @memberof RequestBuilder
1525
+ * @type {Object}
1526
+ * @private
1527
+ */
1528
+ private _requestPromise;
1529
+ /**
1530
+ * @constructor
1531
+ * @param {Map<string, string>} headers The request headers
1532
+ */
1533
+ constructor(headers?: Map<string, string>);
1534
+ /**
1535
+ * Builds restful service URL
1536
+ * @function getUrl
1537
+ * @param {string} serviceUrl - The service base URL
1538
+ * @returns {string} The service URL
1539
+ */
1540
+ getUrl(serviceUrl: string): string;
1541
+ /**
1542
+ * Executes service
1543
+ * @function doHttpRequest
1544
+ * @returns {Promise.<any>} Service response as promise
1545
+ */
1546
+ doHttpRequest(): Promise<any>;
1547
+ private _createXHR;
1548
+ private _getResponseHeaders;
1549
+ private _handleError;
1550
+ private _createError;
1551
+ }
1552
+
1553
+ export declare type RequestLoader = {
1554
+ loader: ILoader;
1555
+ params: any;
1556
+ };
1557
+
1558
+ declare namespace ResponseTypes {
1559
+ export {
1560
+ KalturaBaseEntryListResponse,
1561
+ KalturaMediaEntry,
1562
+ KalturaAccessControlModifyRequestHostRegexAction,
1563
+ KalturaBumper,
1564
+ KalturaFlavorAsset,
1565
+ KalturaMediaEntries,
1566
+ KalturaMetadata,
1567
+ KalturaMetadataListResponse,
1568
+ KalturaPlaybackContext,
1569
+ KalturaPlaybackSource,
1570
+ KalturaPlaylist,
1571
+ KalturaRuleAction,
1572
+ KalturaUIConfResponse,
1573
+ KalturaDrmPlaybackPluginData,
1574
+ KalturaAccessControlMessage,
1575
+ ServiceResult as BaseServiceResult,
1576
+ KalturaUserEntry,
1577
+ KalturaUserEntryListResponse
1578
+ }
1579
+ }
1580
+ export { ResponseTypes }
1581
+
1582
+ declare class ServiceError {
1583
+ /**
1584
+ * @member - The error code
1585
+ * @type {string}
1586
+ */
1587
+ code: string;
1588
+ /**
1589
+ * @member - The error message
1590
+ * @type {string}
1591
+ */
1592
+ message: string;
1593
+ /**
1594
+ * @constructor
1595
+ * @param {string} code - The result code
1596
+ * @param {string} message - The result message
1597
+ */
1598
+ constructor(code: string, message: string);
1599
+ }
1600
+
1601
+ declare class ServiceResult {
1602
+ /**
1603
+ * @member - Is service returned an error
1604
+ * @type {boolean}
1605
+ */
1606
+ hasError: boolean;
1607
+ /**
1608
+ * @member - The service error
1609
+ * @type {ServiceError}
1610
+ */
1611
+ error: ServiceError;
1612
+ /**
1613
+ * @member - The service result data
1614
+ * @type {Object}
1615
+ */
1616
+ data: any;
1617
+ /**
1618
+ * @constructor
1619
+ * @param {Object} response - Service response
1620
+ */
1621
+ constructor(response: any);
1622
+ }
1623
+
1624
+ export { }