@castlabs/prestoplay 6.30.0 → 6.31.0

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