@castlabs/prestoplay 6.30.0 → 6.30.1-beta.1

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 (65) hide show
  1. package/CHANGELOG.md +218 -179
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +6 -6
  5. package/cjs/cl.cast.js +123 -123
  6. package/cjs/cl.conviva.js +31 -31
  7. package/cjs/cl.core.js +570 -568
  8. package/cjs/cl.crypto.js +8 -8
  9. package/cjs/cl.dash.js +95 -92
  10. package/cjs/cl.externs.js +10 -0
  11. package/cjs/cl.freewheel.js +26 -25
  12. package/cjs/cl.hls.js +77 -77
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +30 -30
  15. package/cjs/cl.ima.js +26 -25
  16. package/cjs/cl.mediatailor.js +3 -3
  17. package/cjs/cl.mse.js +334 -334
  18. package/cjs/cl.muxdata.js +12 -12
  19. package/cjs/cl.onboard.js +4 -4
  20. package/cjs/cl.persistent.js +14 -14
  21. package/cjs/cl.playlist.js +6 -6
  22. package/cjs/cl.simid.js +16 -16
  23. package/cjs/cl.smooth.js +71 -71
  24. package/cjs/cl.thumbnails.js +25 -25
  25. package/cjs/cl.tizen.js +68 -68
  26. package/cjs/cl.ttml.js +29 -29
  27. package/cjs/cl.verimatrix.js +5 -5
  28. package/cjs/cl.vimond.js +10 -10
  29. package/cjs/cl.vr.js +19 -19
  30. package/cjs/cl.vtt.js +14 -14
  31. package/cjs/cl.yospace.js +3 -3
  32. package/cjs/cl.youbora.js +38 -38
  33. package/cl.adobe.js +3 -3
  34. package/cl.airplay.js +3 -3
  35. package/cl.broadpeak.js +6 -6
  36. package/cl.cast.js +97 -96
  37. package/cl.conviva.js +26 -26
  38. package/cl.core.js +443 -443
  39. package/cl.crypto.js +8 -8
  40. package/cl.dash.js +87 -84
  41. package/cl.externs.js +10 -0
  42. package/cl.freewheel.js +20 -19
  43. package/cl.hls.js +82 -82
  44. package/cl.hlssmpte.js +5 -5
  45. package/cl.htmlcue.js +26 -26
  46. package/cl.ima.js +19 -19
  47. package/cl.mediatailor.js +2 -2
  48. package/cl.mse.js +286 -289
  49. package/cl.muxdata.js +12 -12
  50. package/cl.onboard.js +4 -4
  51. package/cl.persistent.js +10 -10
  52. package/cl.playlist.js +5 -5
  53. package/cl.simid.js +14 -14
  54. package/cl.smooth.js +62 -60
  55. package/cl.thumbnails.js +17 -17
  56. package/cl.tizen.js +55 -55
  57. package/cl.ttml.js +22 -22
  58. package/cl.verimatrix.js +4 -4
  59. package/cl.vimond.js +8 -8
  60. package/cl.vr.js +15 -15
  61. package/cl.vtt.js +12 -12
  62. package/cl.yospace.js +3 -3
  63. package/cl.youbora.js +30 -30
  64. package/package.json +2 -2
  65. package/typings.d.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ # 6.30.1
2
+
3
+ ## Changes
4
+
5
+ * Simplify ad management API. Ads can now be controlled by calling methods of `clpp.Player`
6
+ such as `play()`, `pause()`, `setVolume()` and `setMuted()`. The corresponding methods
7
+ of `clpp.ads.IAdsManager` are now deprecated (`resume()`, `pause()`, `setVolume()`,
8
+ `getVolume()`).
9
+ * Fix issues with controlling volume of ads (Freewheel, HLS interstitials, IMA).
10
+ * Fix issues with controlling volume by Chromecast sender.
11
+ * Update the minimum supported version of mux.js to 6.0.0.
12
+ * Please upgrade mux.js to major version 6.
13
+ * Player surface configuration option `webOSStartupPatch` is set to `false` by default.
14
+ * For more details refer to: https://demo.castlabs.com/docs/surface#webos-startup-patch
15
+
1
16
  # 6.30.0
2
17
 
3
18
  ## New Features
@@ -9,11 +24,11 @@
9
24
 
10
25
  * Fix `disableCustomPlayback` configuration option of IMA SDK Plugin on webOS devices which can be used to disable the plugin.
11
26
  * Fix support for VAST in IMA SDK plugin on SmartTV Devices.
12
- * Add `isVast` configuration option of IMA SDK Plugin for custom playback with single video element when using VAST ads.
13
- This option needs to be set to `true` in order for VAST to work on Smart TVs.
27
+ * Add `isVast` configuration option of IMA SDK Plugin for custom playback with single video element when using VAST ads.
28
+ This option needs to be set to `true` in order for VAST to work on Smart TVs.
14
29
  See https://demo.castlabs.com/docs/advertising#ima-sdk-on-smart-tvs
15
30
  * Fix sending of custom messages from Chromecast receiver to sender.
16
- * If you send an object `clpp.cast.CastProxy#addMessageListener(listener)`
31
+ * If you send an object `clpp.cast.CastProxy#addMessageListener(listener)`
17
32
  listener now receives the object instead of a serialized string version of it
18
33
  as it did previously.
19
34
  * Fix ads API on Chromecast sender for ad playback on receiver. Specifically fix
@@ -59,7 +74,7 @@ For more information, see https://demo.castlabs.com/docs/drm#drm-with-drmtoday-o
59
74
  ## New Features
60
75
 
61
76
  * Add support for Queuing on Chromecast.
62
- * For more details refer to docs https://demo.castlabs.com/docs/cast#queuing
77
+ * For more details refer to docs https://demo.castlabs.com/docs/cast#queuing
63
78
  * Add CMCD support (version 1).
64
79
 
65
80
  ## Changes
@@ -75,21 +90,21 @@ For more information, see https://demo.castlabs.com/docs/drm#drm-with-drmtoday-o
75
90
  ## Changes
76
91
 
77
92
  * Request URI used in network request and response modifiers is not modified.
78
- * If the URI was specified without scheme, it stays without scheme.
93
+ * If the URI was specified without scheme, it stays without scheme.
79
94
 
80
95
  # 6.26.0
81
96
 
82
97
  ## New Features
83
98
 
84
99
  * Add support for audio and subtitle track language in NPAW v7 plugin.
85
- * The language information is sent in the ping request.
100
+ * The language information is sent in the ping request.
86
101
  * Add support for custom label for disabled subtitles in NPAW v7 plugin.
87
- * The label can be configured via `youbora.disabledSubtitlesLabel` config option.
102
+ * The label can be configured via `youbora.disabledSubtitlesLabel` config option.
88
103
 
89
104
  ## Changes
90
105
 
91
106
  * Update docs of IMA Plugin stating limitations on SmartTV devices.
92
- * Refer to the [IMA Plugin](https://demo.castlabs.com/docs/advertising#ima-sdk-smarttv-support) documentation for more information.
107
+ * Refer to the [IMA Plugin](https://demo.castlabs.com/docs/advertising#ima-sdk-smarttv-support) documentation for more information.
93
108
  * Fix an null pointer issue which occurs when a dynamic manifest turns static.
94
109
 
95
110
  # 6.25.2
@@ -109,7 +124,7 @@ For more information, see https://demo.castlabs.com/docs/drm#drm-with-drmtoday-o
109
124
 
110
125
  * Add config option `streaming.gapTolerance`.
111
126
  * Add support for IMA SDK Plugin on webOS devices.
112
- * Refer to the [IMA Plugin](https://demo.castlabs.com/#/docs/advertising#ima-sdk-smarttv-support) documentation for more information.
127
+ * Refer to the [IMA Plugin](https://demo.castlabs.com/#/docs/advertising#ima-sdk-smarttv-support) documentation for more information.
113
128
 
114
129
  ## Changes
115
130
 
@@ -126,7 +141,7 @@ For more information, see https://demo.castlabs.com/docs/drm#drm-with-drmtoday-o
126
141
  * Fix an issues with upper case values of `Content-Type` HTTP header in media
127
142
  segment responses in HLS.
128
143
  * Fix positioning of WebVTT subtitles based on the base direction of text.
129
- * `align:start` and `align:end` in WebVTT now respect the base direction.
144
+ * `align:start` and `align:end` in WebVTT now respect the base direction.
130
145
 
131
146
  # 6.25.0
132
147
 
@@ -162,7 +177,7 @@ For more information, see https://demo.castlabs.com/docs/drm#drm-with-drmtoday-o
162
177
  * Add `drmResolver` config option which can be used to provide DRM configuration
163
178
  dynamically based on data from the manifest.
164
179
  * Add ability to retrieve instance of NPAW SDK `getNpawPlugin`.
165
- * Can be used e.g. to set custom options using `setAnalyticsOptions`, for more details refer to [NPAW v7 docs](https://demo.castlabs.com/#/docs?q=clpp.npaw.NpawPlugin#getNpawPlugin).
180
+ * Can be used e.g. to set custom options using `setAnalyticsOptions`, for more details refer to [NPAW v7 docs](https://demo.castlabs.com/#/docs?q=clpp.npaw.NpawPlugin#getNpawPlugin).
166
181
 
167
182
  # 6.22.0
168
183
 
@@ -202,14 +217,14 @@ Changes in this release might be breaking for some very specific use cases:
202
217
  request of the MSE player.
203
218
  * Add support for the `_HLS_primary_id` query param for HLS interstitials.
204
219
  * Add integration for NPAW SDK v7 (Youbora).
205
- * Supported version 7.3.4, for more details refer to [NPAW v7 docs](https://demo.castlabs.com/#/docs/analytics#npaw-v7-youbora).
220
+ * Supported version 7.3.4, for more details refer to [NPAW v7 docs](https://demo.castlabs.com/#/docs/analytics#npaw-v7-youbora).
206
221
  * Add support for License Acquisition URL elements `<dashif:Laurl>`
207
222
  in DASH.
208
223
 
209
224
  ## Changes
210
225
 
211
226
  * Switch to using default Shaka version instead of fixed version 4.3.4 for CC receiver.
212
- * CAF's version of Shaka Player now follows default.
227
+ * CAF's version of Shaka Player now follows default.
213
228
  * Fix support for License Acquisition URL elements `<urn:microsoft:laurl>`
214
229
  in Widevine-protected DASH.
215
230
  * Fix an issue with ABR bandwidth estimation.
@@ -228,10 +243,10 @@ Changes in this release might be breaking for some very specific use cases:
228
243
  ## New Features
229
244
 
230
245
  * On Safari with native player improve support for timeline cues:
231
- * Support cues in live streams.
232
- * Expose client-defined attributes, i.e. attributes with the prefix "X-"
246
+ * Support cues in live streams.
247
+ * Expose client-defined attributes, i.e. attributes with the prefix "X-"
233
248
  coming from EXT-X-DATERANGE.
234
- * Correctly trigger `TIMELINE_CUE_ENTER` and `TIMELINE_CUE_EXIT` events
249
+ * Correctly trigger `TIMELINE_CUE_ENTER` and `TIMELINE_CUE_EXIT` events
235
250
  in case of overlapping cues and cues with unknown duration.
236
251
 
237
252
  ## Changes
@@ -252,10 +267,10 @@ Changes in this release might be breaking for some very specific use cases:
252
267
  ## New Features
253
268
 
254
269
  * Add support for CMSD (Common Media Server Data)
255
- * When `CMSD-Dynamic` or `CMSD-Static` header is parsed from network request, player now emits event `clpp.events.CMSD_EVENT`.
256
- * For details refer to [CMSD Event](https://demo.castlabs.com/#/docs?q=clpp.events#CMSD_EVENT).
257
- * MSE player now also supports CMSD headers **estimatedThroughput** and **maxSuggestedBitrate** to drive its ABR decisions.
258
- * For details refer to [config.abr.useCmsd](https://demo.castlabs.com/#/docs?q=clpp#AbrConfiguration).
270
+ * When `CMSD-Dynamic` or `CMSD-Static` header is parsed from network request, player now emits event `clpp.events.CMSD_EVENT`.
271
+ * For details refer to [CMSD Event](https://demo.castlabs.com/#/docs?q=clpp.events#CMSD_EVENT).
272
+ * MSE player now also supports CMSD headers **estimatedThroughput** and **maxSuggestedBitrate** to drive its ABR decisions.
273
+ * For details refer to [config.abr.useCmsd](https://demo.castlabs.com/#/docs?q=clpp#AbrConfiguration).
259
274
  * Add `clpp.events.TIMELINE_CUES_CHANGED` event indicating a change in timeline cues.
260
275
  * Support EXT-X-DATERANGE augmentation in HLS.
261
276
  * Add Chromecast Web Receiver methods `setContentMetadata`, `updateContentMetadata` supporting set or
@@ -269,7 +284,7 @@ Changes in this release might be breaking for some very specific use cases:
269
284
  * Fix a problem with text track selection when `preferForcedSubtitles` is configured.
270
285
  * Fix typescript typings of utility functions.
271
286
  * For Low Latency streams and `lowLatencyMode` the streaming configuration `ignoreDrift` is now `false` by default
272
- * `ignoreDrift` could cause additional startup delay for some streams. In case you still want to disable drift detection for
287
+ * `ignoreDrift` could cause additional startup delay for some streams. In case you still want to disable drift detection for
273
288
  low latency streams, set `ignoreDrift` of [streaming configuration](https://demo.castlabs.com/#/docs?q=clpp#StreamingConfiguration).
274
289
 
275
290
  # 6.18.0
@@ -299,8 +314,8 @@ Changes in this release might be breaking for some very specific use cases:
299
314
  ## Known Issues
300
315
 
301
316
  * Breaking change of latest [Google Cast SDK Web Receiver version 3.0.0137](https://developers.google.com/cast/docs/release-notes#september-4,-2024-november-1,-2024)
302
- * Causes a regression in audio and subtitle track selection when casting to Chromecast devices. Tracks appear disabled during the casting session.
303
- * Affects all SDK versions.
317
+ * Causes a regression in audio and subtitle track selection when casting to Chromecast devices. Tracks appear disabled during the casting session.
318
+ * Affects all SDK versions.
304
319
 
305
320
  # 6.17.1
306
321
 
@@ -323,7 +338,7 @@ Changes in this release might be breaking for some very specific use cases:
323
338
  * Fix a corner case with HLS VOD streams in which `EXT-X-DATE-RANGE` tags are
324
339
  not being parsed when program date time is equal to the start of Unix epoch.
325
340
  * Add support for `EventStream@presentationTimeOffset`
326
- * If present, `presentationTimeOffset` attribute is now used to calculate the presentation time of Events.
341
+ * If present, `presentationTimeOffset` attribute is now used to calculate the presentation time of Events.
327
342
 
328
343
  # 6.16.0
329
344
 
@@ -332,7 +347,7 @@ Changes in this release might be breaking for some very specific use cases:
332
347
  * Add support for smooth codec switching in multi-codec AdaptationSet scenarios.
333
348
  * This support is disabled by default and can be enabled by configuring `config.mediaSource.codecSwitchingStrategy` to `clpp.CodecSwitchingStrategy.SMOOTH`.
334
349
  * Smooth codec switching is only supported on platforms compatible with `SourceBuffer.changeType()` and is currently limited to sources that do not require transmuxing. It's also disabled by default on platforms known to have issues with `SourceBuffer.changeType()`; currently, this applies to Tizen 6.0 and 6.5 though the list may be expanded in the future.
335
- * For more details, refer to [clpp.MediaSourceConfiguration](https://demo.castlabs.com/#/docs?q=clpp#MediaSourceConfiguration)
350
+ * For more details, refer to [clpp.MediaSourceConfiguration](https://demo.castlabs.com/#/docs?q=clpp#MediaSourceConfiguration)
336
351
  and [clpp.CodecSwitchingStrategy](https://demo.castlabs.com/#/docs?q=clpp#CodecSwitchingStrategy).
337
352
 
338
353
  ## Changes
@@ -352,7 +367,7 @@ Changes in this release might be breaking for some very specific use cases:
352
367
  coincide with a gap between media segments.
353
368
  * Fix an issue with playback of certain multi-period MPEG-TS HLS streams.
354
369
  * Fix support of VAST Ads of IMA SDK Plugin.
355
- * VAST Ads are now supported and scheduled as a pre-roll.
370
+ * VAST Ads are now supported and scheduled as a pre-roll.
356
371
 
357
372
  # 6.14.1
358
373
 
@@ -369,42 +384,42 @@ Changes in this release might be breaking for some very specific use cases:
369
384
  ## New Features
370
385
 
371
386
  * Add support for MPEG-DASH trick mode Adaptation Sets (i.e. those marked with an EssentialProperty descriptor with URL "http://dashif.org/guide-lines/trickmode").
372
- * If such Adaptation Sets are present in the MPD, they are listed as separate [Tracks](https://demo.castlabs.com/#/docs?q=clpp.Track) by the [clpp.TrackManager#getVideoTracks()](https://demo.castlabs.com/#/docs?q=clpp.TrackManager#getVideoTracks) and marked with the `clpp.Track.trickPlay` flag set to `true`.
373
- * These tracks and all their renditions are available only for manual selection using methods from [clpp.TrackManager](https://demo.castlabs.com/#/docs?q=clpp.TrackManager).
374
- * At the moment, trick play tracks are completely ignored by ABR, meaning their renditions are not considered for automatic selection when the normal track associated with this trick play track is active. It is also not possible to enable ABR when the currently active track is a trick play track.
375
- * For details, refer to the [clpp.Track.trickPlay](https://demo.castlabs.com/#/docs?q=clpp.Track#trickPlay) documentation.
387
+ * If such Adaptation Sets are present in the MPD, they are listed as separate [Tracks](https://demo.castlabs.com/#/docs?q=clpp.Track) by the [clpp.TrackManager#getVideoTracks()](https://demo.castlabs.com/#/docs?q=clpp.TrackManager#getVideoTracks) and marked with the `clpp.Track.trickPlay` flag set to `true`.
388
+ * These tracks and all their renditions are available only for manual selection using methods from [clpp.TrackManager](https://demo.castlabs.com/#/docs?q=clpp.TrackManager).
389
+ * At the moment, trick play tracks are completely ignored by ABR, meaning their renditions are not considered for automatic selection when the normal track associated with this trick play track is active. It is also not possible to enable ABR when the currently active track is a trick play track.
390
+ * For details, refer to the [clpp.Track.trickPlay](https://demo.castlabs.com/#/docs?q=clpp.Track#trickPlay) documentation.
376
391
  * Add support for forced subtitles.
377
- * For text tracks recognized as forced [clpp.Track.kind](https://demo.castlabs.com/#/docs?q=clpp.Track#kind) is set to `"forced"`.
378
- * Added [config.preferForcedSubtitles](https://demo.castlabs.com/#/docs?q=clpp.PlayerConfiguration#preferForcedSubtitles) to prioritize forced subtitles over other text track types when `config.preferredTextLanguage` is also provided.
379
- * If `config.preferredTextLanguage` is not specified, but the `config.preferForcedSubtitles` is set to `true` we first try to fallback to the language from the currently selected audio track. If there is no audio track, then we fallback to the language of the video track as a last resort.
380
- * We assume that the forced subtitles are a subset of the full subtitles for the same language, i.e., all forced subtitles events should be included within the corresponding full subtitles. When the normal subtitles are being disabled, the corresponding forced subtitles in the same language are enabled automatically.
392
+ * For text tracks recognized as forced [clpp.Track.kind](https://demo.castlabs.com/#/docs?q=clpp.Track#kind) is set to `"forced"`.
393
+ * Added [config.preferForcedSubtitles](https://demo.castlabs.com/#/docs?q=clpp.PlayerConfiguration#preferForcedSubtitles) to prioritize forced subtitles over other text track types when `config.preferredTextLanguage` is also provided.
394
+ * If `config.preferredTextLanguage` is not specified, but the `config.preferForcedSubtitles` is set to `true` we first try to fallback to the language from the currently selected audio track. If there is no audio track, then we fallback to the language of the video track as a last resort.
395
+ * We assume that the forced subtitles are a subset of the full subtitles for the same language, i.e., all forced subtitles events should be included within the corresponding full subtitles. When the normal subtitles are being disabled, the corresponding forced subtitles in the same language are enabled automatically.
381
396
 
382
397
  ## Changes
383
398
 
384
399
  * Fix issues with live presentation delay when `lowLatencyMode` is `true`.
385
- * Fix `suggestedPresentationDelay` config option.
386
- * Make sure presentation delay gets set to 0 by default in DASH.
400
+ * Fix `suggestedPresentationDelay` config option.
401
+ * Make sure presentation delay gets set to 0 by default in DASH.
387
402
  * Fix support for `timescale` attribute of thumbnail streams in DASH.
388
403
  * Add Mux Data Plugin method to send custom events using `emit` method
389
- * For details refer to [Mux Data Analytics Docs](https://demo.castlabs.com/#/docs/analytics#custom-events)
404
+ * For details refer to [Mux Data Analytics Docs](https://demo.castlabs.com/#/docs/analytics#custom-events)
390
405
  * Upgrade supported version of Broadpeak Plugin.
391
- * Minimum recommended version is now v5.0.1-4c69e21. Refer to Analytics Documentation for details.
406
+ * Minimum recommended version is now v5.0.1-4c69e21. Refer to Analytics Documentation for details.
392
407
  * Add support for [session precache](https://delivery-platform.broadpeak.tv/smartlib/public/advanced-features/precache/) to the Broadpeak plugin.
393
- * This fixes issues with client side ad insertion with pre-rolls.
408
+ * This fixes issues with client side ad insertion with pre-rolls.
394
409
  * Fix CMSD header parsing to be case insensitive.
395
410
  * Fix `clpp.SpeedUpMode` enum missing `DECODER` value.
396
411
  * Update minimum recommended version of Mux Data SDK to 4.30.0
397
- * Refer to [Mux Data Analytics Documentation](https://demo.castlabs.com/#/docs/analytics#mux-data) for details.
412
+ * Refer to [Mux Data Analytics Documentation](https://demo.castlabs.com/#/docs/analytics#mux-data) for details.
398
413
 
399
414
  # 6.13.0
400
415
 
401
416
  ## New Features
402
417
 
403
418
  * Add configuration options `cl.api.TrickPlayConfiguration` to control the behavior of trick play.
404
- * `trickPlay.speedUpMode` to control the mode of trick play `decoder` or `seek`
405
- * `trickPlay.preferTrickPlayTracks` to control the default selection of trick play tracks
406
- * `setPlaybackRate` method now accept optional `speedUpMode` parameter [clpp.Player docs](https://demo.castlabs.com/#/docs?q=clpp.Player#setPlaybackRate).
407
- * For details refer to [trick play configuration](https://demo.castlabs.com/#/docs?q=clpp#TrickPlayConfiguration).
419
+ * `trickPlay.speedUpMode` to control the mode of trick play `decoder` or `seek`
420
+ * `trickPlay.preferTrickPlayTracks` to control the default selection of trick play tracks
421
+ * `setPlaybackRate` method now accept optional `speedUpMode` parameter [clpp.Player docs](https://demo.castlabs.com/#/docs?q=clpp.Player#setPlaybackRate).
422
+ * For details refer to [trick play configuration](https://demo.castlabs.com/#/docs?q=clpp#TrickPlayConfiguration).
408
423
 
409
424
  ## Changes
410
425
 
@@ -415,17 +430,17 @@ Changes in this release might be breaking for some very specific use cases:
415
430
  * Emit recoverable error events from player in case thumbnails fail to load
416
431
  or wrong configuration is used.
417
432
  * Improve behavior of Trick Play:
418
- * Improve fallback to seek mode when native trick play is not supported by platform (negatives rates, high speed trick play modes).
419
- * Added workaround for Tizen devices, fixing situation when reverse rate played frames forward during trick play.
433
+ * Improve fallback to seek mode when native trick play is not supported by platform (negatives rates, high speed trick play modes).
434
+ * Added workaround for Tizen devices, fixing situation when reverse rate played frames forward during trick play.
420
435
 
421
436
  # 6.12.0
422
437
 
423
438
  ## New Features
424
439
 
425
440
  * Spatial audio detection and configuration:
426
- * Added detection of E-AC3 JOC audio content using DD+JOC signaling.
427
- * Added `clpp.Track.spatialAudio` value to indicate spatial audio content.
428
- * Added `config.preferSpatialAudio` to support manual prioritization of spatial audio.
441
+ * Added detection of E-AC3 JOC audio content using DD+JOC signaling.
442
+ * Added `clpp.Track.spatialAudio` value to indicate spatial audio content.
443
+ * Added `config.preferSpatialAudio` to support manual prioritization of spatial audio.
429
444
 
430
445
  ## Changes
431
446
 
@@ -435,7 +450,7 @@ Changes in this release might be breaking for some very specific use cases:
435
450
  * Fixed issue with typescript types where namespace functions were not exposed
436
451
  * Fixed issue with ESM module dependencies where required files were not automatically imported
437
452
  * Fixed issue of fetching extra media segment to account for possible positive drift
438
- * Added detection of positive drift (difference between manifest and media segment time) and fetch extra media segment only when needed.
453
+ * Added detection of positive drift (difference between manifest and media segment time) and fetch extra media segment only when needed.
439
454
 
440
455
  # 6.11.0
441
456
 
@@ -468,8 +483,8 @@ Changes in this release might be breaking for some very specific use cases:
468
483
  ## New Features
469
484
 
470
485
  * Add Tracks original language value from manifest
471
- * Extend `clpp.Track` with `clpp.Track.originalLanguage` value which contains the original language string as it is present in manifest.
472
- * For details refer to [Track](https://demo.castlabs.com/#/docs?q=clpp.Track).
486
+ * Extend `clpp.Track` with `clpp.Track.originalLanguage` value which contains the original language string as it is present in manifest.
487
+ * For details refer to [Track](https://demo.castlabs.com/#/docs?q=clpp.Track).
473
488
  * Add support for the `EXT-X-PROGRAM-DATE-TIME` tag in live HLS to the MSE
474
489
  player. If the tag is present its value is now accessible via
475
490
  `player.getTimelineOffset().seekRangeStartDateTime`. The timeline offset can
@@ -486,17 +501,17 @@ Changes in this release might be breaking for some very specific use cases:
486
501
  * Add support for fetching decryption keys from DRMtoday for
487
502
  clear-key-encrypted HLS content (`METHOD=AES-128`).
488
503
  * Add support for Widevine EME configuration options
489
- * `persistentState` can be configured via the boolean option
504
+ * `persistentState` can be configured via the boolean option
490
505
  `drm.customData.widevinePersistentStateRequired`
491
- * `distinctiveIdentifier` can be configured via the boolean option
506
+ * `distinctiveIdentifier` can be configured via the boolean option
492
507
  `drm.customData.widevineDistinctiveIdentifierRequired`
493
508
 
494
509
 
495
510
  ## Changes
496
511
 
497
512
  * Added `PlayerSurface` option to control webOS long startup patch `webOSStartupPatch`
498
- * This patch could cause unexpected behavior for specific player setups.
499
- * For details refer to [PlayerSurface Configuration](https://demo.castlabs.com/#/docs/surface#disabling-webos-startup-optimization).
513
+ * This patch could cause unexpected behavior for specific player setups.
514
+ * For details refer to [PlayerSurface Configuration](https://demo.castlabs.com/#/docs/surface#disabling-webos-startup-optimization).
500
515
  * Fix a glitch where WebVTT XML tags were being displayed along with the subtitle
501
516
  text in case of WebVTT subtitles embedded inside of MP4 media files.
502
517
  * Fix an issue of the `HtmlCueComponent` where some subtitle cues were not begin
@@ -519,10 +534,10 @@ Changes in this release might be breaking for some very specific use cases:
519
534
  ## Changes
520
535
 
521
536
  * HLS fixes:
522
- * Fix support for URIs with missing file extensions in discontinuous HLS.
523
- * Fix sporadic crashes in discontinuous live streams which contain
537
+ * Fix support for URIs with missing file extensions in discontinuous HLS.
538
+ * Fix sporadic crashes in discontinuous live streams which contain
524
539
  thumbnails or subtitles.
525
- * Fix playback of MP4 streams with large baseMediaDecodeTime values.
540
+ * Fix playback of MP4 streams with large baseMediaDecodeTime values.
526
541
  * Additional Meta-Data such as accessibility information are no longer
527
542
  fetched by default with the Safari Native Player implementation. This
528
543
  behavior can be re-enabled by setting `enableMetadata` to `true` in the
@@ -545,7 +560,7 @@ Changes in this release might be breaking for some very specific use cases:
545
560
  to the CDM to avoid license requests errors. This option allows to disable this behavior
546
561
  and pass the init data even if we couldn't parse it.
547
562
  * Add IMA SDK support to MSE player on Tizen devices.
548
- * **Warning!** There are limitations related to analytics reporting for IMA SDK Plugin and SmartTV devices. Refer to the [IMA Plugin](https://demo.castlabs.com/#/docs/advertising#ima-sdk-smarttv-support) documentation for more information.
563
+ * **Warning!** There are limitations related to analytics reporting for IMA SDK Plugin and SmartTV devices. Refer to the [IMA Plugin](https://demo.castlabs.com/#/docs/advertising#ima-sdk-smarttv-support) documentation for more information.
549
564
  * Add Mux Data Plugin support for [Bandwidth Throughput Events](https://docs.mux.com/guides/mux-data-playback-events#bandwidth-throughput-events).
550
565
 
551
566
  ## Changes
@@ -558,12 +573,11 @@ Changes in this release might be breaking for some very specific use cases:
558
573
  ## Changes
559
574
 
560
575
  * HLS related fixes:
561
- * Fix corner cases in the handling of segment byte ranges.
562
- * Improve playlist validation and support check.
563
- * Low latency support:
564
- * Fix playlist validation with respect to `#EXT-X-SERVER-CONTROL:PART-HOLD-BACK`.
565
- * Fix handling of low-latency playlist segments when low-latency support is
566
- disabled (It is disabled by default).
576
+ * Fix corner cases in the handling of segment byte ranges.
577
+ * Improve playlist validation and support check.
578
+ * Low latency support:
579
+ * Fix playlist validation with respect to `#EXT-X-SERVER-CONTROL:PART-HOLD-BACK`.
580
+ * Fix handling of low-latency playlist segments when low-latency support is disabled (It is disabled by default).
567
581
  * Fixed Chromecast Cast Web Sender track manager issue, restoring the ability to list and change text/audio tracks during casting.
568
582
 
569
583
  # 6.6.1
@@ -573,7 +587,7 @@ Changes in this release might be breaking for some very specific use cases:
573
587
  * Fix methods `clpp.utils.Mp4Parser.children()`, `clpp.utils.Mp4Parser.sampleDescription()`
574
588
  and `clpp.utils.Mp4Parser.headerSize()`.
575
589
  * HLS related fixes:
576
- * Improve MIME type detection by leveraging `#EXT-X-MAP` tags.
590
+ * Improve MIME type detection by leveraging `#EXT-X-MAP` tags.
577
591
  * Fixed issue with some Smooth Streaming playback scenarios where the timeline
578
592
  was adjusted but the wrong base media decode time was used.
579
593
  * Fixed minor issue with Youbora receiving consecutive buffering ended events during
@@ -593,7 +607,7 @@ Changes in this release might be breaking for some very specific use cases:
593
607
  ## Changes
594
608
 
595
609
  * Upgrade supported version of Broadpeak Plugin.
596
- * Minimum recommended version is now v04.05.01-328cb1e. Refer to Analytics Documentation for details.
610
+ * Minimum recommended version is now v04.05.01-328cb1e. Refer to Analytics Documentation for details.
597
611
 
598
612
  # 6.5.0
599
613
 
@@ -602,9 +616,9 @@ Changes in this release might be breaking for some very specific use cases:
602
616
  * Add an option for filtering of Youbora error events. Configure a custom
603
617
  error filter via the `youbora.errorFilter` config option.
604
618
  * Add new configuration options of 360-degree video playback `clpp.VrConfiguration`.
605
- * `vr.sensitivity` sets the mouse/touch controls sensitivity. Must be a positive number.
606
- * `vr.invertHorizontalControl` inverts the mouse/touch movement for horizontal axis.
607
- * `vr.invertVerticalControl` inverts the mouse/touch movement for vertical axis.
619
+ * `vr.sensitivity` sets the mouse/touch controls sensitivity. Must be a positive number.
620
+ * `vr.invertHorizontalControl` inverts the mouse/touch movement for horizontal axis.
621
+ * `vr.invertVerticalControl` inverts the mouse/touch movement for vertical axis.
608
622
 
609
623
  ## Changes
610
624
 
@@ -646,10 +660,10 @@ Changes in this release might be breaking for some very specific use cases:
646
660
  ## Changes
647
661
 
648
662
  * Fix the `textStyle` config option for subtitle styles.
649
- * Make sure it always overrides styles embedded in TTML and WebVTT files and any other styles.
650
- * Make sure `textStyle.edgeType: "none"` config removes any existing text shadow from the subtitles.
663
+ * Make sure it always overrides styles embedded in TTML and WebVTT files and any other styles.
664
+ * Make sure `textStyle.edgeType: "none"` config removes any existing text shadow from the subtitles.
651
665
  * Fix handling of HDR CICP EssentialProperty schemes for DASH streams.
652
- * Add CICP ColourPrimaries, Transfer-Characteristics, MatrixCoefficients as valid EssentialProperty.
666
+ * Add CICP ColourPrimaries, Transfer-Characteristics, MatrixCoefficients as valid EssentialProperty.
653
667
  * Fix `ReferenceError` due to unavailable `MediaEncryptedEvent` on Safari < 12.1.
654
668
 
655
669
  # 6.4.0
@@ -664,28 +678,28 @@ Changes in this release might be breaking for some very specific use cases:
664
678
  configuration is also forwarded to [clpp.net.Request](https://demo.castlabs.com/#/docs?q=clpp.net#Request)
665
679
  and can be adjusted per request using a [RequestModifier](https://demo.castlabs.com/#/docs?q=clpp.net#RequestModifier).
666
680
  * Add support for Low-Latency HLS.
667
- * Support for Partial Segments and Preload Hint.
668
- * Support for Blocking Playlist Reload.
669
- * Configuration by [Player configuration](https://demo.castlabs.com/#/docs/configuration) property `lowLatencyMode`, defaults to `false`.
681
+ * Support for Partial Segments and Preload Hint.
682
+ * Support for Blocking Playlist Reload.
683
+ * Configuration by [Player configuration](https://demo.castlabs.com/#/docs/configuration) property `lowLatencyMode`, defaults to `false`.
670
684
 
671
685
  ## Changes
672
686
 
673
687
  * Fix timeline of dynamic to static transition in DASH.
674
688
  * Several improvements of tracks.
675
- * Fix an issue in DASH where similar `AdaptationSet` tags with distinct `Accessibility` tags where being
689
+ * Fix an issue in DASH where similar `AdaptationSet` tags with distinct `Accessibility` tags where being
676
690
  processed as renditions of the same track instead of being treated as two distinct tracks.
677
- * Fix a corner-case issue where tracks with the same roles but in a different order were being treated as two
691
+ * Fix a corner-case issue where tracks with the same roles but in a different order were being treated as two
678
692
  separate tracks instead of a single track with two different renditions.
679
- * Fix issues with audio track selection when `preferredAudioRole` or `preferredAudioLanguage` is configured.
693
+ * Fix issues with audio track selection when `preferredAudioRole` or `preferredAudioLanguage` is configured.
680
694
  * Warn when an unsupported version of `youboralib` is supplied to the `YouboraPlugin` and emit
681
695
  a recoverable error. Supported versions are 6.8.12 - 6.8.25.
682
696
  * Fix support for custom styling of subtitles.
683
697
  * Fix `clpp.utils.obj.merge`.
684
- * Make sure it merges attributes with values that are DOM `Element`.
685
- * Fix documentation: `clpp.utils.obj.merge` merges from left to right, not the other way around.
698
+ * Make sure it merges attributes with values that are DOM `Element`.
699
+ * Fix documentation: `clpp.utils.obj.merge` merges from left to right, not the other way around.
686
700
  * Improve `clpp.PlayerSurface`.
687
- * Add `clpp-video` class to the video/media element.
688
- * Protect PRESTOplay class attributes from modification. This prevents unexpected
701
+ * Add `clpp-video` class to the video/media element.
702
+ * Protect PRESTOplay class attributes from modification. This prevents unexpected
689
703
  styling issues related to the re-rendering of the video or container element that can
690
704
  easily occur when used with React, Vue or similar UI frameworks.
691
705
  * Improve validation of arguments passed to `clpp.Player`.
@@ -708,9 +722,9 @@ Changes in this release might cause breaking changes for some use cases. Please
708
722
 
709
723
  ## Changes
710
724
  * Fix issues with `YouboraPlugin`.
711
- * Fix crash when Youbora configuration is not passed via `clpp.Player` constructor.
712
- * Fix an issue where Youbora plugin stopped reporting events after a call to `setYouboraPlugin`.
713
- * Fix an issue with the import of `youboralib` and `@castlabs/prestoplay/cl.youbora`
725
+ * Fix crash when Youbora configuration is not passed via `clpp.Player` constructor.
726
+ * Fix an issue where Youbora plugin stopped reporting events after a call to `setYouboraPlugin`.
727
+ * Fix an issue with the import of `youboralib` and `@castlabs/prestoplay/cl.youbora`
714
728
  when used with a bundler which performs hoisting of import statements (such as Webpack).
715
729
  * Improvements on FPS License management. This release includes several improvements
716
730
  related to the FairPlay License management with the Apple Prefixed implementation
@@ -723,24 +737,24 @@ Changes in this release might cause breaking changes for some use cases. Please
723
737
  * Changed the behavior of `player.getPresentationStartTime()`. The method now only returns numerical values when the stream is
724
738
  live and the calculation of presentation start time is possible; otherwise, it returns `null`. **Note: potentially breaking change!**
725
739
  * Chromecast Cast Web Sender & Web Receiver related changes:
726
- * Fixed time synchronization issues for DASH live streams between cast sender and receiver. The updates address
740
+ * Fixed time synchronization issues for DASH live streams between cast sender and receiver. The updates address
727
741
  problems related to seeking, switching between sender/receiver, and incorrect values returned from SDK during active casting.
728
- * Fix `player.getDuration()` return value during live stream casting. The function now correctly returns `Infinity`,
742
+ * Fix `player.getDuration()` return value during live stream casting. The function now correctly returns `Infinity`,
729
743
  addressing the previous bug where `-1` was incorrectly returned. This fix applies to both receiver and sender sides
730
744
  during active casting.
731
- * Changed the behavior of the `clpp.cast.CastProxy.setContentMetadata()` method. This method now also accepts null, which will clear the metadata.
732
- * Added the `clpp.cast.CastProxy.getContentMetadata()` method.
733
- * In an effort to simplify the `clpp.cast.CastProxy` metadata API, we are deprecating the following methods: `setContentTitle()`, `setContentImage()`, `setContentArtist()`, `setContentReleaseDate()`, `clearContentMetadata()`. These methods will still work, but they will be removed in the next release. Please use the `setContentMetadata()` method instead. Refer to the documentation for details.
745
+ * Changed the behavior of the `clpp.cast.CastProxy.setContentMetadata()` method. This method now also accepts null, which will clear the metadata.
746
+ * Added the `clpp.cast.CastProxy.getContentMetadata()` method.
747
+ * In an effort to simplify the `clpp.cast.CastProxy` metadata API, we are deprecating the following methods: `setContentTitle()`, `setContentImage()`, `setContentArtist()`, `setContentReleaseDate()`, `clearContentMetadata()`. These methods will still work, but they will be removed in the next release. Please use the `setContentMetadata()` method instead. Refer to the documentation for details.
734
748
 
735
749
  # 6.2.8
736
750
 
737
751
  ## Changes
738
752
 
739
753
  * Fix clock sync fallback in DASH.
740
- * This fixes an issue where one failing `UTCTiming` tag
754
+ * This fixes an issue where one failing `UTCTiming` tag
741
755
  cancelled the whole time sync. Now all `UTCTiming` tags are tried one-by-one until one
742
756
  succeeds, or if all fail, only then the time sync is cancelled.
743
- * Warn whenever a clock sync fails. Warn when no UTCTiming elements are found.
757
+ * Warn whenever a clock sync fails. Warn when no UTCTiming elements are found.
744
758
  Warn when a direct time scheme (`urn:mpeg:dash:utc:direct:2014`) provides an invalid value.
745
759
  * Fix `clpp.thumbnails.ThumbnailsPlugin.get()` method, which now returns the correct
746
760
  thumbnail at a specific position for BIF thumbnails.
@@ -756,9 +770,9 @@ Changes in this release might cause breaking changes for some use cases. Please
756
770
  thumbnail at a specific position for WebVTT thumbnails.
757
771
  * Fix issue with multiple (unnecessary) license requests triggered.
758
772
  * Fix the license request/response modifiers for Chromecast Receiver:
759
- * The `licenseRequest` modifier now correctly indicates the `POST` method instead of falsely reporting `GET` for the `request` object.
760
- * The `licenseResponse` modifier is now properly awaited when defined as async.
761
- * Please refer to DRM section in manual for limitations of using request/response modifiers in Chromecast Receiver.
773
+ * The `licenseRequest` modifier now correctly indicates the `POST` method instead of falsely reporting `GET` for the `request` object.
774
+ * The `licenseResponse` modifier is now properly awaited when defined as async.
775
+ * Please refer to DRM section in manual for limitations of using request/response modifiers in Chromecast Receiver.
762
776
  * Improve error logging for `MP4_SIDX_WRONG_BOX_TYPE` code. Now there is an URL, byte-range, size, and a 1kB sample of the erroneous SIDX box provided within the `clpp.Error` optional data.
763
777
  * Handle FairPlay license loading with EME implementation more consistently and avoid
764
778
  redundant license requests.
@@ -792,13 +806,13 @@ actual file names the same.
792
806
  ## Changes
793
807
 
794
808
  * Introduced API for changing EME implementation to use.
795
- * Due to that it is now possible to use MSE with encrypted content on Apple
809
+ * Due to that it is now possible to use MSE with encrypted content on Apple
796
810
  devices.
797
- * Please refer to DRM section in a manual for more info.
811
+ * Please refer to DRM section in a manual for more info.
798
812
  * Added a `streaming.preferNativeHlsOnSafari` config option to explicitly
799
813
  specify should we play HLS content using MSE or native playback.
800
- * By default, this option is set to `true`.
801
- * Please refer to Components section in a manual for more info.
814
+ * By default, this option is set to `true`.
815
+ * Please refer to Components section in a manual for more info.
802
816
  * Fix `PLAYER_ERROR_NOT_SUPPORTED_FILE` issue on Tizen for certain DASH streams.
803
817
  * Fix startup issue for certain live streams on webOS 6.
804
818
  * Improved `player.getSeekRange()` for native Safari playback.
@@ -824,10 +838,11 @@ actual file names the same.
824
838
 
825
839
 
826
840
  # 6.2.5
841
+
827
842
  * ESM files are now compatible with ECMAScript 2015.
828
843
  * Improved start up time on webOS 4+ devices.
829
844
  * Broadpeak plugin has been upgraded to version 4.
830
- * Minimum supported version is now 4.1.1-f5f806. Version 3 does not work
845
+ * Minimum supported version is now 4.1.1-f5f806. Version 3 does not work
831
846
  anymore with current implementation.
832
847
  * Fix playback of PlayReady protected content on WebOS TVs.
833
848
  * Fix disabling ABR when selected track/rendition is currently active.
@@ -841,9 +856,10 @@ actual file names the same.
841
856
  * Chromecast - do not fail on text stream failures.
842
857
 
843
858
  # 6.2.4
859
+
844
860
  * Expose Youbora Adapter & Youbora Ads Adapter in `clpp.npaw.YouboraPlugin` via
845
861
  `getAdapter()` and `getAdsAdapter()` methods.
846
- * Please refer to documentation for more info.
862
+ * Please refer to documentation for more info.
847
863
  * Fix Conviva support on Chromecast with PRESTOplay SDK for Android sender
848
864
  * Added `config.preferredAudioCodec` to support manual prioritization of audio codecs
849
865
  * `config.preferredVideoCodec` now accepts array of preferred codecs in priority order
@@ -851,6 +867,7 @@ actual file names the same.
851
867
  back to foreground.
852
868
 
853
869
  # 6.2.3
870
+
854
871
  * Add support for HLS Image Media Playlist. Refer to Thumbnails section in
855
872
  manual for more info.
856
873
  * Added `abr.initialRestrictions` configuration to specify restrictions for the
@@ -867,77 +884,80 @@ actual file names the same.
867
884
  * Support for `SegmentTemplate.endNumber` in a DASH manifest
868
885
 
869
886
  # 6.2.2
887
+
870
888
  * iOS - fix rare bug with going to ended state on some iOS devices.
871
889
  * iOS - fix false positive online events on ConnectivityChecker.
872
890
  * DRM updates:
873
- * Introduced `clpp.drm.InitDataTransformer` modifier to provide the ability to
891
+ * Introduced `clpp.drm.InitDataTransformer` modifier to provide the ability to
874
892
  directly parse and manipulate initData and construct custom payloads for
875
893
  exchange with the CDM in use. Check the DRM configuration section in manual
876
894
  for more info and examples.
877
- * `clpp.drm.KeySystem` enum is now extended with `NONE` and `CLEAR_KEY` values
895
+ * `clpp.drm.KeySystem` enum is now extended with `NONE` and `CLEAR_KEY` values
878
896
  for more consistent and less error prone handling of DrmEnvironment's key
879
897
  system configuration.
880
- * Added `sessionId` field to network request. This allows a request/response
898
+ * Added `sessionId` field to network request. This allows a request/response
881
899
  modifier to determine which EME session made the request.
882
- * A set of `clpp.utils.FairplayUtils` utils are now available for handling
900
+ * A set of `clpp.utils.FairplayUtils` utils are now available for handling
883
901
  common FairPlay DRM tasks.
884
902
  * `clpp.utils.BufferUtils` are now available for use with array buffers.
885
903
 
886
904
  # 6.2.1
905
+
887
906
  * Added ability to specify Widevine and PlayReady robustness in the `config.drm.customData`
888
907
  * Fixed subtitles not visible when the HTML text displayer not loaded in Safari
889
908
  * Added `connectivityCheck` field in player configuration to check is network
890
909
  available.
891
- * When network availability status changes, player now emits
910
+ * When network availability status changes, player now emits
892
911
  `clpp.events.ONLINE_STATUS_CHANGED` event with `online` boolean property.
893
912
  * Added the `config.streaming.addMissingTimelineCues` option
894
913
  * TTML parser
895
- * Add the presentation time offset to cue timestamps
914
+ * Add the presentation time offset to cue timestamps
896
915
  * Do not set server certificate on WebOS 3 due to a bug in WebOS'
897
916
  `MediaKeys.setServerCertificate()` implementation.
898
917
 
899
918
  # 6.2.0
919
+
900
920
  * Player Surface improvements:
901
- * `clpp.Player#getSurface()` method now returns `clpp.IPlayerSurface`.
902
- * `clpp.IPlayerSurface` interface is now exported.
903
- * `clpp.PlayerSurfaceCss` has been removed.
904
- * Following options from `clpp.PlayerSurfaceConfiguration` has been removed.
921
+ * `clpp.Player#getSurface()` method now returns `clpp.IPlayerSurface`.
922
+ * `clpp.IPlayerSurface` interface is now exported.
923
+ * `clpp.PlayerSurfaceCss` has been removed.
924
+ * Following options from `clpp.PlayerSurfaceConfiguration` has been removed.
905
925
  Please check Migration Guide for more info.
906
- - `moveCssToContainer`
907
- - `containerTag`
908
- - `mediaTag`
909
- - `controls`
910
- - `css`
911
- * Added manual for Player Surface configuration.
926
+ - `moveCssToContainer`
927
+ - `containerTag`
928
+ - `mediaTag`
929
+ - `controls`
930
+ - `css`
931
+ * Added manual for Player Surface configuration.
912
932
  * Subtitles improvements
913
- * SRT / VTT
914
- * The parser has been moved to an independent component, `clpp.vtt.min.js`
915
- * Please check `v6.2 Migration Guide` for more info.
916
- * TTML
917
- * The parser has been moved to an independent component, `clpp.ttml.min.js`
918
- * The parser is compatible with TTML v1 now
919
- * The parser converts pixel sizes to percentages in order to build responsive layouts
920
- * Please check `v6.2 Migration Guide` for more info.
921
- * The HTML text displayer
922
- * Following options from `clpp.PlayerConfiguration` has been removed.
923
- * `enableEnhancedSubtitleManager` (use `enableHtmlCue` instead)
933
+ * SRT / VTT
934
+ * The parser has been moved to an independent component, `clpp.vtt.min.js`
935
+ * Please check `v6.2 Migration Guide` for more info.
936
+ * TTML
937
+ * The parser has been moved to an independent component, `clpp.ttml.min.js`
938
+ * The parser is compatible with TTML v1 now
939
+ * The parser converts pixel sizes to percentages in order to build responsive layouts
940
+ * Please check `v6.2 Migration Guide` for more info.
941
+ * The HTML text displayer
942
+ * Following options from `clpp.PlayerConfiguration` has been removed.
943
+ * `enableEnhancedSubtitleManager` (use `enableHtmlCue` instead)
924
944
  * `clpp.utils.strings` fixes:
925
- * `durationToStirng()` renamed to `durationToString()`.
926
- * Removed `toBase64()` and `fromBase64()`. You can still use equivalent
945
+ * `durationToStirng()` renamed to `durationToString()`.
946
+ * Removed `toBase64()` and `fromBase64()`. You can still use equivalent
927
947
  methods from `clpp.utils.Uint8ArrayUtils`.
928
948
  * DRM updates:
929
- * Introduced `clpp.drm.SessionContext` object for various interactions during
949
+ * Introduced `clpp.drm.SessionContext` object for various interactions during
930
950
  DRM session. Object is passed as a 3rd argument to license request &
931
951
  response modifiers.
932
- * `clpp.drm.SessionContext#ldlDelay` can be used to manually set delay between
952
+ * `clpp.drm.SessionContext#ldlDelay` can be used to manually set delay between
933
953
  license requests when `license-renewal` event is not fired by CDM. This is
934
954
  primarily a case for PlayReady implementation.
935
955
  * Conviva updates:
936
- * Do not set `osVersion` by default for LG and Hisense TVs.
937
- * add `deviceMetadata` field in conviva configuration to pass any needed
956
+ * Do not set `osVersion` by default for LG and Hisense TVs.
957
+ * add `deviceMetadata` field in conviva configuration to pass any needed
938
958
  metadata by user. See `clpp.ConvivaConfiguration` doc for more details.
939
959
  * Dropping support for IE 11
940
- * Due to the consistently low level of usage,
960
+ * Due to the consistently low level of usage,
941
961
  our PRESTOplay team has decided to discontinue IE 11 support with 6.2.0 release.
942
962
  However, maintenance support for IE 11 will still be provided
943
963
  for the next 6 months (ending 1 May 2022) through our 6.1.X versions.
@@ -945,12 +965,14 @@ actual file names the same.
945
965
  on providing the best in modern playback features and experiences.
946
966
 
947
967
  # 6.1.13
968
+
948
969
  * Do not preconfigure DRM Engine when `source.drmProtected` is set to `false`.
949
970
  * Playback of direct MP4 files on Tizen
950
971
  * Optimize audio track switching on Smart TV (prevent playback from freezing after track switch)
951
972
 
952
973
 
953
974
  # 6.1.12
975
+
954
976
  * Improve HLS with discontinuities playback when
955
977
  `#EXT-X-DISCONTINUITY-SEQUENCE` is missing.
956
978
  * Add `manifest.playreadyVersion` field to force update of PlayReady header
@@ -959,12 +981,13 @@ actual file names the same.
959
981
  * Fix state reporting bug on Tizen 2.3
960
982
 
961
983
  # 6.1.11
984
+
962
985
  * Allow to configure network request parameters in DRM module by
963
986
  `clpp.DrmConfiguration.attemptParameters` configuration field.
964
987
  * Use `com.microsoft.playready.recommendation` key system on Microsoft Edge:
965
- * Player tries to enforce hardware protection by default if DRMtoday is in use.
966
- * Robustness levels might be also specified in custom DRM environments.
967
- * Robustness levels for Playready are introduced in `clpp.drm.PlayreadyRobustnessLevel`.
988
+ * Player tries to enforce hardware protection by default if DRMtoday is in use.
989
+ * Robustness levels might be also specified in custom DRM environments.
990
+ * Robustness levels for Playready are introduced in `clpp.drm.PlayreadyRobustnessLevel`.
968
991
  * Send detailed message about license & certificate request failures to MuxData
969
992
  plugin.
970
993
  * Youbora - add calculation of ad visibility.
@@ -979,6 +1002,7 @@ actual file names the same.
979
1002
  * Fixed issue with selected audio track not being available on Tizen 2.4
980
1003
 
981
1004
  # 6.1.10
1005
+
982
1006
  * Youbora - report DRM system in use.
983
1007
  * Youbora - do not start session when no intent to play.
984
1008
  * Conviva - add a way to set device brand and connection type. Please check
@@ -991,19 +1015,20 @@ actual file names the same.
991
1015
  documentation for more info.
992
1016
  * Fixed the order of nested cues when rendering with the HtmlCue component
993
1017
  * Improved positioning logic in the htmlcue component.
994
- * The `display: inline` has been added to the `.clpp-text-cue` class
995
- * The `line-height` has been added to the `.clpp-text-cue` class
996
- * The `line-height` has been removed from the `.clpp-text-container` class
997
- * `position, inset, display` inline attributes have been removed from cue nodes
998
- * `visibility, direction` inline attributes have been added to cue wrapper nodes
1018
+ * The `display: inline` has been added to the `.clpp-text-cue` class
1019
+ * The `line-height` has been added to the `.clpp-text-cue` class
1020
+ * The `line-height` has been removed from the `.clpp-text-container` class
1021
+ * `position, inset, display` inline attributes have been removed from cue nodes
1022
+ * `visibility, direction` inline attributes have been added to cue wrapper nodes
999
1023
  * `config.preferredTextLanguage` and `config.preferredAudioLanguage` options
1000
1024
  accept an array of languages
1001
1025
  * Muted the operation aborted error
1002
1026
  * Mux Data plugin fixes:
1003
- * More accurate Video Startup Time metrics when autoplay is on.
1004
- * `timeupdate` events reporting.
1027
+ * More accurate Video Startup Time metrics when autoplay is on.
1028
+ * `timeupdate` events reporting.
1005
1029
 
1006
1030
  # 6.1.9
1031
+
1007
1032
  * Introduced CDN error fallback. Check `clpp.Player.setCdnFallback()`
1008
1033
  documentation for more info.
1009
1034
  * Youbora - do not create new session when seeking beyond end of content on
@@ -1017,6 +1042,7 @@ actual file names the same.
1017
1042
  * Prefer text streamer for tizen native playback to mitigate issues with subtitles
1018
1043
 
1019
1044
  # 6.1.8
1045
+
1020
1046
  * Fix going to background and foreground mode again on 2021 TV platforms.
1021
1047
  * Fix issue with Smooth Streaming playback freezes when subtitles are enabled.
1022
1048
  * Fix playback of DASH with PlayReady ContentProtection only on Firefox.
@@ -1027,12 +1053,14 @@ actual file names the same.
1027
1053
  * clpp.tizen.TizenComponent: Normalize language code for tracks.
1028
1054
 
1029
1055
  # 6.1.7
1056
+
1030
1057
  * Added a new config option, i.e. `config.htmlcue.enableResizeObserver`
1031
1058
  * Added support for MPEG-DASH Callback Event
1032
- * Introduced new `clpp.TimelineCueType.DASH_CALLBACK` timeline cue type.
1059
+ * Introduced new `clpp.TimelineCueType.DASH_CALLBACK` timeline cue type.
1033
1060
  * Fix issue with Fairplay multikey playback when using DRMtoday Onboard.
1034
1061
 
1035
1062
  # 6.1.6
1063
+
1036
1064
  * Fixed an issue with seeking after DASH dynamic to static conversion.
1037
1065
  * Fixed the initialization of the player container.
1038
1066
  * Fixed the vertical rl mode in the html cue component
@@ -1047,6 +1075,7 @@ actual file names the same.
1047
1075
  * Added support for embedded styles (WebVTT)
1048
1076
 
1049
1077
  # 6.1.5
1078
+
1050
1079
  * Added the `player.setDrmCustomDataModifier` to the player interface.
1051
1080
  The method allows modifying DRM custom data before casting to Apple TV.
1052
1081
  * Added `muxdata.muxOptionsOverride` config field. This allows to extend and/or
@@ -1058,15 +1087,16 @@ actual file names the same.
1058
1087
  first request with original URL resulted with HTTP error.
1059
1088
 
1060
1089
  # 6.1.4
1090
+
1061
1091
  * Accept empty TTML segments
1062
1092
  * Fix text track selection based on the `preferredTextLanguage` option
1063
1093
  * Fixed cue offset when X-TIMESTAMP-MAP not defined
1064
1094
  * Tizen Improvements:
1065
- * Fix PlayReady protected playback on legacy Tizen devices (version 2.x)
1066
- * Add preliminary Widevine support
1067
- * Improved error handling and reporting
1068
- * Add implementation for `getDrmInfo`
1069
- * Fix native and MSE based playback on Tizen 3.0
1095
+ * Fix PlayReady protected playback on legacy Tizen devices (version 2.x)
1096
+ * Add preliminary Widevine support
1097
+ * Improved error handling and reporting
1098
+ * Add implementation for `getDrmInfo`
1099
+ * Fix native and MSE based playback on Tizen 3.0
1070
1100
  * Fixed rare bug with incorrect seek ranges for live streams during casting.
1071
1101
  * Add Mux Data plugin
1072
1102
  * Support timeline cues (EventStream / SCTE-35) for Chromecast receiver.
@@ -1074,28 +1104,30 @@ actual file names the same.
1074
1104
  * Preserve media element mute state in subsequent load requests.
1075
1105
 
1076
1106
  # 6.1.3
1107
+
1077
1108
  * Fixed text track selection based on the `preferredTextLanguage` option
1078
1109
  * Generate Widevine or Playready content protection elements if needed
1079
1110
  * Added header based DRM
1080
1111
  * Add a way to pass optional playback config when starting casting.
1081
- * Check `clpp.cast.CastProxy#cast()` spec for more info.
1112
+ * Check `clpp.cast.CastProxy#cast()` spec for more info.
1082
1113
  * Introduced Live Edge Chasing algorithm. New configuration fields added.
1083
1114
  Please refer to the documentation to learn more about it.
1084
- * `streaming.enableLiveEdgeChasing`
1085
- * `streaming.chasingRate`
1086
- * `streaming.startChasingAt`
1087
- * `streaming.stopChasingAt`
1088
- * `streaming.chaseJumpDistance`
1115
+ * `streaming.enableLiveEdgeChasing`
1116
+ * `streaming.chasingRate`
1117
+ * `streaming.startChasingAt`
1118
+ * `streaming.stopChasingAt`
1119
+ * `streaming.chaseJumpDistance`
1089
1120
  * Chromecast metadata management.
1090
- * Introduced `clpp.cast.CastProxy` methods to set content metadata.
1091
- * Ability to check current metadata on receiver side by
1121
+ * Introduced `clpp.cast.CastProxy` methods to set content metadata.
1122
+ * Ability to check current metadata on receiver side by
1092
1123
  `clpp.cast.Receiver#getContentMetadata()` API.
1093
- * Please refer to `clpp.cast.CastProxy` and `clpp.cast.Receiver`
1124
+ * Please refer to `clpp.cast.CastProxy` and `clpp.cast.Receiver`
1094
1125
  for more info.
1095
1126
  * Conviva: Fix initial bitrate selection not reported when autoplay is disabled.
1096
1127
  * Fixed triggering response modifiers on error
1097
1128
 
1098
1129
  # 6.1.2
1130
+
1099
1131
  * Adobe Milestone Analytics support (BETA).
1100
1132
  * Fixes issue with offline license loading
1101
1133
  * Guess MP4 text codec when manifest does not specify it explicitly.
@@ -1106,11 +1138,12 @@ actual file names the same.
1106
1138
  * Fixed issue with manifest retry parameters on live playback
1107
1139
 
1108
1140
  # 6.1.1
1141
+
1109
1142
  * Fixed issue with FPS requests triggered by AppleTV devices in Airplay sessions
1110
1143
  * Block rendition selected by ABR if it cannot be downloaded.
1111
1144
  * Chromecast: do not disable text track when switching audio tracks on sender.
1112
1145
  * Added support for DASH live to vod transition.
1113
- * Added `clpp.events.MPD_TYPE_CHANGED` event to reflect this change.
1146
+ * Added `clpp.events.MPD_TYPE_CHANGED` event to reflect this change.
1114
1147
  * Fix PlayReady playback when PlayReady PSSH is not available.
1115
1148
  * Add Vimond plugin
1116
1149
  * Fix issue with AirPlay state not being consistent when starting or resuming
@@ -1120,68 +1153,74 @@ actual file names the same.
1120
1153
  back into playing state.
1121
1154
 
1122
1155
  # 6.1.0
1156
+
1123
1157
  * Fix playback issues with HLS audio only content on MSE.
1124
1158
  * Fix incorrect audio TS handling on Microsoft Edge
1125
1159
  * Persistent license.
1126
- * Introduce `clpp.persistent.fetchLicense()` API to fetch license without
1160
+ * Introduce `clpp.persistent.fetchLicense()` API to fetch license without
1127
1161
  player instance. Check manual for more info.
1128
- * Prevent sending license request twice when Persistent Component is in use.
1162
+ * Prevent sending license request twice when Persistent Component is in use.
1129
1163
  * Smooth Streaming improvements.
1130
- * Add support for segment timescales.
1131
- * Fix bug with non-switchable tracks on protected content.
1132
- * Add `manifest.liveRefreshPeriod` configuration field to manually set how
1164
+ * Add support for segment timescales.
1165
+ * Fix bug with non-switchable tracks on protected content.
1166
+ * Add `manifest.liveRefreshPeriod` configuration field to manually set how
1133
1167
  often Smooth manifest should be updated.
1134
1168
  * Chromecast improvements.
1135
- * Prevent `INVALID_MEDIA_SESSION_ID` rejection when trying to play/pause/seek
1169
+ * Prevent `INVALID_MEDIA_SESSION_ID` rejection when trying to play/pause/seek
1136
1170
  content in ended state.
1137
- * Map `defaultBandwidthEstimate` field from `clpp.AbrConfiguration` to CAF's
1171
+ * Map `defaultBandwidthEstimate` field from `clpp.AbrConfiguration` to CAF's
1138
1172
  `cast.framework.PlaybackConfig.initialBandwidth`.
1139
- * Add `onResumeLocal` callback as an `clpp.cast.CastProxy`'s optional
1173
+ * Add `onResumeLocal` callback as an `clpp.cast.CastProxy`'s optional
1140
1174
  parameter.
1141
1175
  * Resolve load promise when Never Auto-Play set to true on Safari 13.1.x
1142
1176
  * FreeWheel integration (BETA).
1143
- * PRESTOplay SDK now comes with FreeWheel ads integration. To check it, please
1177
+ * PRESTOplay SDK now comes with FreeWheel ads integration. To check it, please
1144
1178
  add FreeWheel SDK and our FreeWheel plugin to your project.
1145
1179
  * Add `clpp.AbrConfiguration#useSwitchIntervalForInitialSwitch` flag to prevent
1146
1180
  quick ABR switch once the estimator has enough data.
1147
1181
  * Add `clpp.Player#resetAbr()` method for resetting ABR estimate.
1148
1182
  * Youbora integration.
1149
- * Always fire `/pause` event to Youbora before reporting postroll.
1183
+ * Always fire `/pause` event to Youbora before reporting postroll.
1150
1184
  * Expose text displayer interface.
1151
- * Text displayer is now in BETA state with some known issues.
1185
+ * Text displayer is now in BETA state with some known issues.
1152
1186
  * Improved multi-key handling and added support for multi-key deliveries for Playready
1153
1187
 
1154
1188
  # 6.0.4
1189
+
1155
1190
  * Added `preferredDrmSystem` option to the `clpp.DrmConfiguration` to enforce
1156
1191
  using specific DRM technology (i.e. force PlayReady on Edge Chromium).
1157
1192
  * Introduces `TimelineCue` data structure and related events.
1158
1193
  * Fixes for handling muxed audio+video TS-based content.
1159
1194
  * Added `clpp.events.USER_SEEKING` & `clpp.events.USER_SEEKED` events
1160
- * Those events are fired only during seeking initiated by calling
1195
+ * Those events are fired only during seeking initiated by calling
1161
1196
  `clpp.Player#seek()` method.
1162
1197
  * Fix Conviva integration error.
1163
1198
 
1164
1199
  # 6.0.3
1200
+
1165
1201
  * Support for Chromecast
1166
- * Check manual and documentation for more info
1202
+ * Check manual and documentation for more info
1167
1203
  * Support for persistent licenses
1168
1204
  * Adds `originalId` field to the `clpp.Rendition` class
1169
- * This field contains rendition id that appeared in original manifest
1205
+ * This field contains rendition id that appeared in original manifest
1170
1206
 
1171
1207
  # 6.0.2
1208
+
1172
1209
  * Improves HLS + AES-128 support
1173
- * Relative AES key URI
1210
+ * Relative AES key URI
1174
1211
  * Adds DRMtoday Onboard support
1175
1212
  * Adds AirPlay support
1176
1213
  * Bug fixes and improvements
1177
1214
 
1178
1215
  # 6.0.1
1216
+
1179
1217
  * Adds Broadpeak's SmartLib v3-3.0.4-2950 integration (plugin).
1180
1218
  * Introduces the crypto component (`clpp.crypto.CryptoComponent`)
1181
- * The crypto component adds HLS + AES-128 playback capability to the player.
1219
+ * The crypto component adds HLS + AES-128 playback capability to the player.
1182
1220
  * Improves support of muxed audio+video TS-based contents.
1183
1221
 
1184
1222
  # 6.0.0
1223
+
1185
1224
  PRESTOplay SDK for browsers version 6 has been re-designed from the ground up to
1186
1225
  build a faster, more modular, and smaller player SDK. We focused on the core
1187
1226
  components of video playback and the underlying media playback engine.