@castlabs/prestoplay 6.33.0 → 6.34.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 +22 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +19 -19
  5. package/cjs/cl.cast.js +129 -129
  6. package/cjs/cl.conviva.js +31 -31
  7. package/cjs/cl.core.js +635 -624
  8. package/cjs/cl.crypto.js +9 -9
  9. package/cjs/cl.dash.js +101 -101
  10. package/cjs/cl.externs.js +49 -74
  11. package/cjs/cl.freewheel.js +26 -26
  12. package/cjs/cl.hls.js +76 -76
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +30 -30
  15. package/cjs/cl.ima.js +26 -26
  16. package/cjs/cl.mediatailor.js +3 -3
  17. package/cjs/cl.mse.js +356 -353
  18. package/cjs/cl.muxdata.js +14 -14
  19. package/cjs/cl.onboard.js +4 -5
  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 +26 -26
  25. package/cjs/cl.tizen.js +72 -72
  26. package/cjs/cl.ttml.js +29 -29
  27. package/cjs/cl.verimatrix.js +5 -5
  28. package/cjs/cl.vimond.js +11 -11
  29. package/cjs/cl.vr.js +19 -19
  30. package/cjs/cl.vtt.js +14 -14
  31. package/cjs/cl.yospace.js +4 -4
  32. package/cjs/cl.youbora.js +39 -39
  33. package/cl.adobe.js +3 -3
  34. package/cl.airplay.js +3 -3
  35. package/cl.broadpeak.js +14 -14
  36. package/cl.cast.js +100 -100
  37. package/cl.conviva.js +27 -27
  38. package/cl.core.js +513 -502
  39. package/cl.crypto.js +9 -9
  40. package/cl.dash.js +90 -90
  41. package/cl.externs.js +52 -65
  42. package/cl.freewheel.js +20 -20
  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 +20 -20
  47. package/cl.mediatailor.js +2 -2
  48. package/cl.mse.js +306 -306
  49. package/cl.muxdata.js +13 -13
  50. package/cl.onboard.js +5 -5
  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 +61 -61
  55. package/cl.thumbnails.js +19 -19
  56. package/cl.tizen.js +57 -57
  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 +14 -14
  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 +1 -1
  65. package/typings.d.ts +57 -171
package/typings.d.ts CHANGED
@@ -306,12 +306,23 @@ export namespace clpp {
306
306
  * a list of hosts separated by "," (i.e "192.168.1.1,192.168.10.1")
307
307
  */
308
308
  nanoCDNHost: string;
309
+ /**
310
+ * Broadpeak streaming session options.
311
+ */
312
+ sessionOptions: clpp.BroadpeakSessionOptions;
309
313
  /**
310
314
  * The Unique User Identifier.
311
315
  */
312
316
  uuid: string;
313
317
  }
314
318
 
319
+ /**
320
+ * Broadpeak streaming session options passed to SmartLib.
321
+ * Use StreamingSessionOptions constants as keys.
322
+ * See {@link https://delivery-platform.broadpeak.tv/smartlib/public/advanced-features/session-options|Broadpeak session options docs}.
323
+ */
324
+ export type BroadpeakSessionOptions = Record<string, any>;
325
+
315
326
  /**
316
327
  * Chromecast configuration.
317
328
  */
@@ -321,7 +332,7 @@ export namespace clpp {
321
332
  */
322
333
  useSenderAbrConfig?: boolean;
323
334
  /**
324
- * Enable to pass on current sender {@link clpp.StreamingConfiguration} to reciver.
335
+ * Enable to pass on current sender {@link clpp.StreamingConfiguration} to receiver.
325
336
  */
326
337
  useSenderStreamingConfig?: boolean;
327
338
  }
@@ -642,58 +653,6 @@ export namespace clpp {
642
653
  persistentState: boolean;
643
654
  }
644
655
 
645
- /**
646
- * Contains information about an EMSG MP4 box.
647
- */
648
- export type EmsgInfo = {
649
- /**
650
- * The time that the event ends (in presentation time).
651
- */
652
- endTime: number;
653
- /**
654
- * The duration of the event (in units of timescale).
655
- */
656
- eventDuration: number;
657
- /**
658
- * A field identifying this instance of the message.
659
- */
660
- id: number;
661
- /**
662
- * Body of the message.
663
- */
664
- messageData: Uint8Array;
665
- /**
666
- * The absolute event presentation time (in units of timescale).
667
- * Available for EMSG v1.
668
- */
669
- presentationTime?: number;
670
- /**
671
- * The offset that the event starts, relative to the start of the segment
672
- * this is contained in (in units of timescale). Available for EMSG v0.
673
- */
674
- presentationTimeDelta?: number;
675
- /**
676
- * Identifies the message scheme.
677
- */
678
- schemeIdUri: string;
679
- /**
680
- * The time that the event starts (in presentation time).
681
- */
682
- startTime: number;
683
- /**
684
- * Provides the timescale, in ticks per second.
685
- */
686
- timescale: number;
687
- /**
688
- * Specifies the value for the event.
689
- */
690
- value: string;
691
- /**
692
- * Version of the EMSG box (0 or 1).
693
- */
694
- version: number;
695
- }
696
-
697
656
  /**
698
657
  * The type for event listener callback functions.
699
658
  */
@@ -800,11 +759,11 @@ export namespace clpp {
800
759
  */
801
760
  id: string;
802
761
  /**
803
- * Maximum duration of the slot allowed.
762
+ * Maximum duration of the slot allowed in seconds.
804
763
  */
805
764
  maxDuration?: number;
806
765
  /**
807
- * Minimum duration of the slot allowed.
766
+ * Minimum duration of the slot allowed in seconds.
808
767
  */
809
768
  minDuration?: number;
810
769
  /**
@@ -860,12 +819,12 @@ export namespace clpp {
860
819
  * There are platforms where the video size is fixed (for example Smart TVs)
861
820
  * and the resize observer might be disabled to not cause unnecessary load.
862
821
  */
863
- enableResizeObserver: boolean;
822
+ enableResizeObserver?: boolean;
864
823
  /**
865
824
  * Stretch a subtitle image (like SMPTE-TT or IMSC1) to fit the surrounding
866
825
  * container.
867
826
  */
868
- stretchSmpteImage: boolean;
827
+ stretchSmpteImage?: boolean;
869
828
  }
870
829
 
871
830
  /**
@@ -1319,7 +1278,7 @@ export namespace clpp {
1319
1278
  */
1320
1279
  abr?: Partial<clpp.AbrConfiguration>;
1321
1280
  /**
1322
- * Adobe analytics plugin configuration.
1281
+ * Deprecated. Adobe analytics plugin configuration.
1323
1282
  */
1324
1283
  adobe?: Partial<clpp.AdobeConfiguration>;
1325
1284
  /**
@@ -1327,7 +1286,10 @@ export namespace clpp {
1327
1286
  */
1328
1287
  ads?: Partial<clpp.AdsConfiguration>;
1329
1288
  /**
1330
- * Configures the autoplay behavior.
1289
+ * If true, video automatically starts playback after {@link clpp.Player#open()|player.open()}.
1290
+ * Before configuring this please make sure you are familiar with browser
1291
+ * autoplay policies limiting autoplay on page load
1292
+ * {@link https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Autoplay}.
1331
1293
  */
1332
1294
  autoplay?: boolean;
1333
1295
  /**
@@ -1352,9 +1314,7 @@ export namespace clpp {
1352
1314
  */
1353
1315
  drm?: Partial<clpp.DrmConfiguration>|null;
1354
1316
  /**
1355
- * The DRM configuration resolver. Only works on MSE, not compatible
1356
- * with {@link clpp.onboard.OnboardComponent}, {@link clpp.drm.HeaderDrmComponent}
1357
- * nor {@link clpp.verimatrix.VcasComponent}.
1317
+ * The DRM configuration resolver. Only works on MSE.
1358
1318
  */
1359
1319
  drmResolver?: Partial<clpp.DrmConfigurationResolver>;
1360
1320
  /**
@@ -1589,7 +1549,7 @@ export namespace clpp {
1589
1549
  */
1590
1550
  viewerId?: string;
1591
1551
  /**
1592
- * Vimond plugin configuration.
1552
+ * Deprecated. Vimond plugin configuration.
1593
1553
  */
1594
1554
  vimond?: Partial<clpp.VimondConfiguration>;
1595
1555
  /**
@@ -1664,13 +1624,13 @@ export namespace clpp {
1664
1624
  cropTimeline?: boolean;
1665
1625
  /**
1666
1626
  * This option applies to the single-controller playlist. It is the time
1667
- * at which the playlist should stop. The time is relative to the
1627
+ * in seconds at which the playlist should stop. The time is relative to the
1668
1628
  * start of the first playlist item and may span several items.
1669
1629
  */
1670
1630
  endTime?: number;
1671
1631
  /**
1672
1632
  * This option applies to the single-controller playlist. IT is the time
1673
- * within the first playlist item at which the playlist should start
1633
+ * in seconds within the first playlist item at which the playlist should start
1674
1634
  * playback. The time is relative to the start of the first playlist item.
1675
1635
  */
1676
1636
  startTime?: number;
@@ -2002,18 +1962,17 @@ export namespace clpp {
2002
1962
  */
2003
1963
  adParameters?: string;
2004
1964
  /**
2005
- * The duration of the SIMID creative
1965
+ * The duration of the SIMID creative in seconds
2006
1966
  */
2007
1967
  duration: number;
2008
1968
  /**
2009
- * Pre-load the creative. The value here is the
2010
- * delta from the startTime. For example, preload=5 would mean that the
2011
- * player will load the creative at startTime-5.
1969
+ * The offset in seconds before the startTime at
1970
+ * which to preload the creative
2012
1971
  */
2013
- preload: number;
1972
+ preload?: number;
2014
1973
  /**
2015
1974
  * The start time in seconds relative to the main
2016
- * content timeline.
1975
+ * content timeline
2017
1976
  */
2018
1977
  startTime: number;
2019
1978
  /**
@@ -2267,6 +2226,13 @@ export namespace clpp {
2267
2226
  * When set to |true|, live edge chasing algorithm will be enabled.
2268
2227
  */
2269
2228
  enableLiveEdgeChasing: boolean;
2229
+ /**
2230
+ * Defaults to true.
2231
+ *
2232
+ * When enabled, the player monitors segment downloads and aborts
2233
+ * any request that has been running longer than rebufferingGoal.
2234
+ */
2235
+ enableStalledSegmentAbort?: boolean;
2270
2236
  /**
2271
2237
  * If this is true, native TS support will be used where possible. Otherwise
2272
2238
  * we will transmux TS content even if not strictly necessary
@@ -3266,17 +3232,11 @@ export namespace clpp {
3266
3232
  */
3267
3233
  LOADEDMETADATA = "loadedmetadata",
3268
3234
  /**
3269
- * Triggered when player ends buffering.
3270
- * The detail will contains the
3271
- * {@link clpp.events.BufferingDetails|BufferingDetails} that exposes the
3272
- * reason for the buffering start.
3235
+ * Triggered when player finishes buffering.
3273
3236
  */
3274
3237
  BUFFERING_ENDED = "bufferingended",
3275
3238
  /**
3276
3239
  * Triggered when player starts buffering.
3277
- * The detail will contains the
3278
- * {@link clpp.events.BufferingDetails|BufferingDetails} that exposes the
3279
- * reason for the buffering start.
3280
3240
  */
3281
3241
  BUFFERING_STARTED = "bufferingstarted",
3282
3242
  /**
@@ -3343,11 +3303,6 @@ export namespace clpp {
3343
3303
  * Triggered when an audio segment is appended or removed
3344
3304
  */
3345
3305
  AUDIO_BUFFER_CHANGED = "audiobufferchanged",
3346
- /**
3347
- * Triggered when a video or audio segment was downloaded successfully
3348
- * and considered by the players bandwidth estimation.
3349
- */
3350
- DOWNLOAD_TRACE = "downloadtrace",
3351
3306
  /**
3352
3307
  * Triggered when the players DRM session is created.
3353
3308
  */
@@ -3603,15 +3558,6 @@ export namespace clpp {
3603
3558
  * Triggered by the Yospace plugin when the Yospace session has been shut down.
3604
3559
  */
3605
3560
  YOSPACE_SESSION_ENDED = "yospace-session-ended",
3606
- /**
3607
- * Triggered when location selection and priorities are updated
3608
- * for a BaseUriCollection
3609
- */
3610
- CONTENT_STEERING_CHANGE = "content-steering-change",
3611
- /**
3612
- * Triggered when a service location is banned/unbanned
3613
- */
3614
- CONTENT_STEERING_LOCATION_BAN_UPDATE = "content-steering-location-ban-update",
3615
3561
  }
3616
3562
 
3617
3563
  /**
@@ -3704,7 +3650,7 @@ export namespace clpp {
3704
3650
  * The default behavior includes gaps, meaning if the playhead is in a
3705
3651
  * gap, it is considered buffered.
3706
3652
  *
3707
- * @param time The time
3653
+ * @param time time in seconds
3708
3654
  * @param opt_includeGaps If false, gaps will not be
3709
3655
  * included, meaning if the time is in a gap it will be considered
3710
3656
  * un-buffered. The default is to consider gaps as buffered.
@@ -3735,8 +3681,9 @@ export namespace clpp {
3735
3681
  * 'message' property, which will be used as the error message
3736
3682
  * @param opt_error Optional cause. This will be available as the cause
3737
3683
  * for this error.
3684
+ * @param opt_svtaCode Optional SVTA code.
3738
3685
  */
3739
- constructor(severity: clpp.Error.Severity, category: clpp.Error.Category, code: clpp.Error.Code, opt_data?: Record<string, any>|string, opt_error?: any);
3686
+ constructor(severity: clpp.Error.Severity, category: clpp.Error.Category, code: clpp.Error.Code, opt_data?: Record<string, any>|string, opt_error?: any, opt_svtaCode?: number);
3740
3687
  /**
3741
3688
  * The error category.
3742
3689
  */
@@ -3761,6 +3708,10 @@ export namespace clpp {
3761
3708
  * The error severity.
3762
3709
  */
3763
3710
  severity: clpp.Error.Severity;
3711
+ /**
3712
+ * The SVTA error code.
3713
+ */
3714
+ svtaCode: number;
3764
3715
  }
3765
3716
 
3766
3717
  /**
@@ -3809,7 +3760,7 @@ export namespace clpp {
3809
3760
  destroy(): Promise<void>;
3810
3761
  /**
3811
3762
  * Returns the ads manager or null if not available.
3812
- * The ads manager is available when {@link clpp.Player.open} is resolved.
3763
+ * The ads manager is available when {@link clpp.Player#open} is resolved.
3813
3764
  */
3814
3765
  getAdsManager(): clpp.ads.IAdsManager|null;
3815
3766
  /**
@@ -4964,7 +4915,7 @@ export namespace clpp {
4964
4915
  /**
4965
4916
  * The WebM header parser was unable to locate the Duration element.
4966
4917
  * The init segment data may be corrupt or may have been incorrectly encoded.
4967
- * Shaka requires a duration in WebM DASH content.
4918
+ * Duration information in WebM DASH content is required.
4968
4919
  */
4969
4920
  WEBM_DURATION_ELEMENT_MISSING = 3011,
4970
4921
  /**
@@ -5769,12 +5720,6 @@ export namespace clpp {
5769
5720
  }
5770
5721
  }
5771
5722
 
5772
- namespace adobe {
5773
- export class AdobeAnalyticsPlugin {
5774
- static Id: string;
5775
- }
5776
- }
5777
-
5778
5723
  namespace ads {
5779
5724
  export interface IAd {
5780
5725
  /**
@@ -6211,10 +6156,6 @@ export namespace clpp {
6211
6156
  setPlayerConfigInterceptor(interceptor: clpp.cast.utils.PlayerConfigInterceptor|null): void;
6212
6157
  }
6213
6158
 
6214
- export class CastUtils {
6215
-
6216
- }
6217
-
6218
6159
  export class Queue {
6219
6160
 
6220
6161
  }
@@ -6898,10 +6839,6 @@ export namespace clpp {
6898
6839
  }
6899
6840
 
6900
6841
  namespace eme {
6901
- export class EmeFactory {
6902
-
6903
- }
6904
-
6905
6842
  namespace EmeFactory {
6906
6843
  /**
6907
6844
  * Versions of Encrypted Media Extensions (EME) API.
@@ -6959,13 +6896,12 @@ export namespace clpp {
6959
6896
  * Container object that contains meta-data for a buffering event.
6960
6897
  * The object is send with
6961
6898
  * {@link clpp.events.BUFFERING_STARTED|BUFFERING_STARTED} and
6962
- * {@link clpp.events.BUFFERING_ENDED|BUFFERING_ENDED} events. Please
6963
- * note that the bufferedTimeMs will be -1 for a CLPP_BUFFERING_STARTED event.
6899
+ * {@link clpp.events.BUFFERING_ENDED|BUFFERING_ENDED} events.
6964
6900
  */
6965
6901
  export type BufferingDetails = {
6966
6902
  /**
6967
- * The time the player spend in buffering state or -1 for
6968
- * BUFFERING_STARTED events
6903
+ * The time in milliseconds the player spent in buffering state or -1
6904
+ * in case of BUFFERING_STARTED events
6969
6905
  */
6970
6906
  bufferedTimeMS: number;
6971
6907
  /**
@@ -7002,13 +6938,13 @@ export namespace clpp {
7002
6938
  */
7003
6939
  maxSuggestedBitrateKbps?: number;
7004
6940
  /**
7005
- * The time elapsed between the receipt of the request
6941
+ * The time in milliseconds elapsed between the receipt of the request
7006
6942
  * and when the first byte of the body becomes available to send to the client.
7007
6943
  * Header-Key: rd
7008
6944
  */
7009
6945
  responseDelay?: number;
7010
6946
  /**
7011
- * Estimated round trip time between client and server.
6947
+ * Estimated round trip time in milliseconds between client and server.
7012
6948
  * This estimate may be derived from the transport handshake.
7013
6949
  * Header-Key: rtt
7014
6950
  */
@@ -7279,6 +7215,9 @@ export namespace clpp {
7279
7215
  * to the presentation). |endTime| will be greater to equal to |startTime|.
7280
7216
  * |remove| should only return |false| if the displayer has been destroyed. If
7281
7217
  * the displayer has not been destroyed |remove| should return |true|.
7218
+ *
7219
+ * @param startTime start time in seconds
7220
+ * @param endTime end time in seconds
7282
7221
  */
7283
7222
  remove(startTime: number, endTime: number): boolean;
7284
7223
  /**
@@ -7631,45 +7570,6 @@ export namespace clpp {
7631
7570
  timeout: number;
7632
7571
  }
7633
7572
 
7634
- /**
7635
- * Container object that contains information about a single download trace.
7636
- * The object is send with
7637
- * {@link clpp.events.DOWNLOAD_TRACE|DOWNLOAD_TRACE} events.
7638
- */
7639
- export type DownloadTrace = {
7640
- /**
7641
- * The current bandwidth estimation after the sample was pushed.
7642
- */
7643
- bandwidthEstimate: number;
7644
- /**
7645
- * The calculated speed of the download in bps
7646
- */
7647
- bitrate: number;
7648
- /**
7649
- * The type of the downloaded segment. One of 'audio', 'video', or 'text' if
7650
- * known.
7651
- */
7652
- contentType: string;
7653
- /**
7654
- * True if the downloaded segment was an init segment.
7655
- */
7656
- initSegment: boolean;
7657
- /**
7658
- * The number of bytes downloaded
7659
- */
7660
- size: number;
7661
- /**
7662
- * The download time in milliseconds
7663
- */
7664
- time: number;
7665
- /**
7666
- * Either 'full' or 'partial'. Full trace events are posted after the entire
7667
- * segment was downloaded while partial traces are posted during an ongoing
7668
- * download.
7669
- */
7670
- type: string;
7671
- }
7672
-
7673
7573
  export type Mp4Fragment = {
7674
7574
  /**
7675
7575
  * The number of mdat boxes in this fragment or
@@ -7755,7 +7655,7 @@ export namespace clpp {
7755
7655
  */
7756
7656
  disableMergedFragments: boolean|null;
7757
7657
  /**
7758
- * The media end time or null
7658
+ * The media end time in seconds or null
7759
7659
  */
7760
7660
  endTime: number|null;
7761
7661
  /**
@@ -7829,7 +7729,7 @@ export namespace clpp {
7829
7729
  */
7830
7730
  sessionId: string|null;
7831
7731
  /**
7832
- * The media start time or null
7732
+ * The media start time in seconds or null
7833
7733
  */
7834
7734
  startTime: number|null;
7835
7735
  /**
@@ -9572,20 +9472,6 @@ export namespace clpp {
9572
9472
  }
9573
9473
  }
9574
9474
 
9575
- namespace vimond {
9576
- export class VimondPlugin {
9577
- static Id: string;
9578
- /**
9579
- * Update the auth token.
9580
- * The auth token may expire during playback.
9581
- * Pass a fresh auth token regularly to prevent failure.
9582
- *
9583
- * @param authToken Authentication token
9584
- */
9585
- updateAuthToken(authToken: string): void;
9586
- }
9587
- }
9588
-
9589
9475
  namespace vr {
9590
9476
  export class VrPlugin {
9591
9477
  static Id: string;