@playkit-js/playkit-js-providers 2.39.1 → 2.39.2

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 (130) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/playkit-analytics-service.js +2 -0
  3. package/dist/playkit-analytics-service.js.map +1 -0
  4. package/dist/playkit-bookmark-service.js +2 -0
  5. package/dist/playkit-bookmark-service.js.map +1 -0
  6. package/dist/playkit-ott-provider.js +2 -0
  7. package/dist/playkit-ott-provider.js.map +1 -0
  8. package/dist/playkit-ovp-provider.js +2 -0
  9. package/dist/playkit-ovp-provider.js.map +1 -0
  10. package/dist/playkit-stats-service.js +2 -0
  11. package/dist/playkit-stats-service.js.map +1 -0
  12. package/package.json +1 -1
  13. package/.babelrc +0 -22
  14. package/.editorconfig +0 -10
  15. package/.eslintignore +0 -3
  16. package/.eslintrc.json +0 -26
  17. package/.flowconfig +0 -5
  18. package/.github/ISSUE_TEMPLATE.md +0 -28
  19. package/.github/PULL_REQUEST_TEMPLATE.md +0 -12
  20. package/.github/workflows/run_canary_full_flow.yaml +0 -28
  21. package/.github/workflows/run_prod.yaml +0 -24
  22. package/.github/workflows/run_tests.yaml +0 -24
  23. package/.prettierignore +0 -7
  24. package/.prettierrc +0 -12
  25. package/docs/configuration.md +0 -225
  26. package/karma.conf.js +0 -42
  27. package/src/entities/bumper.js +0 -23
  28. package/src/entities/drm.js +0 -46
  29. package/src/entities/entry-list.js +0 -15
  30. package/src/entities/image-source.js +0 -37
  31. package/src/entities/media-entry.js +0 -96
  32. package/src/entities/media-format.js +0 -46
  33. package/src/entities/media-source.js +0 -70
  34. package/src/entities/media-sources.js +0 -79
  35. package/src/entities/playlist.js +0 -37
  36. package/src/index.html +0 -11
  37. package/src/k-provider/common/base-provider-parser.js +0 -0
  38. package/src/k-provider/common/base-provider.js +0 -110
  39. package/src/k-provider/common/base-service-result.js +0 -57
  40. package/src/k-provider/common/data-loader-manager.js +0 -115
  41. package/src/k-provider/common/multi-request-builder.js +0 -112
  42. package/src/k-provider/common/response-types/kaltura-access-control-message.js +0 -22
  43. package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.js +0 -39
  44. package/src/k-provider/ott/config.js +0 -22
  45. package/src/k-provider/ott/index.js +0 -15
  46. package/src/k-provider/ott/loaders/asset-list-loader.js +0 -68
  47. package/src/k-provider/ott/loaders/asset-loader.js +0 -69
  48. package/src/k-provider/ott/loaders/data-loader-manager.js +0 -15
  49. package/src/k-provider/ott/loaders/session-loader.js +0 -62
  50. package/src/k-provider/ott/provider-parser.js +0 -282
  51. package/src/k-provider/ott/provider.js +0 -242
  52. package/src/k-provider/ott/response-types/kaltura-asset.js +0 -79
  53. package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.js +0 -28
  54. package/src/k-provider/ott/response-types/kaltura-playback-context.js +0 -74
  55. package/src/k-provider/ott/response-types/kaltura-playback-source.js +0 -63
  56. package/src/k-provider/ott/response-types/kaltura-rule-action.js +0 -26
  57. package/src/k-provider/ott/services/asset-service.js +0 -50
  58. package/src/k-provider/ott/services/bookmark/bookmark-service.js +0 -49
  59. package/src/k-provider/ott/services/bookmark/index.js +0 -12
  60. package/src/k-provider/ott/services/ott-service.js +0 -34
  61. package/src/k-provider/ott/services/user-service.js +0 -32
  62. package/src/k-provider/ovp/config.js +0 -28
  63. package/src/k-provider/ovp/external-captions-builder.js +0 -38
  64. package/src/k-provider/ovp/index.js +0 -13
  65. package/src/k-provider/ovp/loaders/data-loader-manager.js +0 -17
  66. package/src/k-provider/ovp/loaders/entry-list-loader.js +0 -69
  67. package/src/k-provider/ovp/loaders/media-entry-loader.js +0 -84
  68. package/src/k-provider/ovp/loaders/playlist-loader.js +0 -66
  69. package/src/k-provider/ovp/loaders/session-loader.js +0 -62
  70. package/src/k-provider/ovp/loaders/ui-config-loader.js +0 -71
  71. package/src/k-provider/ovp/play-source-url-builder.js +0 -60
  72. package/src/k-provider/ovp/provider-parser.js +0 -451
  73. package/src/k-provider/ovp/provider.js +0 -344
  74. package/src/k-provider/ovp/regex-action-handler.js +0 -147
  75. package/src/k-provider/ovp/request-params/base-entry-response-profile.js +0 -29
  76. package/src/k-provider/ovp/response-types/index.js +0 -18
  77. package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.js +0 -36
  78. package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.js +0 -31
  79. package/src/k-provider/ovp/response-types/kaltura-bumper.js +0 -26
  80. package/src/k-provider/ovp/response-types/kaltura-flavor-asset.js +0 -109
  81. package/src/k-provider/ovp/response-types/kaltura-media-entries.js +0 -23
  82. package/src/k-provider/ovp/response-types/kaltura-media-entry.js +0 -141
  83. package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.js +0 -23
  84. package/src/k-provider/ovp/response-types/kaltura-metadata.js +0 -51
  85. package/src/k-provider/ovp/response-types/kaltura-playback-context.js +0 -96
  86. package/src/k-provider/ovp/response-types/kaltura-playback-source.js +0 -90
  87. package/src/k-provider/ovp/response-types/kaltura-playlist.js +0 -35
  88. package/src/k-provider/ovp/response-types/kaltura-rule-action.js +0 -28
  89. package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.js +0 -90
  90. package/src/k-provider/ovp/services/analytics/analytics-service.js +0 -57
  91. package/src/k-provider/ovp/services/analytics/index.js +0 -12
  92. package/src/k-provider/ovp/services/base-entry-service.js +0 -76
  93. package/src/k-provider/ovp/services/meta-data-service.js +0 -30
  94. package/src/k-provider/ovp/services/ovp-service.js +0 -33
  95. package/src/k-provider/ovp/services/playlist-service.js +0 -63
  96. package/src/k-provider/ovp/services/session-service.js +0 -28
  97. package/src/k-provider/ovp/services/stats/index.js +0 -12
  98. package/src/k-provider/ovp/services/stats/stats-service.js +0 -33
  99. package/src/k-provider/ovp/services/ui-conf-service.js +0 -33
  100. package/src/util/clone.js +0 -23
  101. package/src/util/error/category.js +0 -12
  102. package/src/util/error/code.js +0 -79
  103. package/src/util/error/error.js +0 -48
  104. package/src/util/error/severity.js +0 -23
  105. package/src/util/logger.js +0 -108
  106. package/src/util/param.js +0 -45
  107. package/src/util/request-builder.js +0 -187
  108. package/src/util/xml-parser.js +0 -40
  109. package/test/.eslintrc.json +0 -9
  110. package/test/setup/karma.js +0 -5
  111. package/test/setup/load-specs.js +0 -13
  112. package/test/setup/prepare-test-environment.js +0 -17
  113. package/test/src/k-provider/ott/be-data.js +0 -3306
  114. package/test/src/k-provider/ott/media-config-data.js +0 -793
  115. package/test/src/k-provider/ott/provider-parser.spec.js +0 -30
  116. package/test/src/k-provider/ott/provider.spec.js +0 -384
  117. package/test/src/k-provider/ott/services/bookmark-service.spec.js +0 -38
  118. package/test/src/k-provider/ovp/be-data.js +0 -3932
  119. package/test/src/k-provider/ovp/external-captions-builder.spec.js +0 -59
  120. package/test/src/k-provider/ovp/media-config-data.js +0 -1509
  121. package/test/src/k-provider/ovp/playback-sources-data.js +0 -229
  122. package/test/src/k-provider/ovp/provider-parser-data.js +0 -142
  123. package/test/src/k-provider/ovp/provider-parser.spec.js +0 -96
  124. package/test/src/k-provider/ovp/provider.spec.js +0 -1075
  125. package/test/src/k-provider/ovp/regex-action-handler-data.js +0 -794
  126. package/test/src/k-provider/ovp/regex-action-handler.spec.js +0 -93
  127. package/test/src/k-provider/ovp/services/analytics-service.spec.js +0 -62
  128. package/test/src/k-provider/ovp/services/stats-service.spec.js +0 -37
  129. package/test/src/util/param.spec.js +0 -23
  130. package/webpack.config.js +0 -85
@@ -1,229 +0,0 @@
1
- import {KalturaPlaybackSource} from '../../../../src/k-provider/ovp/response-types/kaltura-playback-source';
2
-
3
- export const kalturaSourceProtocolMismatch = new KalturaPlaybackSource({
4
- format: 'applehttp',
5
- deliveryProfileId: 12345,
6
- url: 'myUrl',
7
- protocols: 'http',
8
- flavorIds: '0_mw390bu0,0_bx6b5i2a,0_ao23nl3z,0_lwxuraqs'
9
- });
10
- export const kalturaSourceProtocolMismatchFlavorAssets = [
11
- {
12
- id: '0_mw390bu0',
13
- flavorParamsId: 487041,
14
- fileExt: 'mp4',
15
- bitrate: 474,
16
- width: 640,
17
- height: 360,
18
- frameRate: 30,
19
- isOriginal: false,
20
- isWeb: true,
21
- containerFormat: 'isom',
22
- videoCodecId: 'avc1',
23
- status: 2,
24
- language: 'Undefined'
25
- },
26
- {
27
- id: '0_bx6b5i2a',
28
- flavorParamsId: 487051,
29
- fileExt: 'mp4',
30
- bitrate: 672,
31
- width: 854,
32
- height: 480,
33
- frameRate: 30,
34
- isOriginal: false,
35
- isWeb: true,
36
- containerFormat: 'isom',
37
- videoCodecId: 'avc1',
38
- status: 2,
39
- language: 'Undefined'
40
- },
41
- {
42
- id: '0_ao23nl3z',
43
- flavorParamsId: 487061,
44
- fileExt: 'mp4',
45
- bitrate: 964,
46
- width: 960,
47
- height: 540,
48
- frameRate: 30,
49
- isOriginal: false,
50
- isWeb: true,
51
- containerFormat: 'isom',
52
- videoCodecId: 'avc1',
53
- status: 2,
54
- language: 'Undefined'
55
- },
56
- {
57
- id: '0_lwxuraqs',
58
- flavorParamsId: 487071,
59
- fileExt: 'mp4',
60
- bitrate: 1628,
61
- width: 1280,
62
- height: 720,
63
- frameRate: 30,
64
- isOriginal: false,
65
- isWeb: true,
66
- containerFormat: 'isom',
67
- videoCodecId: 'avc1',
68
- status: 2,
69
- language: 'Undefined'
70
- }
71
- ];
72
- export const kalturaDashSource = new KalturaPlaybackSource({
73
- format: 'mpegdash',
74
- deliveryProfileId: 911,
75
- url: 'myUrl',
76
- protocols: 'http,https',
77
- flavorIds: '0_m131krws,0_5407xm9j,0_xcrwyk2n'
78
- });
79
-
80
- export const kalturaProgressiveSourceNotSecured = new KalturaPlaybackSource({
81
- drm: [],
82
- format: 'url',
83
- deliveryProfileId: 19931,
84
- url: 'myUrl',
85
- protocols: 'http',
86
- flavorIds: '0_5407xm9j'
87
- });
88
-
89
- export const kalturaProgressiveSourceSecured = new KalturaPlaybackSource({
90
- drm: [],
91
- format: 'url',
92
- deliveryProfileId: 19951,
93
- url: 'myUrl',
94
- protocols: 'https',
95
- flavorIds: '0_5407xm9j'
96
- });
97
-
98
- export const kalturaProgressiveMultiProtocol = new KalturaPlaybackSource({
99
- drm: [],
100
- format: 'url',
101
- deliveryProfileId: 19961,
102
- url: 'myUrl',
103
- protocols: 'https,http',
104
- flavorIds: '0_5407xm9j'
105
- });
106
-
107
- export const kalturaProgressiveSourceFlavorAssets = [
108
- {
109
- id: '0_5407xm9j',
110
- flavorParamsId: 5,
111
- fileExt: 'mp4',
112
- bitrate: 1628,
113
- width: 1280,
114
- height: 720,
115
- frameRate: 25,
116
- isOriginal: false,
117
- isWeb: true,
118
- containerFormat: 'isom',
119
- videoCodecId: 'avc1',
120
- status: 2,
121
- language: 'Undefined'
122
- }
123
- ];
124
-
125
- export const kalturaDashSourceFlavorAssets = [
126
- {
127
- id: '0_ep7yqavp',
128
- flavorParamsId: 582941,
129
- fileExt: 'mp4',
130
- bitrate: 65,
131
- width: 0,
132
- height: 0,
133
- frameRate: 0,
134
- isOriginal: false,
135
- isWeb: true,
136
- containerFormat: 'isom',
137
- status: 2,
138
- language: 'English'
139
- },
140
- {
141
- id: '0_1xcr8gnf',
142
- flavorParamsId: 583327,
143
- fileExt: 'mp4',
144
- bitrate: 65,
145
- width: 0,
146
- height: 0,
147
- frameRate: 0,
148
- isOriginal: false,
149
- isWeb: true,
150
- containerFormat: 'isom',
151
- status: 2,
152
- language: 'Spanish'
153
- },
154
- {
155
- id: '0_h65mfj7f',
156
- flavorParamsId: 2,
157
- fileExt: 'mp4',
158
- bitrate: 469,
159
- width: 480,
160
- height: 272,
161
- frameRate: 25,
162
- isOriginal: false,
163
- isWeb: true,
164
- containerFormat: 'isom',
165
- videoCodecId: 'avc1',
166
- status: 2,
167
- language: 'Undefined'
168
- },
169
- {
170
- id: '0_3flmvnwc',
171
- flavorParamsId: 3,
172
- fileExt: 'mp4',
173
- bitrate: 670,
174
- width: 640,
175
- height: 360,
176
- frameRate: 25,
177
- isOriginal: false,
178
- isWeb: true,
179
- containerFormat: 'isom',
180
- videoCodecId: 'avc1',
181
- status: 2,
182
- language: 'Undefined'
183
- },
184
- {
185
- id: '0_m131krws',
186
- flavorParamsId: 4,
187
- fileExt: 'mp4',
188
- bitrate: 964,
189
- width: 640,
190
- height: 360,
191
- frameRate: 25,
192
- isOriginal: false,
193
- isWeb: true,
194
- containerFormat: 'isom',
195
- videoCodecId: 'avc1',
196
- status: 2,
197
- language: 'Undefined'
198
- },
199
- {
200
- id: '0_5407xm9j',
201
- flavorParamsId: 5,
202
- fileExt: 'mp4',
203
- bitrate: 1628,
204
- width: 1280,
205
- height: 720,
206
- frameRate: 25,
207
- isOriginal: false,
208
- isWeb: true,
209
- containerFormat: 'isom',
210
- videoCodecId: 'avc1',
211
- status: 2,
212
- language: 'Undefined'
213
- },
214
- {
215
- id: '0_xcrwyk2n',
216
- flavorParamsId: 6,
217
- fileExt: 'mp4',
218
- bitrate: 2628,
219
- width: 1280,
220
- height: 720,
221
- frameRate: 25,
222
- isOriginal: false,
223
- isWeb: true,
224
- containerFormat: 'isom',
225
- videoCodecId: 'avc1',
226
- status: 2,
227
- language: 'Undefined'
228
- }
229
- ];
@@ -1,142 +0,0 @@
1
- const youtubeMediaEntryData = [
2
- '',
3
- 1740481,
4
- null,
5
- {
6
- entry: {
7
- id: '1234',
8
- status: 2,
9
- referenceId: 'abcdefg',
10
- externalSourceType: 'YouTube',
11
- name: 'test youtube entry',
12
- description: 'youtube description',
13
- dataUrl: 'https://cdnapisec.kaltura.com/p/1111/sp/1111/playManifest/entryId/1234/format/url/protocol/https',
14
- type: 'externalMedia.externalMedia',
15
- entryType: 1,
16
- duration: 0,
17
- poster: 'https://cfvod.kaltura.com/p/1111/sp/1111/thumbnail/entry_id/1234/version/100001',
18
- tags: ''
19
- },
20
- playBackContextResult: {
21
- hasError: false,
22
- data: {
23
- sources: [],
24
- playbackCaptions: [
25
- {
26
- label: 'Hebrew',
27
- format: '1',
28
- language: 'Hebrew',
29
- webVttUrl:
30
- 'https://cfvod.kaltura.com/api_v3/index.php/service/caption_captionasset/action/serveWebVTT/captionAssetId/1_kwipd4sf/segmentIndex/-1/version/1/captions.vtt',
31
- url: 'https://cfvod.kaltura.com/api_v3/index.php/service/caption_captionAsset/action/serve/captionAssetId/1_kwipd4sf',
32
- isDefault: true,
33
- languageCode: 'he',
34
- objectType: 'KalturaCaptionPlaybackPluginData'
35
- }
36
- ],
37
- flavorAssets: [],
38
- actions: [],
39
- messages: [],
40
- objectType: 'KalturaPlaybackContext'
41
- },
42
- sources: [],
43
- actions: [],
44
- messages: [],
45
- flavorAssets: []
46
- },
47
- metadataListResult: {
48
- hasError: false,
49
- data: {
50
- objects: [],
51
- totalCount: 0,
52
- objectType: 'KalturaMetadataListResponse'
53
- },
54
- totalCount: 0
55
- }
56
- }
57
- ];
58
-
59
- const youtubeMediaEntryResult = {
60
- id: '1234',
61
- status: 2,
62
- sources: {
63
- progressive: [
64
- {
65
- id: '1234_youtube',
66
- url: 'abcdefg',
67
- mimetype: 'video/youtube'
68
- }
69
- ],
70
- dash: [],
71
- hls: [],
72
- image: []
73
- },
74
- duration: 0,
75
- metadata: {
76
- entryId: '1234',
77
- description: 'youtube description',
78
- name: 'test youtube entry',
79
- tags: ''
80
- },
81
- type: 'Unknown',
82
- poster: 'https://cfvod.kaltura.com/p/1111/sp/1111/thumbnail/entry_id/1234/version/100001'
83
- };
84
-
85
- const liveMediaEntryData = [
86
- '',
87
- 1740481,
88
- null,
89
- {
90
- entry: {
91
- id: '1234',
92
- status: 2,
93
- referenceId: 'abcdefg',
94
- name: 'test live entry',
95
- description: 'live description',
96
- dataUrl: 'https://cdnapisec.kaltura.com/p/1111/sp/1111/playManifest/entryId/1234/format/url/protocol/https',
97
- type: 7,
98
- entryType: 7,
99
- duration: 0,
100
- poster: 'https://cfvod.kaltura.com/p/1111/sp/1111/thumbnail/entry_id/1234/version/100001',
101
- tags: ''
102
- },
103
- playBackContextResult: {
104
- hasError: false,
105
- data: {
106
- sources: [],
107
- playbackCaptions: [
108
- {
109
- label: 'Hebrew',
110
- format: '1',
111
- language: 'Hebrew',
112
- webVttUrl:
113
- 'https://cfvod.kaltura.com/api_v3/index.php/service/caption_captionasset/action/serveWebVTT/captionAssetId/1_kwipd4sf/segmentIndex/-1/version/1/captions.vtt',
114
- url: 'https://cfvod.kaltura.com/api_v3/index.php/service/caption_captionAsset/action/serve/captionAssetId/1_kwipd4sf',
115
- isDefault: true,
116
- languageCode: 'he',
117
- objectType: 'KalturaCaptionPlaybackPluginData'
118
- }
119
- ],
120
- flavorAssets: [],
121
- actions: [],
122
- messages: [],
123
- objectType: 'KalturaPlaybackContext'
124
- },
125
- sources: [],
126
- actions: [],
127
- messages: [],
128
- flavorAssets: []
129
- },
130
- metadataListResult: {
131
- hasError: false,
132
- data: {
133
- objects: [],
134
- totalCount: 0,
135
- objectType: 'KalturaMetadataListResponse'
136
- },
137
- totalCount: 0
138
- }
139
- }
140
- ];
141
-
142
- export {youtubeMediaEntryData, youtubeMediaEntryResult, liveMediaEntryData};
@@ -1,96 +0,0 @@
1
- import OVPProviderParser from '../../../../src/k-provider/ovp/provider-parser';
2
- import {KalturaPlaybackContext} from '../../../../src/k-provider/ovp/response-types/kaltura-playback-context';
3
- import {
4
- kalturaDashSource,
5
- kalturaProgressiveSourceNotSecured,
6
- kalturaProgressiveSourceSecured,
7
- kalturaProgressiveMultiProtocol,
8
- kalturaProgressiveSourceFlavorAssets,
9
- kalturaDashSourceFlavorAssets,
10
- kalturaSourceProtocolMismatch,
11
- kalturaSourceProtocolMismatchFlavorAssets
12
- } from './playback-sources-data';
13
- import {youtubeMediaEntryResult, youtubeMediaEntryData, liveMediaEntryData} from './provider-parser-data';
14
-
15
- describe('provider parser', function () {
16
- let sandbox;
17
-
18
- beforeEach(() => {
19
- sandbox = sinon.createSandbox();
20
- });
21
-
22
- afterEach(() => {
23
- sandbox.restore();
24
- });
25
- describe('_parseAdaptiveSource', () => {
26
- it('should return a valid adaptive source for a valid input', () => {
27
- const context = new KalturaPlaybackContext({});
28
- context.flavorAssets = kalturaDashSourceFlavorAssets;
29
- const adaptiveSource = OVPProviderParser._parseAdaptiveSource(kalturaDashSource, context, 'myKS', '4321', 1234, 1234);
30
- adaptiveSource.should.exist;
31
- adaptiveSource.id.should.equal('1234_911,mpegdash');
32
- adaptiveSource.mimetype.should.equal('application/dash+xml');
33
- adaptiveSource.url.should.be.a('string');
34
- });
35
- it('should return null if play url is empty', () => {
36
- const context = new KalturaPlaybackContext({});
37
- context.flavorAssets = kalturaSourceProtocolMismatchFlavorAssets;
38
- const adaptiveSource = OVPProviderParser._parseAdaptiveSource(kalturaSourceProtocolMismatch, context, 'myKS', 4321, 1234, 1234);
39
- (adaptiveSource === null).should.be.true;
40
- });
41
- });
42
- describe('_parseProgressiveSource', () => {
43
- it('should return a valid progressive sources when getting separate http/s', () => {
44
- const context = new KalturaPlaybackContext({});
45
- context.flavorAssets = kalturaProgressiveSourceFlavorAssets;
46
- const progressiveSource = OVPProviderParser._getParsedSources(
47
- [kalturaProgressiveSourceNotSecured, kalturaProgressiveSourceSecured],
48
- 'myKS',
49
- 1234,
50
- 1234,
51
- {
52
- id: '1_938734'
53
- },
54
- context
55
- );
56
- progressiveSource.should.exist;
57
- progressiveSource.progressive[0].id.should.equal('0_5407xm9j19951,url');
58
- });
59
- it('should return a valid progressive source for a valid input', () => {
60
- const context = new KalturaPlaybackContext({});
61
- context.flavorAssets = kalturaProgressiveSourceFlavorAssets;
62
- const progressiveSource = OVPProviderParser._getParsedSources(
63
- [kalturaProgressiveMultiProtocol],
64
- 'myKS',
65
- 1234,
66
- 1234,
67
- {
68
- id: '1_938734'
69
- },
70
- context
71
- );
72
- progressiveSource.should.exist;
73
- progressiveSource.progressive[0].id.should.equal('0_5407xm9j19961,url');
74
- });
75
- });
76
-
77
- describe('getMediaEntry', () => {
78
- it('should return a valid youtube source for a valid input', () => {
79
- const mediaEntry = OVPProviderParser.getMediaEntry(...youtubeMediaEntryData);
80
- const mediaEntryObject = mediaEntry.toJSON();
81
- Object.keys(mediaEntryObject).forEach(key => mediaEntryObject[key] === undefined && delete mediaEntryObject[key]);
82
- mediaEntryObject.should.deep.equal(youtubeMediaEntryResult);
83
- });
84
-
85
- it('should add external captions to the media sources', () => {
86
- const mediaEntry = OVPProviderParser.getMediaEntry(...youtubeMediaEntryData);
87
- mediaEntry.sources.should.haveOwnProperty('captions');
88
- mediaEntry.sources.captions.length.should.equal(1);
89
- });
90
-
91
- it('should not add external captions to live media', () => {
92
- const mediaEntry = OVPProviderParser.getMediaEntry(...liveMediaEntryData);
93
- mediaEntry.sources.should.not.haveOwnProperty('captions');
94
- });
95
- });
96
- });