@gcorevideo/player 2.19.14 → 2.19.15

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 (77) hide show
  1. package/assets/level-selector/list.ejs +2 -2
  2. package/dist/core.js +1 -1
  3. package/dist/index.css +1054 -1054
  4. package/dist/index.js +1232 -1154
  5. package/dist/player.d.ts +157 -22
  6. package/dist/plugins/index.css +634 -634
  7. package/dist/plugins/index.js +1024 -944
  8. package/docs/api/player.bottomgear.getelement.md +56 -0
  9. package/docs/api/player.bottomgear.md +51 -0
  10. package/docs/api/player.bottomgear.setcontent.md +56 -0
  11. package/docs/api/{player.subtitles.levelelement.md → player.gearevents.md} +11 -13
  12. package/docs/api/{player.sourcecontroller.name.md → player.gearitemelement.md} +5 -3
  13. package/docs/api/player.levelselector.md +9 -1
  14. package/docs/api/player.md +37 -0
  15. package/docs/api/{player.sourcecontroller.supportedversion.md → player.mediacontrol.getrightpanel.md} +11 -5
  16. package/docs/api/player.mediacontrol.md +14 -0
  17. package/docs/api/player.mediacontrolelement.md +1 -1
  18. package/docs/api/player.sourcecontroller.md +0 -90
  19. package/docs/api/player.spinnerevents.md +49 -0
  20. package/docs/api/player.spinnerthreebounce._constructor_.md +3 -0
  21. package/docs/api/player.spinnerthreebounce.hide.md +5 -0
  22. package/docs/api/player.spinnerthreebounce.md +14 -95
  23. package/docs/api/player.spinnerthreebounce.show.md +6 -37
  24. package/docs/api/player.subtitles.hide.md +5 -0
  25. package/docs/api/player.subtitles.md +23 -275
  26. package/docs/api/player.subtitles.show.md +5 -0
  27. package/lib/plugins/bottom-gear/BottomGear.d.ts +20 -1
  28. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  29. package/lib/plugins/bottom-gear/BottomGear.js +28 -7
  30. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +4 -4
  31. package/lib/plugins/level-selector/LevelSelector.d.ts +10 -3
  32. package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
  33. package/lib/plugins/level-selector/LevelSelector.js +20 -19
  34. package/lib/plugins/media-control/MediaControl.d.ts +6 -2
  35. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  36. package/lib/plugins/media-control/MediaControl.js +40 -39
  37. package/lib/plugins/source-controller/SourceController.d.ts +9 -0
  38. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  39. package/lib/plugins/source-controller/SourceController.js +11 -1
  40. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +35 -1
  41. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  42. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +46 -23
  43. package/lib/plugins/subtitles/Subtitles.d.ts +65 -16
  44. package/lib/plugins/subtitles/Subtitles.d.ts.map +1 -1
  45. package/lib/plugins/subtitles/Subtitles.js +131 -109
  46. package/package.json +1 -1
  47. package/src/plugins/bottom-gear/BottomGear.ts +26 -4
  48. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +4 -4
  49. package/src/plugins/level-selector/LevelSelector.ts +22 -19
  50. package/src/plugins/media-control/MediaControl.ts +43 -41
  51. package/src/plugins/source-controller/SourceController.ts +11 -1
  52. package/src/plugins/source-controller/__tests__/SourceController.test.ts +1 -1
  53. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +46 -22
  54. package/src/plugins/subtitles/Subtitles.ts +146 -155
  55. package/temp/player.api.json +293 -822
  56. package/tsconfig.tsbuildinfo +1 -1
  57. package/docs/api/player.sourcecontroller.version.md +0 -14
  58. package/docs/api/player.spinnerthreebounce.attributes.md +0 -14
  59. package/docs/api/player.spinnerthreebounce.name.md +0 -11
  60. package/docs/api/player.spinnerthreebounce.render.md +0 -15
  61. package/docs/api/player.spinnerthreebounce.supportedversion.md +0 -13
  62. package/docs/api/player.subtitles.attributes.md +0 -14
  63. package/docs/api/player.subtitles.bindevents.md +0 -15
  64. package/docs/api/player.subtitles.buttonelement.md +0 -15
  65. package/docs/api/player.subtitles.events.md +0 -14
  66. package/docs/api/player.subtitles.name.md +0 -11
  67. package/docs/api/player.subtitles.preselectedlanguage.md +0 -11
  68. package/docs/api/player.subtitles.reload.md +0 -15
  69. package/docs/api/player.subtitles.render.md +0 -15
  70. package/docs/api/player.subtitles.selectsubtitles.md +0 -15
  71. package/docs/api/player.subtitles.startlevelswitch.md +0 -15
  72. package/docs/api/player.subtitles.stoplevelswitch.md +0 -15
  73. package/docs/api/player.subtitles.supportedversion.md +0 -13
  74. package/docs/api/player.subtitles.template.md +0 -11
  75. package/docs/api/player.subtitles.templatestring.md +0 -11
  76. package/docs/api/player.subtitles.unbindevents.md +0 -15
  77. package/docs/api/player.subtitles.version.md +0 -11
@@ -3180,7 +3180,7 @@ var triggerEvents = function triggerEvents(events, args, klass, name) {
3180
3180
  * @constructor
3181
3181
  * @module base
3182
3182
  */
3183
- var Events$2 = /*#__PURE__*/function () {
3183
+ var Events$1 = /*#__PURE__*/function () {
3184
3184
  function Events() {
3185
3185
  _classCallCheck(this, Events);
3186
3186
  }
@@ -3328,7 +3328,7 @@ var Events$2 = /*#__PURE__*/function () {
3328
3328
  }
3329
3329
  }]);
3330
3330
  }();
3331
- Events$2.prototype.listenTo = function (obj, name, callback) {
3331
+ Events$1.prototype.listenTo = function (obj, name, callback) {
3332
3332
  var listeningTo = this._listeningTo || (this._listeningTo = {});
3333
3333
  var id = obj._listenId || (obj._listenId = uniqueId('l'));
3334
3334
  listeningTo[id] = obj;
@@ -3349,7 +3349,7 @@ Events$2.prototype.listenTo = function (obj, name, callback) {
3349
3349
  * this.listenToOnce(this.core.playback, Events.PLAYBACK_PAUSE, this.callback)
3350
3350
  * ```
3351
3351
  */
3352
- Events$2.prototype.listenToOnce = function (obj, name, callback) {
3352
+ Events$1.prototype.listenToOnce = function (obj, name, callback) {
3353
3353
  var listeningTo = this._listeningTo || (this._listeningTo = {});
3354
3354
  var id = obj._listenId || (obj._listenId = uniqueId('l'));
3355
3355
  listeningTo[id] = obj;
@@ -3364,59 +3364,59 @@ Events$2.prototype.listenToOnce = function (obj, name, callback) {
3364
3364
  *
3365
3365
  * @event PLAYER_READY
3366
3366
  */
3367
- Events$2.PLAYER_READY = 'ready';
3367
+ Events$1.PLAYER_READY = 'ready';
3368
3368
  /**
3369
3369
  * Fired when player resizes
3370
3370
  *
3371
3371
  * @event PLAYER_RESIZE
3372
3372
  * @param {Object} currentSize an object with the current size
3373
3373
  */
3374
- Events$2.PLAYER_RESIZE = 'resize';
3374
+ Events$1.PLAYER_RESIZE = 'resize';
3375
3375
  /**
3376
3376
  * Fired when player changes its fullscreen state
3377
3377
  *
3378
3378
  * @event PLAYER_FULLSCREEN
3379
3379
  * @param {Boolean} whether or not the player is on fullscreen mode
3380
3380
  */
3381
- Events$2.PLAYER_FULLSCREEN = 'fullscreen';
3381
+ Events$1.PLAYER_FULLSCREEN = 'fullscreen';
3382
3382
  /**
3383
3383
  * Fired when player starts to play
3384
3384
  *
3385
3385
  * @event PLAYER_PLAY
3386
3386
  */
3387
- Events$2.PLAYER_PLAY = 'play';
3387
+ Events$1.PLAYER_PLAY = 'play';
3388
3388
  /**
3389
3389
  * Fired when player pauses
3390
3390
  *
3391
3391
  * @event PLAYER_PAUSE
3392
3392
  */
3393
- Events$2.PLAYER_PAUSE = 'pause';
3393
+ Events$1.PLAYER_PAUSE = 'pause';
3394
3394
  /**
3395
3395
  * Fired when player stops
3396
3396
  *
3397
3397
  * @event PLAYER_STOP
3398
3398
  */
3399
- Events$2.PLAYER_STOP = 'stop';
3399
+ Events$1.PLAYER_STOP = 'stop';
3400
3400
  /**
3401
3401
  * Fired when player ends the video
3402
3402
  *
3403
3403
  * @event PLAYER_ENDED
3404
3404
  */
3405
- Events$2.PLAYER_ENDED = 'ended';
3405
+ Events$1.PLAYER_ENDED = 'ended';
3406
3406
  /**
3407
3407
  * Fired when player seeks the video
3408
3408
  *
3409
3409
  * @event PLAYER_SEEK
3410
3410
  * @param {Number} time the current time in seconds
3411
3411
  */
3412
- Events$2.PLAYER_SEEK = 'seek';
3412
+ Events$1.PLAYER_SEEK = 'seek';
3413
3413
  /**
3414
3414
  * Fired when player receives an error
3415
3415
  *
3416
3416
  * @event PLAYER_ERROR
3417
3417
  * @param {Object} error the error
3418
3418
  */
3419
- Events$2.PLAYER_ERROR = 'playererror';
3419
+ Events$1.PLAYER_ERROR = 'playererror';
3420
3420
  /**
3421
3421
  * Fired when there is an error
3422
3422
  *
@@ -3436,7 +3436,7 @@ Events$2.PLAYER_ERROR = 'playererror';
3436
3436
  * @param {String} [options.raw]
3437
3437
  * raw error: the initial error received
3438
3438
  */
3439
- Events$2.ERROR = 'error';
3439
+ Events$1.ERROR = 'error';
3440
3440
  /**
3441
3441
  * Fired when the time is updated on player
3442
3442
  *
@@ -3448,33 +3448,33 @@ Events$2.ERROR = 'error';
3448
3448
  * @param {Number} [progress.total]
3449
3449
  * total time (in seconds)
3450
3450
  */
3451
- Events$2.PLAYER_TIMEUPDATE = 'timeupdate';
3451
+ Events$1.PLAYER_TIMEUPDATE = 'timeupdate';
3452
3452
  /**
3453
3453
  * Fired when player updates its volume
3454
3454
  *
3455
3455
  * @event PLAYER_VOLUMEUPDATE
3456
3456
  * @param {Number} volume the current volume
3457
3457
  */
3458
- Events$2.PLAYER_VOLUMEUPDATE = 'volumeupdate';
3458
+ Events$1.PLAYER_VOLUMEUPDATE = 'volumeupdate';
3459
3459
 
3460
3460
  /**
3461
3461
  * Fired when subtitle is available
3462
3462
  *
3463
3463
  * @event PLAYER_SUBTITLE_AVAILABLE
3464
3464
  */
3465
- Events$2.PLAYER_SUBTITLE_AVAILABLE = 'subtitleavailable';
3465
+ Events$1.PLAYER_SUBTITLE_AVAILABLE = 'subtitleavailable';
3466
3466
 
3467
3467
  // Playback Events
3468
3468
  /** Fired when picture-in-picture mode is entered
3469
3469
  *
3470
3470
  * @event PLAYBACK_PIP_ENTER
3471
3471
  */
3472
- Events$2.PLAYBACK_PIP_ENTER = 'playback:picture-in-picture:enter';
3472
+ Events$1.PLAYBACK_PIP_ENTER = 'playback:picture-in-picture:enter';
3473
3473
  /** Fired when picture-in-picture mode is exited
3474
3474
  *
3475
3475
  * @event PLAYBACK_PIP_EXIT
3476
3476
  */
3477
- Events$2.PLAYBACK_PIP_EXIT = 'playback:picture-in-picture:exit';
3477
+ Events$1.PLAYBACK_PIP_EXIT = 'playback:picture-in-picture:exit';
3478
3478
  /**
3479
3479
  * Fired when the playback is downloading the media
3480
3480
  *
@@ -3490,7 +3490,7 @@ Events$2.PLAYBACK_PIP_EXIT = 'playback:picture-in-picture:exit';
3490
3490
  * @param buffered {Array}
3491
3491
  * array of buffered segments ({start, end}). [Only for supported playbacks]
3492
3492
  */
3493
- Events$2.PLAYBACK_PROGRESS = 'playback:progress';
3493
+ Events$1.PLAYBACK_PROGRESS = 'playback:progress';
3494
3494
  /**
3495
3495
  * Fired when the time is updated on playback
3496
3496
  *
@@ -3502,13 +3502,13 @@ Events$2.PLAYBACK_PROGRESS = 'playback:progress';
3502
3502
  * @param {Number} [progress.total]
3503
3503
  * total time (in seconds)
3504
3504
  */
3505
- Events$2.PLAYBACK_TIMEUPDATE = 'playback:timeupdate';
3505
+ Events$1.PLAYBACK_TIMEUPDATE = 'playback:timeupdate';
3506
3506
  /**
3507
3507
  * Fired when playback is ready
3508
3508
  *
3509
3509
  * @event PLAYBACK_READY
3510
3510
  */
3511
- Events$2.PLAYBACK_READY = 'playback:ready';
3511
+ Events$1.PLAYBACK_READY = 'playback:ready';
3512
3512
  /**
3513
3513
  * Fired when the playback starts having to buffer because
3514
3514
  * playback can currently not be smooth.
@@ -3518,7 +3518,7 @@ Events$2.PLAYBACK_READY = 'playback:ready';
3518
3518
  *
3519
3519
  * @event PLAYBACK_BUFFERING
3520
3520
  */
3521
- Events$2.PLAYBACK_BUFFERING = 'playback:buffering';
3521
+ Events$1.PLAYBACK_BUFFERING = 'playback:buffering';
3522
3522
  /**
3523
3523
  * Fired when the playback has enough in the buffer to be
3524
3524
  * able to play smoothly, after previously being unable to
@@ -3529,13 +3529,13 @@ Events$2.PLAYBACK_BUFFERING = 'playback:buffering';
3529
3529
  *
3530
3530
  * @event PLAYBACK_BUFFERFULL
3531
3531
  */
3532
- Events$2.PLAYBACK_BUFFERFULL = 'playback:bufferfull';
3532
+ Events$1.PLAYBACK_BUFFERFULL = 'playback:bufferfull';
3533
3533
  /**
3534
3534
  * Fired when playback changes any settings (volume, seek and etc)
3535
3535
  *
3536
3536
  * @event PLAYBACK_SETTINGSUPDATE
3537
3537
  */
3538
- Events$2.PLAYBACK_SETTINGSUPDATE = 'playback:settingsupdate';
3538
+ Events$1.PLAYBACK_SETTINGSUPDATE = 'playback:settingsupdate';
3539
3539
  /**
3540
3540
  * Fired when playback loaded its metadata
3541
3541
  *
@@ -3547,7 +3547,7 @@ Events$2.PLAYBACK_SETTINGSUPDATE = 'playback:settingsupdate';
3547
3547
  * @param {Object} [metadata.data]
3548
3548
  * extra meta data
3549
3549
  */
3550
- Events$2.PLAYBACK_LOADEDMETADATA = 'playback:loadedmetadata';
3550
+ Events$1.PLAYBACK_LOADEDMETADATA = 'playback:loadedmetadata';
3551
3551
  /**
3552
3552
  * Fired when playback updates its video quality
3553
3553
  *
@@ -3555,7 +3555,7 @@ Events$2.PLAYBACK_LOADEDMETADATA = 'playback:loadedmetadata';
3555
3555
  * @param {Boolean} isHD
3556
3556
  * true when is on HD, false otherwise
3557
3557
  */
3558
- Events$2.PLAYBACK_HIGHDEFINITIONUPDATE = 'playback:highdefinitionupdate';
3558
+ Events$1.PLAYBACK_HIGHDEFINITIONUPDATE = 'playback:highdefinitionupdate';
3559
3559
  /**
3560
3560
  * Fired when playback updates its bitrate
3561
3561
  *
@@ -3571,7 +3571,7 @@ Events$2.PLAYBACK_HIGHDEFINITIONUPDATE = 'playback:highdefinitionupdate';
3571
3571
  * @param {Number} [bitrate.level]
3572
3572
  * playback level when it's available, it could be just a map for width (0 => 240, 1 => 480, 2 => 720)
3573
3573
  */
3574
- Events$2.PLAYBACK_BITRATE = 'playback:bitrate';
3574
+ Events$1.PLAYBACK_BITRATE = 'playback:bitrate';
3575
3575
  /**
3576
3576
  * Fired when the playback has its levels
3577
3577
  *
@@ -3581,21 +3581,21 @@ Events$2.PLAYBACK_BITRATE = 'playback:bitrate';
3581
3581
  * @param {Number} initial
3582
3582
  * the initial level otherwise -1 (AUTO)
3583
3583
  */
3584
- Events$2.PLAYBACK_LEVELS_AVAILABLE = 'playback:levels:available';
3584
+ Events$1.PLAYBACK_LEVELS_AVAILABLE = 'playback:levels:available';
3585
3585
  /**
3586
3586
  * Fired when the playback starts to switch level
3587
3587
  *
3588
3588
  * @event PLAYBACK_LEVEL_SWITCH_START
3589
3589
  *
3590
3590
  */
3591
- Events$2.PLAYBACK_LEVEL_SWITCH_START = 'playback:levels:switch:start';
3591
+ Events$1.PLAYBACK_LEVEL_SWITCH_START = 'playback:levels:switch:start';
3592
3592
  /**
3593
3593
  * Fired when the playback ends the level switch
3594
3594
  *
3595
3595
  * @event PLAYBACK_LEVEL_SWITCH_END
3596
3596
  *
3597
3597
  */
3598
- Events$2.PLAYBACK_LEVEL_SWITCH_END = 'playback:levels:switch:end';
3598
+ Events$1.PLAYBACK_LEVEL_SWITCH_END = 'playback:levels:switch:end';
3599
3599
 
3600
3600
  /**
3601
3601
  * Fired when playback internal state changes
@@ -3606,31 +3606,31 @@ Events$2.PLAYBACK_LEVEL_SWITCH_END = 'playback:levels:switch:end';
3606
3606
  * @param {String} [state.type]
3607
3607
  * the playback type
3608
3608
  */
3609
- Events$2.PLAYBACK_PLAYBACKSTATE = 'playback:playbackstate';
3609
+ Events$1.PLAYBACK_PLAYBACKSTATE = 'playback:playbackstate';
3610
3610
  /**
3611
3611
  * Fired when DVR becomes enabled/disabled.
3612
3612
  *
3613
3613
  * @event PLAYBACK_DVR
3614
3614
  * @param {boolean} state true if dvr enabled
3615
3615
  */
3616
- Events$2.PLAYBACK_DVR = 'playback:dvr';
3616
+ Events$1.PLAYBACK_DVR = 'playback:dvr';
3617
3617
  // TODO doc
3618
- Events$2.PLAYBACK_MEDIACONTROL_DISABLE = 'playback:mediacontrol:disable';
3618
+ Events$1.PLAYBACK_MEDIACONTROL_DISABLE = 'playback:mediacontrol:disable';
3619
3619
  // TODO doc
3620
- Events$2.PLAYBACK_MEDIACONTROL_ENABLE = 'playback:mediacontrol:enable';
3620
+ Events$1.PLAYBACK_MEDIACONTROL_ENABLE = 'playback:mediacontrol:enable';
3621
3621
  /**
3622
3622
  * Fired when the media for a playback ends.
3623
3623
  *
3624
3624
  * @event PLAYBACK_ENDED
3625
3625
  * @param {String} name the name of the playback
3626
3626
  */
3627
- Events$2.PLAYBACK_ENDED = 'playback:ended';
3627
+ Events$1.PLAYBACK_ENDED = 'playback:ended';
3628
3628
  /**
3629
3629
  * Fired when user requests `play()`
3630
3630
  *
3631
3631
  * @event PLAYBACK_PLAY_INTENT
3632
3632
  */
3633
- Events$2.PLAYBACK_PLAY_INTENT = 'playback:play:intent';
3633
+ Events$1.PLAYBACK_PLAY_INTENT = 'playback:play:intent';
3634
3634
  /**
3635
3635
  * Fired when the media for a playback starts playing.
3636
3636
  * This is not necessarily when the user requests `play()`
@@ -3640,31 +3640,31 @@ Events$2.PLAYBACK_PLAY_INTENT = 'playback:play:intent';
3640
3640
  *
3641
3641
  * @event PLAYBACK_PLAY
3642
3642
  */
3643
- Events$2.PLAYBACK_PLAY = 'playback:play';
3643
+ Events$1.PLAYBACK_PLAY = 'playback:play';
3644
3644
  /**
3645
3645
  * Fired when the media for a playback pauses.
3646
3646
  *
3647
3647
  * @event PLAYBACK_PAUSE
3648
3648
  */
3649
- Events$2.PLAYBACK_PAUSE = 'playback:pause';
3649
+ Events$1.PLAYBACK_PAUSE = 'playback:pause';
3650
3650
  /**
3651
3651
  * Fired when the media for a playback is seeking.
3652
3652
  *
3653
3653
  * @event PLAYBACK_SEEK
3654
3654
  */
3655
- Events$2.PLAYBACK_SEEK = 'playback:seek';
3655
+ Events$1.PLAYBACK_SEEK = 'playback:seek';
3656
3656
  /**
3657
3657
  * Fired when the media for a playback is seeked.
3658
3658
  *
3659
3659
  * @event PLAYBACK_SEEKED
3660
3660
  */
3661
- Events$2.PLAYBACK_SEEKED = 'playback:seeked';
3661
+ Events$1.PLAYBACK_SEEKED = 'playback:seeked';
3662
3662
  /**
3663
3663
  * Fired when the media for a playback is stopped.
3664
3664
  *
3665
3665
  * @event PLAYBACK_STOP
3666
3666
  */
3667
- Events$2.PLAYBACK_STOP = 'playback:stop';
3667
+ Events$1.PLAYBACK_STOP = 'playback:stop';
3668
3668
  /**
3669
3669
  * Fired if an error occurs in the playback.
3670
3670
  *
@@ -3672,11 +3672,11 @@ Events$2.PLAYBACK_STOP = 'playback:stop';
3672
3672
  * @param {Object} error An object containing the error details
3673
3673
  * @param {String} name Playback name
3674
3674
  */
3675
- Events$2.PLAYBACK_ERROR = 'playback:error';
3675
+ Events$1.PLAYBACK_ERROR = 'playback:error';
3676
3676
  // TODO doc
3677
- Events$2.PLAYBACK_STATS_ADD = 'playback:stats:add';
3677
+ Events$1.PLAYBACK_STATS_ADD = 'playback:stats:add';
3678
3678
  // TODO doc
3679
- Events$2.PLAYBACK_FRAGMENT_LOADED = 'playback:fragment:loaded';
3679
+ Events$1.PLAYBACK_FRAGMENT_LOADED = 'playback:fragment:loaded';
3680
3680
  /**
3681
3681
  * Fired when a fragment has been appended into buffer
3682
3682
  *
@@ -3684,15 +3684,15 @@ Events$2.PLAYBACK_FRAGMENT_LOADED = 'playback:fragment:loaded';
3684
3684
  * @param {Object} data Data
3685
3685
  *
3686
3686
  */
3687
- Events$2.PLAYBACK_FRAGMENT_BUFFERED = 'playback:fragment:buffered';
3687
+ Events$1.PLAYBACK_FRAGMENT_BUFFERED = 'playback:fragment:buffered';
3688
3688
  // TODO doc
3689
- Events$2.PLAYBACK_LEVEL_SWITCH = 'playback:level:switch';
3689
+ Events$1.PLAYBACK_LEVEL_SWITCH = 'playback:level:switch';
3690
3690
  /**
3691
3691
  * Fired when subtitle is available on playback for display
3692
3692
  *
3693
3693
  * @event PLAYBACK_SUBTITLE_AVAILABLE
3694
3694
  */
3695
- Events$2.PLAYBACK_SUBTITLE_AVAILABLE = 'playback:subtitle:available';
3695
+ Events$1.PLAYBACK_SUBTITLE_AVAILABLE = 'playback:subtitle:available';
3696
3696
  /**
3697
3697
  * Fired when playback subtitle track has changed
3698
3698
  *
@@ -3702,28 +3702,28 @@ Events$2.PLAYBACK_SUBTITLE_AVAILABLE = 'playback:subtitle:available';
3702
3702
  * @param {Number} [track.id]
3703
3703
  * selected track id
3704
3704
  */
3705
- Events$2.PLAYBACK_SUBTITLE_CHANGED = 'playback:subtitle:changed';
3705
+ Events$1.PLAYBACK_SUBTITLE_CHANGED = 'playback:subtitle:changed';
3706
3706
 
3707
3707
  /**
3708
3708
  * Fired when audio tracks are available to be used on the playback
3709
3709
  * @event PLAYBACK_AUDIO_AVAILABLE
3710
3710
  * @param {import('../playback/playback').AudioTrack[]} tracks - list of available audio tracks
3711
3711
  */
3712
- Events$2.PLAYBACK_AUDIO_AVAILABLE = 'playback:audio:available';
3712
+ Events$1.PLAYBACK_AUDIO_AVAILABLE = 'playback:audio:available';
3713
3713
 
3714
3714
  /**
3715
3715
  * Fired whenever the current audio track has changed
3716
3716
  * @event PLAYBACK_AUDIO_CHANGED
3717
3717
  * @param {import('../playback/playback').AudioTrack} track - audio track active after change
3718
3718
  */
3719
- Events$2.PLAYBACK_AUDIO_CHANGED = 'playback:audio:changed';
3719
+ Events$1.PLAYBACK_AUDIO_CHANGED = 'playback:audio:changed';
3720
3720
 
3721
3721
  /**
3722
3722
  * Fired when the playback was resized.
3723
3723
  *
3724
3724
  * @event PLAYBACK_RESIZE
3725
3725
  */
3726
- Events$2.PLAYBACK_RESIZE = 'playback:resize';
3726
+ Events$1.PLAYBACK_RESIZE = 'playback:resize';
3727
3727
 
3728
3728
  // Core Events
3729
3729
  /**
@@ -3731,40 +3731,40 @@ Events$2.PLAYBACK_RESIZE = 'playback:resize';
3731
3731
  *
3732
3732
  * @event CORE_CONTAINERS_CREATED
3733
3733
  */
3734
- Events$2.CORE_CONTAINERS_CREATED = 'core:containers:created';
3734
+ Events$1.CORE_CONTAINERS_CREATED = 'core:containers:created';
3735
3735
  /**
3736
3736
  * Fired when the active container changed
3737
3737
  *
3738
3738
  * @event CORE_ACTIVE_CONTAINER_CHANGED
3739
3739
  */
3740
- Events$2.CORE_ACTIVE_CONTAINER_CHANGED = 'core:active:container:changed';
3740
+ Events$1.CORE_ACTIVE_CONTAINER_CHANGED = 'core:active:container:changed';
3741
3741
  /**
3742
3742
  * Fired when the options were changed for the core
3743
3743
  *
3744
3744
  * @event CORE_OPTIONS_CHANGE
3745
3745
  * @param {Object} new options provided to configure() method
3746
3746
  */
3747
- Events$2.CORE_OPTIONS_CHANGE = 'core:options:change';
3747
+ Events$1.CORE_OPTIONS_CHANGE = 'core:options:change';
3748
3748
  /**
3749
3749
  * Fired after creating containers, when the core is ready
3750
3750
  *
3751
3751
  * @event CORE_READY
3752
3752
  */
3753
- Events$2.CORE_READY = 'core:ready';
3753
+ Events$1.CORE_READY = 'core:ready';
3754
3754
  /**
3755
3755
  * Fired when the fullscreen state change
3756
3756
  *
3757
3757
  * @event CORE_FULLSCREEN
3758
3758
  * @param {Boolean} whether or not the player is on fullscreen mode
3759
3759
  */
3760
- Events$2.CORE_FULLSCREEN = 'core:fullscreen';
3760
+ Events$1.CORE_FULLSCREEN = 'core:fullscreen';
3761
3761
  /**
3762
3762
  * Fired when core updates size
3763
3763
  *
3764
3764
  * @event CORE_RESIZE
3765
3765
  * @param {Object} currentSize an object with the current size
3766
3766
  */
3767
- Events$2.CORE_RESIZE = 'core:resize';
3767
+ Events$1.CORE_RESIZE = 'core:resize';
3768
3768
  /**
3769
3769
  * Fired when the screen orientation has changed.
3770
3770
  * This event is trigger only for mobile devices.
@@ -3777,21 +3777,21 @@ Events$2.CORE_RESIZE = 'core:resize';
3777
3777
  * @param {String} [screen.orientation]
3778
3778
  * screen orientation (ie: 'landscape' or 'portrait')
3779
3779
  */
3780
- Events$2.CORE_SCREEN_ORIENTATION_CHANGED = 'core:screen:orientation:changed';
3780
+ Events$1.CORE_SCREEN_ORIENTATION_CHANGED = 'core:screen:orientation:changed';
3781
3781
  /**
3782
3782
  * Fired when occurs mouse move event on core element
3783
3783
  *
3784
3784
  * @event CORE_MOUSE_MOVE
3785
3785
  * @param {Object} event a DOM event
3786
3786
  */
3787
- Events$2.CORE_MOUSE_MOVE = 'core:mousemove';
3787
+ Events$1.CORE_MOUSE_MOVE = 'core:mousemove';
3788
3788
  /**
3789
3789
  * Fired when occurs mouse leave event on core element
3790
3790
  *
3791
3791
  * @event CORE_MOUSE_LEAVE
3792
3792
  * @param {Object} event a DOM event
3793
3793
  */
3794
- Events$2.CORE_MOUSE_LEAVE = 'core:mouseleave';
3794
+ Events$1.CORE_MOUSE_LEAVE = 'core:mouseleave';
3795
3795
 
3796
3796
  // Container Events
3797
3797
  /**
@@ -3803,8 +3803,8 @@ Events$2.CORE_MOUSE_LEAVE = 'core:mouseleave';
3803
3803
  * @param {String} [state.type]
3804
3804
  * the playback type
3805
3805
  */
3806
- Events$2.CONTAINER_PLAYBACKSTATE = 'container:playbackstate';
3807
- Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED = 'container:dvr';
3806
+ Events$1.CONTAINER_PLAYBACKSTATE = 'container:playbackstate';
3807
+ Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED = 'container:dvr';
3808
3808
  /**
3809
3809
  * Fired when the container updates its bitrate
3810
3810
  *
@@ -3820,15 +3820,15 @@ Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED = 'container:dvr';
3820
3820
  * @param {Number} [bitrate.level]
3821
3821
  * playback level when it's available, it could be just a map for width (0 => 240, 1 => 480, 2 => 720)
3822
3822
  */
3823
- Events$2.CONTAINER_BITRATE = 'container:bitrate';
3824
- Events$2.CONTAINER_STATS_REPORT = 'container:stats:report';
3825
- Events$2.CONTAINER_DESTROYED = 'container:destroyed';
3823
+ Events$1.CONTAINER_BITRATE = 'container:bitrate';
3824
+ Events$1.CONTAINER_STATS_REPORT = 'container:stats:report';
3825
+ Events$1.CONTAINER_DESTROYED = 'container:destroyed';
3826
3826
  /**
3827
3827
  * Fired when the container is ready
3828
3828
  *
3829
3829
  * @event CONTAINER_READY
3830
3830
  */
3831
- Events$2.CONTAINER_READY = 'container:ready';
3831
+ Events$1.CONTAINER_READY = 'container:ready';
3832
3832
 
3833
3833
  /**
3834
3834
  * Fired when the container was resized.
@@ -3837,8 +3837,8 @@ Events$2.CONTAINER_READY = 'container:ready';
3837
3837
  *
3838
3838
  * @event CONTAINER_RESIZE
3839
3839
  */
3840
- Events$2.CONTAINER_RESIZE = 'container:resize';
3841
- Events$2.CONTAINER_ERROR = 'container:error';
3840
+ Events$1.CONTAINER_RESIZE = 'container:resize';
3841
+ Events$1.CONTAINER_ERROR = 'container:error';
3842
3842
  /**
3843
3843
  * Fired when the container loaded its metadata
3844
3844
  *
@@ -3850,14 +3850,14 @@ Events$2.CONTAINER_ERROR = 'container:error';
3850
3850
  * @param {Object} [metadata.data]
3851
3851
  * extra meta data
3852
3852
  */
3853
- Events$2.CONTAINER_LOADEDMETADATA = 'container:loadedmetadata';
3853
+ Events$1.CONTAINER_LOADEDMETADATA = 'container:loadedmetadata';
3854
3854
 
3855
3855
  /**
3856
3856
  * Fired when subtitle is available on container for display
3857
3857
  *
3858
3858
  * @event CONTAINER_SUBTITLE_AVAILABLE
3859
3859
  */
3860
- Events$2.CONTAINER_SUBTITLE_AVAILABLE = 'container:subtitle:available';
3860
+ Events$1.CONTAINER_SUBTITLE_AVAILABLE = 'container:subtitle:available';
3861
3861
  /**
3862
3862
  * Fired when subtitle track has changed
3863
3863
  *
@@ -3867,21 +3867,21 @@ Events$2.CONTAINER_SUBTITLE_AVAILABLE = 'container:subtitle:available';
3867
3867
  * @param {Number} [track.id]
3868
3868
  * selected track id
3869
3869
  */
3870
- Events$2.CONTAINER_SUBTITLE_CHANGED = 'container:subtitle:changed';
3870
+ Events$1.CONTAINER_SUBTITLE_CHANGED = 'container:subtitle:changed';
3871
3871
 
3872
3872
  /**
3873
3873
  * Fired when audio tracks are available to be used on the container
3874
3874
  * @event CONTAINER_AUDIO_AVAILABLE
3875
3875
  * @param {import('../playback/playback').AudioTrack[]} tracks - list of available audio tracks
3876
3876
  */
3877
- Events$2.CONTAINER_AUDIO_AVAILABLE = 'container:audio:available';
3877
+ Events$1.CONTAINER_AUDIO_AVAILABLE = 'container:audio:available';
3878
3878
 
3879
3879
  /**
3880
3880
  * Fired whenever the current audio track has changed
3881
3881
  * @event CONTAINER_AUDIO_CHANGED
3882
3882
  * @param {import('../playback/playback').AudioTrack} track - audio track active after change
3883
3883
  */
3884
- Events$2.CONTAINER_AUDIO_CHANGED = 'container:audio:changed';
3884
+ Events$1.CONTAINER_AUDIO_CHANGED = 'container:audio:changed';
3885
3885
 
3886
3886
  /**
3887
3887
  * Fired when the time is updated on container
@@ -3894,7 +3894,7 @@ Events$2.CONTAINER_AUDIO_CHANGED = 'container:audio:changed';
3894
3894
  * @param {Number} [progress.total]
3895
3895
  * total time (in seconds)
3896
3896
  */
3897
- Events$2.CONTAINER_TIMEUPDATE = 'container:timeupdate';
3897
+ Events$1.CONTAINER_TIMEUPDATE = 'container:timeupdate';
3898
3898
  /**
3899
3899
  * Fired when the container is downloading the media
3900
3900
  *
@@ -3908,29 +3908,29 @@ Events$2.CONTAINER_TIMEUPDATE = 'container:timeupdate';
3908
3908
  * @param {Number} [progress.total]
3909
3909
  * total content to be downloaded
3910
3910
  */
3911
- Events$2.CONTAINER_PROGRESS = 'container:progress';
3912
- Events$2.CONTAINER_PLAY = 'container:play';
3913
- Events$2.CONTAINER_STOP = 'container:stop';
3914
- Events$2.CONTAINER_PAUSE = 'container:pause';
3915
- Events$2.CONTAINER_ENDED = 'container:ended';
3916
- Events$2.CONTAINER_CLICK = 'container:click';
3917
- Events$2.CONTAINER_DBLCLICK = 'container:dblclick';
3918
- Events$2.CONTAINER_CONTEXTMENU = 'container:contextmenu';
3919
- Events$2.CONTAINER_MOUSE_ENTER = 'container:mouseenter';
3920
- Events$2.CONTAINER_MOUSE_LEAVE = 'container:mouseleave';
3921
- Events$2.CONTAINER_MOUSE_UP = 'container:mouseup';
3922
- Events$2.CONTAINER_MOUSE_DOWN = 'container:mousedown';
3911
+ Events$1.CONTAINER_PROGRESS = 'container:progress';
3912
+ Events$1.CONTAINER_PLAY = 'container:play';
3913
+ Events$1.CONTAINER_STOP = 'container:stop';
3914
+ Events$1.CONTAINER_PAUSE = 'container:pause';
3915
+ Events$1.CONTAINER_ENDED = 'container:ended';
3916
+ Events$1.CONTAINER_CLICK = 'container:click';
3917
+ Events$1.CONTAINER_DBLCLICK = 'container:dblclick';
3918
+ Events$1.CONTAINER_CONTEXTMENU = 'container:contextmenu';
3919
+ Events$1.CONTAINER_MOUSE_ENTER = 'container:mouseenter';
3920
+ Events$1.CONTAINER_MOUSE_LEAVE = 'container:mouseleave';
3921
+ Events$1.CONTAINER_MOUSE_UP = 'container:mouseup';
3922
+ Events$1.CONTAINER_MOUSE_DOWN = 'container:mousedown';
3923
3923
 
3924
3924
  /**
3925
3925
  * Fired when the container enters on Picture-in-Picture mode
3926
3926
  * @event CONTAINER_PIP_ENTER
3927
3927
  */
3928
- Events$2.CONTAINER_PIP_ENTER = 'container:picture-in-picture:enter';
3928
+ Events$1.CONTAINER_PIP_ENTER = 'container:picture-in-picture:enter';
3929
3929
  /**
3930
3930
  * Fired when the container exits from Picture-in-Picture mode
3931
3931
  * @event CONTAINER_PIP_EXIT
3932
3932
  */
3933
- Events$2.CONTAINER_PIP_EXIT = 'container:picture-in-picture:exit';
3933
+ Events$1.CONTAINER_PIP_EXIT = 'container:picture-in-picture:exit';
3934
3934
 
3935
3935
  /**
3936
3936
  * Fired when the container seeks the video
@@ -3938,34 +3938,34 @@ Events$2.CONTAINER_PIP_EXIT = 'container:picture-in-picture:exit';
3938
3938
  * @event CONTAINER_SEEK
3939
3939
  * @param {Number} time the current time in seconds
3940
3940
  */
3941
- Events$2.CONTAINER_SEEK = 'container:seek';
3941
+ Events$1.CONTAINER_SEEK = 'container:seek';
3942
3942
  /**
3943
3943
  * Fired when the container was finished the seek video
3944
3944
  *
3945
3945
  * @event CONTAINER_SEEKED
3946
3946
  * @param {Number} time the current time in seconds
3947
3947
  */
3948
- Events$2.CONTAINER_SEEKED = 'container:seeked';
3949
- Events$2.CONTAINER_VOLUME = 'container:volume';
3950
- Events$2.CONTAINER_FULLSCREEN = 'container:fullscreen';
3948
+ Events$1.CONTAINER_SEEKED = 'container:seeked';
3949
+ Events$1.CONTAINER_VOLUME = 'container:volume';
3950
+ Events$1.CONTAINER_FULLSCREEN = 'container:fullscreen';
3951
3951
  /**
3952
3952
  * Fired when container is buffering
3953
3953
  *
3954
3954
  * @event CONTAINER_STATE_BUFFERING
3955
3955
  */
3956
- Events$2.CONTAINER_STATE_BUFFERING = 'container:state:buffering';
3956
+ Events$1.CONTAINER_STATE_BUFFERING = 'container:state:buffering';
3957
3957
  /**
3958
3958
  * Fired when the container filled the buffer
3959
3959
  *
3960
3960
  * @event CONTAINER_STATE_BUFFERFULL
3961
3961
  */
3962
- Events$2.CONTAINER_STATE_BUFFERFULL = 'container:state:bufferfull';
3962
+ Events$1.CONTAINER_STATE_BUFFERFULL = 'container:state:bufferfull';
3963
3963
  /**
3964
3964
  * Fired when the container changes any settings (volume, seek and etc)
3965
3965
  *
3966
3966
  * @event CONTAINER_SETTINGSUPDATE
3967
3967
  */
3968
- Events$2.CONTAINER_SETTINGSUPDATE = 'container:settingsupdate';
3968
+ Events$1.CONTAINER_SETTINGSUPDATE = 'container:settingsupdate';
3969
3969
  /**
3970
3970
  * Fired when container updates its video quality
3971
3971
  *
@@ -3973,50 +3973,50 @@ Events$2.CONTAINER_SETTINGSUPDATE = 'container:settingsupdate';
3973
3973
  * @param {Boolean} isHD
3974
3974
  * true when is on HD, false otherwise
3975
3975
  */
3976
- Events$2.CONTAINER_HIGHDEFINITIONUPDATE = 'container:highdefinitionupdate';
3976
+ Events$1.CONTAINER_HIGHDEFINITIONUPDATE = 'container:highdefinitionupdate';
3977
3977
 
3978
3978
  /**
3979
3979
  * Fired when the media control shows
3980
3980
  *
3981
3981
  * @event CONTAINER_MEDIACONTROL_SHOW
3982
3982
  */
3983
- Events$2.CONTAINER_MEDIACONTROL_SHOW = 'container:mediacontrol:show';
3983
+ Events$1.CONTAINER_MEDIACONTROL_SHOW = 'container:mediacontrol:show';
3984
3984
  /**
3985
3985
  * Fired when the media control hides
3986
3986
  *
3987
3987
  * @event CONTAINER_MEDIACONTROL_HIDE
3988
3988
  */
3989
- Events$2.CONTAINER_MEDIACONTROL_HIDE = 'container:mediacontrol:hide';
3990
- Events$2.CONTAINER_MEDIACONTROL_DISABLE = 'container:mediacontrol:disable';
3991
- Events$2.CONTAINER_MEDIACONTROL_ENABLE = 'container:mediacontrol:enable';
3992
- Events$2.CONTAINER_STATS_ADD = 'container:stats:add';
3989
+ Events$1.CONTAINER_MEDIACONTROL_HIDE = 'container:mediacontrol:hide';
3990
+ Events$1.CONTAINER_MEDIACONTROL_DISABLE = 'container:mediacontrol:disable';
3991
+ Events$1.CONTAINER_MEDIACONTROL_ENABLE = 'container:mediacontrol:enable';
3992
+ Events$1.CONTAINER_STATS_ADD = 'container:stats:add';
3993
3993
  /**
3994
3994
  * Fired when the options were changed for the container
3995
3995
  *
3996
3996
  * @event CONTAINER_OPTIONS_CHANGE
3997
3997
  */
3998
- Events$2.CONTAINER_OPTIONS_CHANGE = 'container:options:change';
3998
+ Events$1.CONTAINER_OPTIONS_CHANGE = 'container:options:change';
3999
3999
 
4000
4000
  // MediaControl Events
4001
- Events$2.MEDIACONTROL_RENDERED = 'mediacontrol:rendered';
4001
+ Events$1.MEDIACONTROL_RENDERED = 'mediacontrol:rendered';
4002
4002
  /**
4003
4003
  * Fired when the player enters/exit on fullscreen
4004
4004
  *
4005
4005
  * @event MEDIACONTROL_FULLSCREEN
4006
4006
  */
4007
- Events$2.MEDIACONTROL_FULLSCREEN = 'mediacontrol:fullscreen';
4007
+ Events$1.MEDIACONTROL_FULLSCREEN = 'mediacontrol:fullscreen';
4008
4008
  /**
4009
4009
  * Fired when the media control shows
4010
4010
  *
4011
4011
  * @event MEDIACONTROL_SHOW
4012
4012
  */
4013
- Events$2.MEDIACONTROL_SHOW = 'mediacontrol:show';
4013
+ Events$1.MEDIACONTROL_SHOW = 'mediacontrol:show';
4014
4014
  /**
4015
4015
  * Fired when the media control hides
4016
4016
  *
4017
4017
  * @event MEDIACONTROL_HIDE
4018
4018
  */
4019
- Events$2.MEDIACONTROL_HIDE = 'mediacontrol:hide';
4019
+ Events$1.MEDIACONTROL_HIDE = 'mediacontrol:hide';
4020
4020
  /**
4021
4021
  * Fired when mouse enters on the seekbar
4022
4022
  *
@@ -4024,7 +4024,7 @@ Events$2.MEDIACONTROL_HIDE = 'mediacontrol:hide';
4024
4024
  * @param {Object} event
4025
4025
  * the javascript event
4026
4026
  */
4027
- Events$2.MEDIACONTROL_MOUSEMOVE_SEEKBAR = 'mediacontrol:mousemove:seekbar';
4027
+ Events$1.MEDIACONTROL_MOUSEMOVE_SEEKBAR = 'mediacontrol:mousemove:seekbar';
4028
4028
  /**
4029
4029
  * Fired when mouse leaves the seekbar
4030
4030
  *
@@ -4032,31 +4032,31 @@ Events$2.MEDIACONTROL_MOUSEMOVE_SEEKBAR = 'mediacontrol:mousemove:seekbar';
4032
4032
  * @param {Object} event
4033
4033
  * the javascript event
4034
4034
  */
4035
- Events$2.MEDIACONTROL_MOUSELEAVE_SEEKBAR = 'mediacontrol:mouseleave:seekbar';
4035
+ Events$1.MEDIACONTROL_MOUSELEAVE_SEEKBAR = 'mediacontrol:mouseleave:seekbar';
4036
4036
  /**
4037
4037
  * Fired when the media is being played
4038
4038
  *
4039
4039
  * @event MEDIACONTROL_PLAYING
4040
4040
  */
4041
- Events$2.MEDIACONTROL_PLAYING = 'mediacontrol:playing';
4041
+ Events$1.MEDIACONTROL_PLAYING = 'mediacontrol:playing';
4042
4042
  /**
4043
4043
  * Fired when the media is not being played
4044
4044
  *
4045
4045
  * @event MEDIACONTROL_NOTPLAYING
4046
4046
  */
4047
- Events$2.MEDIACONTROL_NOTPLAYING = 'mediacontrol:notplaying';
4047
+ Events$1.MEDIACONTROL_NOTPLAYING = 'mediacontrol:notplaying';
4048
4048
  /**
4049
4049
  * Fired when the container was changed
4050
4050
  *
4051
4051
  * @event MEDIACONTROL_CONTAINERCHANGED
4052
4052
  */
4053
- Events$2.MEDIACONTROL_CONTAINERCHANGED = 'mediacontrol:containerchanged';
4053
+ Events$1.MEDIACONTROL_CONTAINERCHANGED = 'mediacontrol:containerchanged';
4054
4054
  /**
4055
4055
  * Fired when the options were changed for the mediacontrol
4056
4056
  *
4057
4057
  * @event MEDIACONTROL_OPTIONS_CHANGE
4058
4058
  */
4059
- Events$2.MEDIACONTROL_OPTIONS_CHANGE = 'mediacontrol:options:change';
4059
+ Events$1.MEDIACONTROL_OPTIONS_CHANGE = 'mediacontrol:options:change';
4060
4060
 
4061
4061
  /**
4062
4062
  * @class BaseObject
@@ -4097,7 +4097,7 @@ var BaseObject = /*#__PURE__*/function (_Events) {
4097
4097
  return this._options;
4098
4098
  }
4099
4099
  }]);
4100
- }(Events$2);
4100
+ }(Events$1);
4101
4101
 
4102
4102
  /* eslint-disable no-var */
4103
4103
  // Simple JavaScript Templating
@@ -4502,7 +4502,7 @@ var PlayerError = /*#__PURE__*/function (_BaseObject) {
4502
4502
  Log.warn(this.name, 'Core is not set. Error: ', err);
4503
4503
  return;
4504
4504
  }
4505
- this.core.trigger(Events$2.ERROR, err);
4505
+ this.core.trigger(Events$1.ERROR, err);
4506
4506
  }
4507
4507
  }], [{
4508
4508
  key: "Levels",
@@ -4820,74 +4820,74 @@ var Container = /*#__PURE__*/function (_UIObject) {
4820
4820
  }, {
4821
4821
  key: "bindEvents",
4822
4822
  value: function bindEvents() {
4823
- this.listenTo(this.playback, Events$2.PLAYBACK_PROGRESS, this.onProgress);
4824
- this.listenTo(this.playback, Events$2.PLAYBACK_TIMEUPDATE, this.timeUpdated);
4825
- this.listenTo(this.playback, Events$2.PLAYBACK_READY, this.ready);
4826
- this.listenTo(this.playback, Events$2.PLAYBACK_BUFFERING, this.onBuffering);
4827
- this.listenTo(this.playback, Events$2.PLAYBACK_BUFFERFULL, this.bufferfull);
4828
- this.listenTo(this.playback, Events$2.PLAYBACK_SETTINGSUPDATE, this.settingsUpdate);
4829
- this.listenTo(this.playback, Events$2.PLAYBACK_LOADEDMETADATA, this.loadedMetadata);
4830
- this.listenTo(this.playback, Events$2.PLAYBACK_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
4831
- this.listenTo(this.playback, Events$2.PLAYBACK_BITRATE, this.updateBitrate);
4832
- this.listenTo(this.playback, Events$2.PLAYBACK_PLAYBACKSTATE, this.playbackStateChanged);
4833
- this.listenTo(this.playback, Events$2.PLAYBACK_DVR, this.playbackDvrStateChanged);
4834
- this.listenTo(this.playback, Events$2.PLAYBACK_MEDIACONTROL_DISABLE, this.disableMediaControl);
4835
- this.listenTo(this.playback, Events$2.PLAYBACK_MEDIACONTROL_ENABLE, this.enableMediaControl);
4836
- this.listenTo(this.playback, Events$2.PLAYBACK_SEEK, this.onSeek);
4837
- this.listenTo(this.playback, Events$2.PLAYBACK_SEEKED, this.onSeeked);
4838
- this.listenTo(this.playback, Events$2.PLAYBACK_ENDED, this.onEnded);
4839
- this.listenTo(this.playback, Events$2.PLAYBACK_PLAY, this.playing);
4840
- this.listenTo(this.playback, Events$2.PLAYBACK_PAUSE, this.paused);
4841
- this.listenTo(this.playback, Events$2.PLAYBACK_STOP, this.stopped);
4842
- this.listenTo(this.playback, Events$2.PLAYBACK_ERROR, this.error);
4843
- this.listenTo(this.playback, Events$2.PLAYBACK_SUBTITLE_AVAILABLE, this.subtitleAvailable);
4844
- this.listenTo(this.playback, Events$2.PLAYBACK_SUBTITLE_CHANGED, this.subtitleChanged);
4845
- this.listenTo(this.playback, Events$2.PLAYBACK_AUDIO_AVAILABLE, this.audioAvailable);
4846
- this.listenTo(this.playback, Events$2.PLAYBACK_AUDIO_CHANGED, this.audioChanged);
4847
- this.listenTo(this.playback, Events$2.PLAYBACK_PIP_ENTER, this.onEnterPiP);
4848
- this.listenTo(this.playback, Events$2.PLAYBACK_PIP_EXIT, this.onExitPiP);
4823
+ this.listenTo(this.playback, Events$1.PLAYBACK_PROGRESS, this.onProgress);
4824
+ this.listenTo(this.playback, Events$1.PLAYBACK_TIMEUPDATE, this.timeUpdated);
4825
+ this.listenTo(this.playback, Events$1.PLAYBACK_READY, this.ready);
4826
+ this.listenTo(this.playback, Events$1.PLAYBACK_BUFFERING, this.onBuffering);
4827
+ this.listenTo(this.playback, Events$1.PLAYBACK_BUFFERFULL, this.bufferfull);
4828
+ this.listenTo(this.playback, Events$1.PLAYBACK_SETTINGSUPDATE, this.settingsUpdate);
4829
+ this.listenTo(this.playback, Events$1.PLAYBACK_LOADEDMETADATA, this.loadedMetadata);
4830
+ this.listenTo(this.playback, Events$1.PLAYBACK_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
4831
+ this.listenTo(this.playback, Events$1.PLAYBACK_BITRATE, this.updateBitrate);
4832
+ this.listenTo(this.playback, Events$1.PLAYBACK_PLAYBACKSTATE, this.playbackStateChanged);
4833
+ this.listenTo(this.playback, Events$1.PLAYBACK_DVR, this.playbackDvrStateChanged);
4834
+ this.listenTo(this.playback, Events$1.PLAYBACK_MEDIACONTROL_DISABLE, this.disableMediaControl);
4835
+ this.listenTo(this.playback, Events$1.PLAYBACK_MEDIACONTROL_ENABLE, this.enableMediaControl);
4836
+ this.listenTo(this.playback, Events$1.PLAYBACK_SEEK, this.onSeek);
4837
+ this.listenTo(this.playback, Events$1.PLAYBACK_SEEKED, this.onSeeked);
4838
+ this.listenTo(this.playback, Events$1.PLAYBACK_ENDED, this.onEnded);
4839
+ this.listenTo(this.playback, Events$1.PLAYBACK_PLAY, this.playing);
4840
+ this.listenTo(this.playback, Events$1.PLAYBACK_PAUSE, this.paused);
4841
+ this.listenTo(this.playback, Events$1.PLAYBACK_STOP, this.stopped);
4842
+ this.listenTo(this.playback, Events$1.PLAYBACK_ERROR, this.error);
4843
+ this.listenTo(this.playback, Events$1.PLAYBACK_SUBTITLE_AVAILABLE, this.subtitleAvailable);
4844
+ this.listenTo(this.playback, Events$1.PLAYBACK_SUBTITLE_CHANGED, this.subtitleChanged);
4845
+ this.listenTo(this.playback, Events$1.PLAYBACK_AUDIO_AVAILABLE, this.audioAvailable);
4846
+ this.listenTo(this.playback, Events$1.PLAYBACK_AUDIO_CHANGED, this.audioChanged);
4847
+ this.listenTo(this.playback, Events$1.PLAYBACK_PIP_ENTER, this.onEnterPiP);
4848
+ this.listenTo(this.playback, Events$1.PLAYBACK_PIP_EXIT, this.onExitPiP);
4849
4849
  }
4850
4850
  }, {
4851
4851
  key: "subtitleAvailable",
4852
4852
  value: function subtitleAvailable() {
4853
- this.trigger(Events$2.CONTAINER_SUBTITLE_AVAILABLE);
4853
+ this.trigger(Events$1.CONTAINER_SUBTITLE_AVAILABLE);
4854
4854
  }
4855
4855
  }, {
4856
4856
  key: "subtitleChanged",
4857
4857
  value: function subtitleChanged(track) {
4858
- this.trigger(Events$2.CONTAINER_SUBTITLE_CHANGED, track);
4858
+ this.trigger(Events$1.CONTAINER_SUBTITLE_CHANGED, track);
4859
4859
  }
4860
4860
  }, {
4861
4861
  key: "audioAvailable",
4862
4862
  value: function audioAvailable(tracks) {
4863
- this.trigger(Events$2.CONTAINER_AUDIO_AVAILABLE, tracks);
4863
+ this.trigger(Events$1.CONTAINER_AUDIO_AVAILABLE, tracks);
4864
4864
  }
4865
4865
  }, {
4866
4866
  key: "audioChanged",
4867
4867
  value: function audioChanged(track) {
4868
- this.trigger(Events$2.CONTAINER_AUDIO_CHANGED, track);
4868
+ this.trigger(Events$1.CONTAINER_AUDIO_CHANGED, track);
4869
4869
  }
4870
4870
  }, {
4871
4871
  key: "playbackStateChanged",
4872
4872
  value: function playbackStateChanged(state) {
4873
- this.trigger(Events$2.CONTAINER_PLAYBACKSTATE, state);
4873
+ this.trigger(Events$1.CONTAINER_PLAYBACKSTATE, state);
4874
4874
  }
4875
4875
  }, {
4876
4876
  key: "playbackDvrStateChanged",
4877
4877
  value: function playbackDvrStateChanged(dvrInUse) {
4878
4878
  this.settings = this.playback.settings;
4879
4879
  this.dvrInUse = dvrInUse;
4880
- this.trigger(Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, dvrInUse);
4880
+ this.trigger(Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, dvrInUse);
4881
4881
  }
4882
4882
  }, {
4883
4883
  key: "updateBitrate",
4884
4884
  value: function updateBitrate(newBitrate) {
4885
- this.trigger(Events$2.CONTAINER_BITRATE, newBitrate);
4885
+ this.trigger(Events$1.CONTAINER_BITRATE, newBitrate);
4886
4886
  }
4887
4887
  }, {
4888
4888
  key: "statsReport",
4889
4889
  value: function statsReport(metrics) {
4890
- this.trigger(Events$2.CONTAINER_STATS_REPORT, metrics);
4890
+ this.trigger(Events$1.CONTAINER_STATS_REPORT, metrics);
4891
4891
  }
4892
4892
  }, {
4893
4893
  key: "getPlaybackType",
@@ -4925,7 +4925,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
4925
4925
  key: "destroy",
4926
4926
  value: function destroy() {
4927
4927
  this.disableResizeObserver();
4928
- this.trigger(Events$2.CONTAINER_DESTROYED, this, this.name);
4928
+ this.trigger(Events$1.CONTAINER_DESTROYED, this, this.name);
4929
4929
  this.stopListening();
4930
4930
  this.plugins.forEach(function (plugin) {
4931
4931
  return plugin.destroy();
@@ -4942,7 +4942,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
4942
4942
  key: "ready",
4943
4943
  value: function ready() {
4944
4944
  this.isReady = true;
4945
- this.trigger(Events$2.CONTAINER_READY, this.name);
4945
+ this.trigger(Events$1.CONTAINER_READY, this.name);
4946
4946
  }
4947
4947
  }, {
4948
4948
  key: "isPlaying",
@@ -4968,18 +4968,18 @@ var Container = /*#__PURE__*/function (_UIObject) {
4968
4968
  key: "error",
4969
4969
  value: function error(_error) {
4970
4970
  if (!this.isReady) this.ready();
4971
- this.trigger(Events$2.CONTAINER_ERROR, _error, this.name);
4971
+ this.trigger(Events$1.CONTAINER_ERROR, _error, this.name);
4972
4972
  }
4973
4973
  }, {
4974
4974
  key: "loadedMetadata",
4975
4975
  value: function loadedMetadata(metadata) {
4976
- this.trigger(Events$2.CONTAINER_LOADEDMETADATA, metadata);
4976
+ this.trigger(Events$1.CONTAINER_LOADEDMETADATA, metadata);
4977
4977
  }
4978
4978
  }, {
4979
4979
  key: "timeUpdated",
4980
4980
  value: function timeUpdated(timeProgress) {
4981
4981
  this.currentTime = timeProgress.current;
4982
- this.trigger(Events$2.CONTAINER_TIMEUPDATE, timeProgress, this.name);
4982
+ this.trigger(Events$1.CONTAINER_TIMEUPDATE, timeProgress, this.name);
4983
4983
  }
4984
4984
  }, {
4985
4985
  key: "onProgress",
@@ -4987,24 +4987,24 @@ var Container = /*#__PURE__*/function (_UIObject) {
4987
4987
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4988
4988
  args[_key] = arguments[_key];
4989
4989
  }
4990
- this.trigger.apply(this, [Events$2.CONTAINER_PROGRESS].concat(args, [this.name]));
4990
+ this.trigger.apply(this, [Events$1.CONTAINER_PROGRESS].concat(args, [this.name]));
4991
4991
  }
4992
4992
  }, {
4993
4993
  key: "playing",
4994
4994
  value: function playing() {
4995
- this.trigger(Events$2.CONTAINER_PLAY, this.name, this.actionsMetadata.playEvent || {});
4995
+ this.trigger(Events$1.CONTAINER_PLAY, this.name, this.actionsMetadata.playEvent || {});
4996
4996
  this.actionsMetadata.playEvent = {};
4997
4997
  }
4998
4998
  }, {
4999
4999
  key: "paused",
5000
5000
  value: function paused() {
5001
- this.trigger(Events$2.CONTAINER_PAUSE, this.name, this.actionsMetadata.pauseEvent || {});
5001
+ this.trigger(Events$1.CONTAINER_PAUSE, this.name, this.actionsMetadata.pauseEvent || {});
5002
5002
  this.actionsMetadata.pauseEvent = {};
5003
5003
  }
5004
5004
  }, {
5005
5005
  key: "stopped",
5006
5006
  value: function stopped() {
5007
- this.trigger(Events$2.CONTAINER_STOP, this.actionsMetadata.stopEvent || {});
5007
+ this.trigger(Events$1.CONTAINER_STOP, this.actionsMetadata.stopEvent || {});
5008
5008
  this.actionsMetadata.stopEvent = {};
5009
5009
  }
5010
5010
 
@@ -5055,7 +5055,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
5055
5055
  }, {
5056
5056
  key: "onEnded",
5057
5057
  value: function onEnded() {
5058
- this.trigger(Events$2.CONTAINER_ENDED, this, this.name);
5058
+ this.trigger(Events$1.CONTAINER_ENDED, this, this.name);
5059
5059
  this.currentTime = 0;
5060
5060
  }
5061
5061
  }, {
@@ -5066,7 +5066,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
5066
5066
  // The event is delayed because it can be canceled by a double-click event
5067
5067
  // An example of use is to prevent playback from pausing when switching to full screen
5068
5068
  this.clickTimer = setTimeout(function () {
5069
- _this2.clickTimer && _this2.trigger(Events$2.CONTAINER_CLICK, _this2, _this2.name);
5069
+ _this2.clickTimer && _this2.trigger(Events$1.CONTAINER_CLICK, _this2, _this2.name);
5070
5070
  }, this.clickDelay);
5071
5071
  }
5072
5072
  }
@@ -5081,7 +5081,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
5081
5081
  value: function dblClicked() {
5082
5082
  if (!this.options.chromeless || this.options.allowUserInteraction) {
5083
5083
  this.cancelClicked();
5084
- this.trigger(Events$2.CONTAINER_DBLCLICK, this, this.name);
5084
+ this.trigger(Events$1.CONTAINER_DBLCLICK, this, this.name);
5085
5085
  }
5086
5086
  }
5087
5087
  }, {
@@ -5091,14 +5091,14 @@ var Container = /*#__PURE__*/function (_UIObject) {
5091
5091
  if (!this.options.chromeless || this.options.allowUserInteraction) {
5092
5092
  this.dblTapHandler.handle(evt, function () {
5093
5093
  _this3.cancelClicked();
5094
- _this3.trigger(Events$2.CONTAINER_DBLCLICK, _this3, _this3.name);
5094
+ _this3.trigger(Events$1.CONTAINER_DBLCLICK, _this3, _this3.name);
5095
5095
  });
5096
5096
  }
5097
5097
  }
5098
5098
  }, {
5099
5099
  key: "onContextMenu",
5100
5100
  value: function onContextMenu(event) {
5101
- if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$2.CONTAINER_CONTEXTMENU, event, this.name);
5101
+ if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$1.CONTAINER_CONTEXTMENU, event, this.name);
5102
5102
  }
5103
5103
  }, {
5104
5104
  key: "seek",
@@ -5108,12 +5108,12 @@ var Container = /*#__PURE__*/function (_UIObject) {
5108
5108
  }, {
5109
5109
  key: "onSeek",
5110
5110
  value: function onSeek(time) {
5111
- this.trigger(Events$2.CONTAINER_SEEK, time, this.name);
5111
+ this.trigger(Events$1.CONTAINER_SEEK, time, this.name);
5112
5112
  }
5113
5113
  }, {
5114
5114
  key: "onSeeked",
5115
5115
  value: function onSeeked() {
5116
- this.trigger(Events$2.CONTAINER_SEEKED, this.name);
5116
+ this.trigger(Events$1.CONTAINER_SEEKED, this.name);
5117
5117
  }
5118
5118
  }, {
5119
5119
  key: "seekPercentage",
@@ -5128,33 +5128,33 @@ var Container = /*#__PURE__*/function (_UIObject) {
5128
5128
  key: "setVolume",
5129
5129
  value: function setVolume(value) {
5130
5130
  this.volume = parseFloat(value);
5131
- this.trigger(Events$2.CONTAINER_VOLUME, this.volume, this.name);
5131
+ this.trigger(Events$1.CONTAINER_VOLUME, this.volume, this.name);
5132
5132
  this.playback.volume(this.volume);
5133
5133
  }
5134
5134
  }, {
5135
5135
  key: "fullscreen",
5136
5136
  value: function fullscreen() {
5137
- this.trigger(Events$2.CONTAINER_FULLSCREEN, this.name);
5137
+ this.trigger(Events$1.CONTAINER_FULLSCREEN, this.name);
5138
5138
  }
5139
5139
  }, {
5140
5140
  key: "onBuffering",
5141
5141
  value: function onBuffering() {
5142
- this.trigger(Events$2.CONTAINER_STATE_BUFFERING, this.name);
5142
+ this.trigger(Events$1.CONTAINER_STATE_BUFFERING, this.name);
5143
5143
  }
5144
5144
  }, {
5145
5145
  key: "bufferfull",
5146
5146
  value: function bufferfull() {
5147
- this.trigger(Events$2.CONTAINER_STATE_BUFFERFULL, this.name);
5147
+ this.trigger(Events$1.CONTAINER_STATE_BUFFERFULL, this.name);
5148
5148
  }
5149
5149
  }, {
5150
5150
  key: "onEnterPiP",
5151
5151
  value: function onEnterPiP() {
5152
- this.trigger(Events$2.CONTAINER_PIP_ENTER, this.name);
5152
+ this.trigger(Events$1.CONTAINER_PIP_ENTER, this.name);
5153
5153
  }
5154
5154
  }, {
5155
5155
  key: "onExitPiP",
5156
5156
  value: function onExitPiP() {
5157
- this.trigger(Events$2.CONTAINER_PIP_EXIT, this.name);
5157
+ this.trigger(Events$1.CONTAINER_PIP_EXIT, this.name);
5158
5158
  }
5159
5159
 
5160
5160
  /**
@@ -5195,22 +5195,22 @@ var Container = /*#__PURE__*/function (_UIObject) {
5195
5195
  }, {
5196
5196
  key: "mouseEnter",
5197
5197
  value: function mouseEnter() {
5198
- if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$2.CONTAINER_MOUSE_ENTER);
5198
+ if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$1.CONTAINER_MOUSE_ENTER);
5199
5199
  }
5200
5200
  }, {
5201
5201
  key: "mouseLeave",
5202
5202
  value: function mouseLeave() {
5203
- if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$2.CONTAINER_MOUSE_LEAVE);
5203
+ if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$1.CONTAINER_MOUSE_LEAVE);
5204
5204
  }
5205
5205
  }, {
5206
5206
  key: "mouseUp",
5207
5207
  value: function mouseUp() {
5208
- if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$2.CONTAINER_MOUSE_UP);
5208
+ if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$1.CONTAINER_MOUSE_UP);
5209
5209
  }
5210
5210
  }, {
5211
5211
  key: "mouseDown",
5212
5212
  value: function mouseDown() {
5213
- if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$2.CONTAINER_MOUSE_DOWN);
5213
+ if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events$1.CONTAINER_MOUSE_DOWN);
5214
5214
  }
5215
5215
  }, {
5216
5216
  key: "enterPiP",
@@ -5226,12 +5226,12 @@ var Container = /*#__PURE__*/function (_UIObject) {
5226
5226
  key: "settingsUpdate",
5227
5227
  value: function settingsUpdate() {
5228
5228
  this.settings = this.playback.settings;
5229
- this.trigger(Events$2.CONTAINER_SETTINGSUPDATE);
5229
+ this.trigger(Events$1.CONTAINER_SETTINGSUPDATE);
5230
5230
  }
5231
5231
  }, {
5232
5232
  key: "highDefinitionUpdate",
5233
5233
  value: function highDefinitionUpdate(isHD) {
5234
- this.trigger(Events$2.CONTAINER_HIGHDEFINITIONUPDATE, isHD);
5234
+ this.trigger(Events$1.CONTAINER_HIGHDEFINITIONUPDATE, isHD);
5235
5235
  }
5236
5236
  }, {
5237
5237
  key: "isHighDefinitionInUse",
@@ -5243,7 +5243,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
5243
5243
  value: function disableMediaControl() {
5244
5244
  if (!this.mediaControlDisabled) {
5245
5245
  this.mediaControlDisabled = true;
5246
- this.trigger(Events$2.CONTAINER_MEDIACONTROL_DISABLE);
5246
+ this.trigger(Events$1.CONTAINER_MEDIACONTROL_DISABLE);
5247
5247
  }
5248
5248
  }
5249
5249
  }, {
@@ -5251,7 +5251,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
5251
5251
  value: function enableMediaControl() {
5252
5252
  if (this.mediaControlDisabled) {
5253
5253
  this.mediaControlDisabled = false;
5254
- this.trigger(Events$2.CONTAINER_MEDIACONTROL_ENABLE);
5254
+ this.trigger(Events$1.CONTAINER_MEDIACONTROL_ENABLE);
5255
5255
  }
5256
5256
  }
5257
5257
  }, {
@@ -5286,7 +5286,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
5286
5286
  var isResize = height !== newSize.height || width !== newSize.width;
5287
5287
  if (!isResize) return;
5288
5288
  this.currentSize = newSize;
5289
- this.trigger(Events$2.CONTAINER_RESIZE, newSize);
5289
+ this.trigger(Events$1.CONTAINER_RESIZE, newSize);
5290
5290
  }
5291
5291
 
5292
5292
  /**
@@ -5313,7 +5313,7 @@ var Container = /*#__PURE__*/function (_UIObject) {
5313
5313
  this._options = $.extend(true, this._options, options);
5314
5314
  this.updateStyle();
5315
5315
  this.playback.configure(this.options);
5316
- this.trigger(Events$2.CONTAINER_OPTIONS_CHANGE);
5316
+ this.trigger(Events$1.CONTAINER_OPTIONS_CHANGE);
5317
5317
  }
5318
5318
  }, {
5319
5319
  key: "render",
@@ -5735,7 +5735,7 @@ var Playback = /*#__PURE__*/function (_UIObject) {
5735
5735
  }, {
5736
5736
  key: "onResize",
5737
5737
  value: function onResize(options) {
5738
- this.trigger(Events$2.PLAYBACK_RESIZE, options);
5738
+ this.trigger(Events$1.PLAYBACK_RESIZE, options);
5739
5739
  return this;
5740
5740
  }
5741
5741
  }]);
@@ -5864,7 +5864,7 @@ var ContainerFactory = /*#__PURE__*/function (_BaseObject) {
5864
5864
  var defer = $.Deferred();
5865
5865
  defer.promise(container);
5866
5866
  this.addContainerPlugins(container);
5867
- this.listenToOnce(container, Events$2.CONTAINER_READY, function () {
5867
+ this.listenToOnce(container, Events$1.CONTAINER_READY, function () {
5868
5868
  return defer.resolve(container);
5869
5869
  });
5870
5870
  return container;
@@ -5996,7 +5996,7 @@ var Core = /*#__PURE__*/function (_UIObject) {
5996
5996
  */,
5997
5997
  set: function set(container) {
5998
5998
  this._activeContainer = container;
5999
- this.trigger(Events$2.CORE_ACTIVE_CONTAINER_CHANGED, this._activeContainer);
5999
+ this.trigger(Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this._activeContainer);
6000
6000
  }
6001
6001
 
6002
6002
  /**
@@ -6121,7 +6121,7 @@ var Core = /*#__PURE__*/function (_UIObject) {
6121
6121
  this.oldWidth = newSize.width;
6122
6122
  this.computedSize = newSize;
6123
6123
  this.firstResize = false;
6124
- this.trigger(Events$2.CORE_RESIZE, newSize);
6124
+ this.trigger(Events$1.CORE_RESIZE, newSize);
6125
6125
  }
6126
6126
  }, {
6127
6127
  key: "disableResizeObserver",
@@ -6136,7 +6136,7 @@ var Core = /*#__PURE__*/function (_UIObject) {
6136
6136
  $.when.apply($, containers).done(function () {
6137
6137
  _this4.defer.resolve(_this4);
6138
6138
  _this4.ready = true;
6139
- _this4.trigger(Events$2.CORE_READY);
6139
+ _this4.trigger(Events$1.CORE_READY);
6140
6140
  });
6141
6141
  }
6142
6142
  }, {
@@ -6191,7 +6191,7 @@ var Core = /*#__PURE__*/function (_UIObject) {
6191
6191
  }, {
6192
6192
  key: "handleFullscreenChange",
6193
6193
  value: function handleFullscreenChange() {
6194
- this.trigger(Events$2.CORE_FULLSCREEN, this.isFullscreen());
6194
+ this.trigger(Events$1.CORE_FULLSCREEN, this.isFullscreen());
6195
6195
  this.updateSize();
6196
6196
  }
6197
6197
  }, {
@@ -6204,7 +6204,7 @@ var Core = /*#__PURE__*/function (_UIObject) {
6204
6204
  width: this.el.clientWidth,
6205
6205
  height: this.el.clientHeight
6206
6206
  });
6207
- this.trigger(Events$2.CORE_SCREEN_ORIENTATION_CHANGED, {
6207
+ this.trigger(Events$1.CORE_SCREEN_ORIENTATION_CHANGED, {
6208
6208
  event: event,
6209
6209
  orientation: this._screenOrientation
6210
6210
  });
@@ -6221,14 +6221,14 @@ var Core = /*#__PURE__*/function (_UIObject) {
6221
6221
  }, {
6222
6222
  key: "setupContainer",
6223
6223
  value: function setupContainer(container) {
6224
- this.listenTo(container, Events$2.CONTAINER_DESTROYED, this.removeContainer);
6224
+ this.listenTo(container, Events$1.CONTAINER_DESTROYED, this.removeContainer);
6225
6225
  this.containers.push(container);
6226
6226
  }
6227
6227
  }, {
6228
6228
  key: "setupContainers",
6229
6229
  value: function setupContainers(containers) {
6230
6230
  containers.forEach(this.setupContainer.bind(this));
6231
- this.trigger(Events$2.CORE_CONTAINERS_CREATED);
6231
+ this.trigger(Events$1.CORE_CONTAINERS_CREATED);
6232
6232
  this.renderContainers();
6233
6233
  this.activeContainer = containers[0];
6234
6234
  this.render();
@@ -6310,12 +6310,12 @@ var Core = /*#__PURE__*/function (_UIObject) {
6310
6310
  }, {
6311
6311
  key: "onMouseMove",
6312
6312
  value: function onMouseMove(event) {
6313
- this.trigger(Events$2.CORE_MOUSE_MOVE, event);
6313
+ this.trigger(Events$1.CORE_MOUSE_MOVE, event);
6314
6314
  }
6315
6315
  }, {
6316
6316
  key: "onMouseLeave",
6317
6317
  value: function onMouseLeave(event) {
6318
- this.trigger(Events$2.CORE_MOUSE_LEAVE, event);
6318
+ this.trigger(Events$1.CORE_MOUSE_LEAVE, event);
6319
6319
  }
6320
6320
 
6321
6321
  /**
@@ -6331,7 +6331,7 @@ var Core = /*#__PURE__*/function (_UIObject) {
6331
6331
  this.configureDomRecycler();
6332
6332
  var sources = options.source || options.sources;
6333
6333
  sources && this.load(sources, options.mimeType || this.options.mimeType);
6334
- this.trigger(Events$2.CORE_OPTIONS_CHANGE, options); // Trigger with newly provided options
6334
+ this.trigger(Events$1.CORE_OPTIONS_CHANGE, options); // Trigger with newly provided options
6335
6335
  this.containers.forEach(function (container) {
6336
6336
  return container.configure(_this7.options);
6337
6337
  });
@@ -6978,17 +6978,17 @@ var Player = /*#__PURE__*/function (_BaseObject) {
6978
6978
  key: "eventsMapping",
6979
6979
  get: function get() {
6980
6980
  return {
6981
- onReady: Events$2.PLAYER_READY,
6982
- onResize: Events$2.PLAYER_RESIZE,
6983
- onPlay: Events$2.PLAYER_PLAY,
6984
- onPause: Events$2.PLAYER_PAUSE,
6985
- onStop: Events$2.PLAYER_STOP,
6986
- onEnded: Events$2.PLAYER_ENDED,
6987
- onSeek: Events$2.PLAYER_SEEK,
6988
- onError: Events$2.PLAYER_ERROR,
6989
- onTimeUpdate: Events$2.PLAYER_TIMEUPDATE,
6990
- onVolumeUpdate: Events$2.PLAYER_VOLUMEUPDATE,
6991
- onSubtitleAvailable: Events$2.PLAYER_SUBTITLE_AVAILABLE
6981
+ onReady: Events$1.PLAYER_READY,
6982
+ onResize: Events$1.PLAYER_RESIZE,
6983
+ onPlay: Events$1.PLAYER_PLAY,
6984
+ onPause: Events$1.PLAYER_PAUSE,
6985
+ onStop: Events$1.PLAYER_STOP,
6986
+ onEnded: Events$1.PLAYER_ENDED,
6987
+ onSeek: Events$1.PLAYER_SEEK,
6988
+ onError: Events$1.PLAYER_ERROR,
6989
+ onTimeUpdate: Events$1.PLAYER_TIMEUPDATE,
6990
+ onVolumeUpdate: Events$1.PLAYER_VOLUMEUPDATE,
6991
+ onSubtitleAvailable: Events$1.PLAYER_SUBTITLE_AVAILABLE
6992
6992
  };
6993
6993
  }
6994
6994
  }, {
@@ -7017,10 +7017,10 @@ var Player = /*#__PURE__*/function (_BaseObject) {
7017
7017
  }, {
7018
7018
  key: "_addEventListeners",
7019
7019
  value: function _addEventListeners() {
7020
- if (!this.core.isReady) this.listenToOnce(this.core, Events$2.CORE_READY, this._onReady);else this._onReady();
7021
- this.listenTo(this.core, Events$2.CORE_ACTIVE_CONTAINER_CHANGED, this._containerChanged);
7022
- this.listenTo(this.core, Events$2.CORE_FULLSCREEN, this._onFullscreenChange);
7023
- this.listenTo(this.core, Events$2.CORE_RESIZE, this._onResize);
7020
+ if (!this.core.isReady) this.listenToOnce(this.core, Events$1.CORE_READY, this._onReady);else this._onReady();
7021
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this._containerChanged);
7022
+ this.listenTo(this.core, Events$1.CORE_FULLSCREEN, this._onFullscreenChange);
7023
+ this.listenTo(this.core, Events$1.CORE_RESIZE, this._onResize);
7024
7024
  return this;
7025
7025
  }
7026
7026
  }, {
@@ -7028,15 +7028,15 @@ var Player = /*#__PURE__*/function (_BaseObject) {
7028
7028
  value: function _addContainerEventListeners() {
7029
7029
  var container = this.core.activeContainer;
7030
7030
  if (container) {
7031
- this.listenTo(container, Events$2.CONTAINER_PLAY, this._onPlay);
7032
- this.listenTo(container, Events$2.CONTAINER_PAUSE, this._onPause);
7033
- this.listenTo(container, Events$2.CONTAINER_STOP, this._onStop);
7034
- this.listenTo(container, Events$2.CONTAINER_ENDED, this._onEnded);
7035
- this.listenTo(container, Events$2.CONTAINER_SEEK, this._onSeek);
7036
- this.listenTo(container, Events$2.CONTAINER_ERROR, this._onError);
7037
- this.listenTo(container, Events$2.CONTAINER_TIMEUPDATE, this._onTimeUpdate);
7038
- this.listenTo(container, Events$2.CONTAINER_VOLUME, this._onVolumeUpdate);
7039
- this.listenTo(container, Events$2.CONTAINER_SUBTITLE_AVAILABLE, this._onSubtitleAvailable);
7031
+ this.listenTo(container, Events$1.CONTAINER_PLAY, this._onPlay);
7032
+ this.listenTo(container, Events$1.CONTAINER_PAUSE, this._onPause);
7033
+ this.listenTo(container, Events$1.CONTAINER_STOP, this._onStop);
7034
+ this.listenTo(container, Events$1.CONTAINER_ENDED, this._onEnded);
7035
+ this.listenTo(container, Events$1.CONTAINER_SEEK, this._onSeek);
7036
+ this.listenTo(container, Events$1.CONTAINER_ERROR, this._onError);
7037
+ this.listenTo(container, Events$1.CONTAINER_TIMEUPDATE, this._onTimeUpdate);
7038
+ this.listenTo(container, Events$1.CONTAINER_VOLUME, this._onVolumeUpdate);
7039
+ this.listenTo(container, Events$1.CONTAINER_SUBTITLE_AVAILABLE, this._onSubtitleAvailable);
7040
7040
  }
7041
7041
  return this;
7042
7042
  }
@@ -7072,65 +7072,65 @@ var Player = /*#__PURE__*/function (_BaseObject) {
7072
7072
  value: function _onReady() {
7073
7073
  this._ready = true;
7074
7074
  this._addContainerEventListeners();
7075
- this.trigger(Events$2.PLAYER_READY);
7075
+ this.trigger(Events$1.PLAYER_READY);
7076
7076
  }
7077
7077
  }, {
7078
7078
  key: "_onFullscreenChange",
7079
7079
  value: function _onFullscreenChange(fullscreen) {
7080
- this.trigger(Events$2.PLAYER_FULLSCREEN, fullscreen);
7080
+ this.trigger(Events$1.PLAYER_FULLSCREEN, fullscreen);
7081
7081
  }
7082
7082
  }, {
7083
7083
  key: "_onVolumeUpdate",
7084
7084
  value: function _onVolumeUpdate(volume) {
7085
- this.trigger(Events$2.PLAYER_VOLUMEUPDATE, volume);
7085
+ this.trigger(Events$1.PLAYER_VOLUMEUPDATE, volume);
7086
7086
  }
7087
7087
  }, {
7088
7088
  key: "_onSubtitleAvailable",
7089
7089
  value: function _onSubtitleAvailable() {
7090
- this.trigger(Events$2.PLAYER_SUBTITLE_AVAILABLE);
7090
+ this.trigger(Events$1.PLAYER_SUBTITLE_AVAILABLE);
7091
7091
  }
7092
7092
  }, {
7093
7093
  key: "_onResize",
7094
7094
  value: function _onResize(size) {
7095
- this.trigger(Events$2.PLAYER_RESIZE, size);
7095
+ this.trigger(Events$1.PLAYER_RESIZE, size);
7096
7096
  }
7097
7097
  }, {
7098
7098
  key: "_onPlay",
7099
7099
  value: function _onPlay(_) {
7100
7100
  var eventMetadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7101
- this.trigger(Events$2.PLAYER_PLAY, eventMetadata);
7101
+ this.trigger(Events$1.PLAYER_PLAY, eventMetadata);
7102
7102
  }
7103
7103
  }, {
7104
7104
  key: "_onPause",
7105
7105
  value: function _onPause(_) {
7106
7106
  var eventMetadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7107
- this.trigger(Events$2.PLAYER_PAUSE, eventMetadata);
7107
+ this.trigger(Events$1.PLAYER_PAUSE, eventMetadata);
7108
7108
  }
7109
7109
  }, {
7110
7110
  key: "_onStop",
7111
7111
  value: function _onStop() {
7112
7112
  var eventMetadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7113
- this.trigger(Events$2.PLAYER_STOP, this.getCurrentTime(), eventMetadata);
7113
+ this.trigger(Events$1.PLAYER_STOP, this.getCurrentTime(), eventMetadata);
7114
7114
  }
7115
7115
  }, {
7116
7116
  key: "_onEnded",
7117
7117
  value: function _onEnded() {
7118
- this.trigger(Events$2.PLAYER_ENDED);
7118
+ this.trigger(Events$1.PLAYER_ENDED);
7119
7119
  }
7120
7120
  }, {
7121
7121
  key: "_onSeek",
7122
7122
  value: function _onSeek(time) {
7123
- this.trigger(Events$2.PLAYER_SEEK, time);
7123
+ this.trigger(Events$1.PLAYER_SEEK, time);
7124
7124
  }
7125
7125
  }, {
7126
7126
  key: "_onTimeUpdate",
7127
7127
  value: function _onTimeUpdate(timeProgress) {
7128
- this.trigger(Events$2.PLAYER_TIMEUPDATE, timeProgress);
7128
+ this.trigger(Events$1.PLAYER_TIMEUPDATE, timeProgress);
7129
7129
  }
7130
7130
  }, {
7131
7131
  key: "_onError",
7132
7132
  value: function _onError(error) {
7133
- this.trigger(Events$2.PLAYER_ERROR, error);
7133
+ this.trigger(Events$1.PLAYER_ERROR, error);
7134
7134
  }
7135
7135
  }, {
7136
7136
  key: "_normalizeSources",
@@ -7848,7 +7848,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
7848
7848
  key: "_onLoadedMetadata",
7849
7849
  value: function _onLoadedMetadata(e) {
7850
7850
  this._handleBufferingEvents();
7851
- this.trigger(Events$2.PLAYBACK_LOADEDMETADATA, {
7851
+ this.trigger(Events$1.PLAYBACK_LOADEDMETADATA, {
7852
7852
  duration: e.target.duration,
7853
7853
  data: e
7854
7854
  });
@@ -7871,7 +7871,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
7871
7871
  // that's why we check it again and update media control accordingly.
7872
7872
  if (this.getPlaybackType() === Playback.VOD || this.getPlaybackType() === Playback.AOD) this.settings.left = ['playpause', 'position', 'duration'];else this.settings.left = ['playstop'];
7873
7873
  this.settings.seekEnabled = this.isSeekEnabled();
7874
- this.trigger(Events$2.PLAYBACK_SETTINGSUPDATE);
7874
+ this.trigger(Events$1.PLAYBACK_SETTINGSUPDATE);
7875
7875
  }
7876
7876
  }, {
7877
7877
  key: "isSeekEnabled",
@@ -7914,7 +7914,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
7914
7914
  key: "play",
7915
7915
  value: function play() {
7916
7916
  var _this4 = this;
7917
- this.trigger(Events$2.PLAYBACK_PLAY_INTENT);
7917
+ this.trigger(Events$1.PLAYBACK_PLAY_INTENT);
7918
7918
  this._stopped = false;
7919
7919
  this._setupSrc(this._src);
7920
7920
  this._handleBufferingEvents();
@@ -7940,7 +7940,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
7940
7940
  this.el.load(); // load with no src to stop loading of the previous source and avoid leaks
7941
7941
  this._stopPlayheadMovingChecks();
7942
7942
  this._handleBufferingEvents();
7943
- this.trigger(Events$2.PLAYBACK_STOP);
7943
+ this.trigger(Events$1.PLAYBACK_STOP);
7944
7944
  }
7945
7945
  }, {
7946
7946
  key: "volume",
@@ -8060,7 +8060,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8060
8060
  this._checkForClosedCaptions();
8061
8061
  this._startPlayheadMovingChecks();
8062
8062
  this._handleBufferingEvents();
8063
- this.trigger(Events$2.PLAYBACK_PLAY);
8063
+ this.trigger(Events$1.PLAYBACK_PLAY);
8064
8064
  }
8065
8065
  }, {
8066
8066
  key: "_onPause",
@@ -8068,7 +8068,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8068
8068
  this.dvrEnabled && this._updateDvr(true);
8069
8069
  this._stopPlayheadMovingChecks();
8070
8070
  this._handleBufferingEvents();
8071
- this.trigger(Events$2.PLAYBACK_PAUSE);
8071
+ this.trigger(Events$1.PLAYBACK_PAUSE);
8072
8072
  }
8073
8073
  }, {
8074
8074
  key: "_onSeeking",
@@ -8076,30 +8076,30 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8076
8076
  var currentTime = this.getCurrentTime();
8077
8077
  // assume live if time within 3 seconds of end of stream
8078
8078
  this.dvrEnabled && this._updateDvr(currentTime < this.getDuration() - 3);
8079
- this.trigger(Events$2.PLAYBACK_SEEK, currentTime);
8079
+ this.trigger(Events$1.PLAYBACK_SEEK, currentTime);
8080
8080
  this._handleBufferingEvents();
8081
8081
  }
8082
8082
  }, {
8083
8083
  key: "_onSeeked",
8084
8084
  value: function _onSeeked() {
8085
8085
  this._handleBufferingEvents();
8086
- this.trigger(Events$2.PLAYBACK_SEEKED);
8086
+ this.trigger(Events$1.PLAYBACK_SEEKED);
8087
8087
  }
8088
8088
  }, {
8089
8089
  key: "_onEnded",
8090
8090
  value: function _onEnded() {
8091
8091
  this._handleBufferingEvents();
8092
- this.trigger(Events$2.PLAYBACK_ENDED, this.name);
8092
+ this.trigger(Events$1.PLAYBACK_ENDED, this.name);
8093
8093
  }
8094
8094
  }, {
8095
8095
  key: "_onEnterPiP",
8096
8096
  value: function _onEnterPiP() {
8097
- this.trigger(Events$2.PLAYBACK_PIP_ENTER, this.name);
8097
+ this.trigger(Events$1.PLAYBACK_PIP_ENTER, this.name);
8098
8098
  }
8099
8099
  }, {
8100
8100
  key: "_onExitPiP",
8101
8101
  value: function _onExitPiP() {
8102
- this.trigger(Events$2.PLAYBACK_PIP_EXIT, this.name);
8102
+ this.trigger(Events$1.PLAYBACK_PIP_EXIT, this.name);
8103
8103
  }
8104
8104
  }, {
8105
8105
  key: "enterPiP",
@@ -8137,7 +8137,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8137
8137
  if (this._playheadMovingCheckEnabled) buffering = buffering || isLoading && playheadShouldBeMoving;
8138
8138
  if (this._isBuffering !== buffering) {
8139
8139
  this._isBuffering = buffering;
8140
- if (buffering) this.trigger(Events$2.PLAYBACK_BUFFERING, this.name);else this.trigger(Events$2.PLAYBACK_BUFFERFULL, this.name);
8140
+ if (buffering) this.trigger(Events$1.PLAYBACK_BUFFERING, this.name);else this.trigger(Events$1.PLAYBACK_BUFFERFULL, this.name);
8141
8141
  }
8142
8142
  }
8143
8143
  }, {
@@ -8153,7 +8153,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8153
8153
  raw: this.el.error,
8154
8154
  level: isUnknownError ? PlayerError.Levels.WARN : PlayerError.Levels.FATAL
8155
8155
  });
8156
- if (isUnknownError) Log.warn(this.name, 'HTML5 unknown error: ', formattedError);else this.trigger(Events$2.PLAYBACK_ERROR, formattedError);
8156
+ if (isUnknownError) Log.warn(this.name, 'HTML5 unknown error: ', formattedError);else this.trigger(Events$1.PLAYBACK_ERROR, formattedError);
8157
8157
  }
8158
8158
  }, {
8159
8159
  key: "destroy",
@@ -8171,8 +8171,8 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8171
8171
  }, {
8172
8172
  key: "_updateDvr",
8173
8173
  value: function _updateDvr(status) {
8174
- this.trigger(Events$2.PLAYBACK_DVR, status);
8175
- this.trigger(Events$2.PLAYBACK_STATS_ADD, {
8174
+ this.trigger(Events$1.PLAYBACK_DVR, status);
8175
+ this.trigger(Events$1.PLAYBACK_STATS_ADD, {
8176
8176
  'dvr': status
8177
8177
  });
8178
8178
  }
@@ -8231,7 +8231,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8231
8231
  key: "_onTimeUpdate",
8232
8232
  value: function _onTimeUpdate() {
8233
8233
  var duration = this.isLive ? this.getDuration() : this.el.duration;
8234
- this.trigger(Events$2.PLAYBACK_TIMEUPDATE, {
8234
+ this.trigger(Events$1.PLAYBACK_TIMEUPDATE, {
8235
8235
  current: this.el.currentTime,
8236
8236
  total: duration
8237
8237
  }, this.name);
@@ -8254,7 +8254,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8254
8254
  current: buffered[bufferedPos].end,
8255
8255
  total: this.el.duration
8256
8256
  };
8257
- this.trigger(Events$2.PLAYBACK_PROGRESS, progress, buffered);
8257
+ this.trigger(Events$1.PLAYBACK_PROGRESS, progress, buffered);
8258
8258
  }
8259
8259
  }, {
8260
8260
  key: "_typeFor",
@@ -8269,7 +8269,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8269
8269
  value: function _ready() {
8270
8270
  if (this._isReadyState) return;
8271
8271
  this._isReadyState = true;
8272
- this.trigger(Events$2.PLAYBACK_READY, this.name);
8272
+ this.trigger(Events$1.PLAYBACK_READY, this.name);
8273
8273
  }
8274
8274
  }, {
8275
8275
  key: "_checkForClosedCaptions",
@@ -8277,7 +8277,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8277
8277
  // Check if CC available only if current playback is HTML5Video
8278
8278
  if (this.isHTML5Video && !this._ccIsSetup) {
8279
8279
  if (this.hasClosedCaptionsTracks) {
8280
- this.trigger(Events$2.PLAYBACK_SUBTITLE_AVAILABLE);
8280
+ this.trigger(Events$1.PLAYBACK_SUBTITLE_AVAILABLE);
8281
8281
  var trackId = this.closedCaptionsTrackId;
8282
8282
  this.closedCaptionsTrackId = trackId;
8283
8283
  this.handleTextTrackChange = this._handleTextTrackChange.bind(this);
@@ -8297,7 +8297,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8297
8297
  };
8298
8298
  if (this._ccTrackId !== track.id) {
8299
8299
  this._ccTrackId = track.id;
8300
- this.trigger(Events$2.PLAYBACK_SUBTITLE_CHANGED, {
8300
+ this.trigger(Events$1.PLAYBACK_SUBTITLE_CHANGED, {
8301
8301
  id: track.id
8302
8302
  });
8303
8303
  }
@@ -8354,7 +8354,7 @@ var HTML5Video = /*#__PURE__*/function (_Playback) {
8354
8354
  });
8355
8355
  showingTrack && (showingTrack.track.mode = 'showing');
8356
8356
  this._ccTrackId = trackId;
8357
- this.trigger(Events$2.PLAYBACK_SUBTITLE_CHANGED, {
8357
+ this.trigger(Events$1.PLAYBACK_SUBTITLE_CHANGED, {
8358
8358
  id: trackId
8359
8359
  });
8360
8360
  }
@@ -8438,7 +8438,7 @@ var HTML5Audio = /*#__PURE__*/function (_HTML5Video) {
8438
8438
  value: function updateSettings() {
8439
8439
  this.settings.left = ['playpause', 'position', 'duration'];
8440
8440
  this.settings.seekEnabled = this.isSeekEnabled();
8441
- this.trigger(Events$2.PLAYBACK_SETTINGSUPDATE);
8441
+ this.trigger(Events$1.PLAYBACK_SETTINGSUPDATE);
8442
8442
  }
8443
8443
  }, {
8444
8444
  key: "getPlaybackType",
@@ -8513,19 +8513,19 @@ var HTMLImg = /*#__PURE__*/function (_Playback) {
8513
8513
  baseUrl: this.options.baseUrl
8514
8514
  });
8515
8515
  this.$el.append(style[0]);
8516
- this.trigger(Events$2.PLAYBACK_READY, this.name);
8516
+ this.trigger(Events$1.PLAYBACK_READY, this.name);
8517
8517
  return this;
8518
8518
  }
8519
8519
  }, {
8520
8520
  key: "_onLoad",
8521
8521
  value: function _onLoad() {
8522
- this.trigger(Events$2.PLAYBACK_ENDED, this.name);
8522
+ this.trigger(Events$1.PLAYBACK_ENDED, this.name);
8523
8523
  }
8524
8524
  }, {
8525
8525
  key: "_onError",
8526
8526
  value: function _onError(evt) {
8527
8527
  var m = evt.type === 'error' ? 'load error' : 'loading aborted';
8528
- this.trigger(Events$2.PLAYBACK_ERROR, {
8528
+ this.trigger(Events$1.PLAYBACK_ERROR, {
8529
8529
  message: m
8530
8530
  }, this.name);
8531
8531
  }
@@ -8586,7 +8586,7 @@ var NoOp = /*#__PURE__*/function (_Playback) {
8586
8586
  this.$el.html(this.template({
8587
8587
  message: playbackNotSupported
8588
8588
  }));
8589
- this.trigger(Events$2.PLAYBACK_READY, this.name);
8589
+ this.trigger(Events$1.PLAYBACK_READY, this.name);
8590
8590
  var showForNoOp = !!(this.options.poster && this.options.poster.showForNoOp);
8591
8591
  if (this.options.autoPlay || !showForNoOp) this._animate();
8592
8592
  return this;
@@ -8834,7 +8834,7 @@ var SourcesPlugin = /*#__PURE__*/function (_CorePlugin) {
8834
8834
  }, {
8835
8835
  key: "bindEvents",
8836
8836
  value: function bindEvents() {
8837
- this.listenTo(this.core, Events$2.CORE_CONTAINERS_CREATED, this.onContainersCreated);
8837
+ this.listenTo(this.core, Events$1.CORE_CONTAINERS_CREATED, this.onContainersCreated);
8838
8838
  }
8839
8839
  }, {
8840
8840
  key: "onContainersCreated",
@@ -9109,7 +9109,7 @@ const isSafeInteger = Number.isSafeInteger || function (value) {
9109
9109
  };
9110
9110
  const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
9111
9111
 
9112
- let Events$1 = /*#__PURE__*/function (Events) {
9112
+ let Events = /*#__PURE__*/function (Events) {
9113
9113
  Events["MEDIA_ATTACHING"] = "hlsMediaAttaching";
9114
9114
  Events["MEDIA_ATTACHED"] = "hlsMediaAttached";
9115
9115
  Events["MEDIA_DETACHING"] = "hlsMediaDetaching";
@@ -12337,19 +12337,19 @@ class ErrorController {
12337
12337
  }
12338
12338
  registerListeners() {
12339
12339
  const hls = this.hls;
12340
- hls.on(Events$1.ERROR, this.onError, this);
12341
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
12342
- hls.on(Events$1.LEVEL_UPDATED, this.onLevelUpdated, this);
12340
+ hls.on(Events.ERROR, this.onError, this);
12341
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
12342
+ hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);
12343
12343
  }
12344
12344
  unregisterListeners() {
12345
12345
  const hls = this.hls;
12346
12346
  if (!hls) {
12347
12347
  return;
12348
12348
  }
12349
- hls.off(Events$1.ERROR, this.onError, this);
12350
- hls.off(Events$1.ERROR, this.onErrorOut, this);
12351
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
12352
- hls.off(Events$1.LEVEL_UPDATED, this.onLevelUpdated, this);
12349
+ hls.off(Events.ERROR, this.onError, this);
12350
+ hls.off(Events.ERROR, this.onErrorOut, this);
12351
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
12352
+ hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);
12353
12353
  }
12354
12354
  destroy() {
12355
12355
  this.unregisterListeners();
@@ -13608,7 +13608,7 @@ class AbrController {
13608
13608
  Current BW estimate: ${isFiniteNumber(bwEstimate) ? bwEstimate | 0 : 'Unknown'} bps
13609
13609
  New BW estimate: ${this.getBwEstimate() | 0} bps
13610
13610
  Switching to level ${nextLoadLevel} @ ${nextLoadLevelBitrate | 0} bps`);
13611
- hls.trigger(Events$1.FRAG_LOAD_EMERGENCY_ABORTED, {
13611
+ hls.trigger(Events.FRAG_LOAD_EMERGENCY_ABORTED, {
13612
13612
  frag,
13613
13613
  part,
13614
13614
  stats
@@ -13634,15 +13634,15 @@ class AbrController {
13634
13634
  const {
13635
13635
  hls
13636
13636
  } = this;
13637
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
13638
- hls.on(Events$1.FRAG_LOADING, this.onFragLoading, this);
13639
- hls.on(Events$1.FRAG_LOADED, this.onFragLoaded, this);
13640
- hls.on(Events$1.FRAG_BUFFERED, this.onFragBuffered, this);
13641
- hls.on(Events$1.LEVEL_SWITCHING, this.onLevelSwitching, this);
13642
- hls.on(Events$1.LEVEL_LOADED, this.onLevelLoaded, this);
13643
- hls.on(Events$1.LEVELS_UPDATED, this.onLevelsUpdated, this);
13644
- hls.on(Events$1.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);
13645
- hls.on(Events$1.ERROR, this.onError, this);
13637
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
13638
+ hls.on(Events.FRAG_LOADING, this.onFragLoading, this);
13639
+ hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);
13640
+ hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);
13641
+ hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);
13642
+ hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);
13643
+ hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);
13644
+ hls.on(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);
13645
+ hls.on(Events.ERROR, this.onError, this);
13646
13646
  }
13647
13647
  unregisterListeners() {
13648
13648
  const {
@@ -13651,15 +13651,15 @@ class AbrController {
13651
13651
  if (!hls) {
13652
13652
  return;
13653
13653
  }
13654
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
13655
- hls.off(Events$1.FRAG_LOADING, this.onFragLoading, this);
13656
- hls.off(Events$1.FRAG_LOADED, this.onFragLoaded, this);
13657
- hls.off(Events$1.FRAG_BUFFERED, this.onFragBuffered, this);
13658
- hls.off(Events$1.LEVEL_SWITCHING, this.onLevelSwitching, this);
13659
- hls.off(Events$1.LEVEL_LOADED, this.onLevelLoaded, this);
13660
- hls.off(Events$1.LEVELS_UPDATED, this.onLevelsUpdated, this);
13661
- hls.off(Events$1.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);
13662
- hls.off(Events$1.ERROR, this.onError, this);
13654
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
13655
+ hls.off(Events.FRAG_LOADING, this.onFragLoading, this);
13656
+ hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);
13657
+ hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);
13658
+ hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);
13659
+ hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);
13660
+ hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);
13661
+ hls.off(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);
13662
+ hls.off(Events.ERROR, this.onError, this);
13663
13663
  }
13664
13664
  destroy() {
13665
13665
  this.unregisterListeners();
@@ -13798,7 +13798,7 @@ class AbrController {
13798
13798
  part,
13799
13799
  id: frag.type
13800
13800
  };
13801
- this.onFragBuffered(Events$1.FRAG_BUFFERED, fragBufferedData);
13801
+ this.onFragBuffered(Events.FRAG_BUFFERED, fragBufferedData);
13802
13802
  frag.bitrateTest = false;
13803
13803
  } else {
13804
13804
  // store level id after successful fragment load for playback
@@ -15379,7 +15379,7 @@ class BaseStreamController extends TaskLoop {
15379
15379
  this.fragmentTracker = fragmentTracker;
15380
15380
  this.config = hls.config;
15381
15381
  this.decrypter = new Decrypter(hls.config);
15382
- hls.on(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
15382
+ hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
15383
15383
  }
15384
15384
  doTick() {
15385
15385
  this.onTickEnd();
@@ -15524,7 +15524,7 @@ class BaseStreamController extends TaskLoop {
15524
15524
  this.initPTS = [];
15525
15525
  }
15526
15526
  onHandlerDestroying() {
15527
- this.hls.off(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
15527
+ this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
15528
15528
  this.stopLoad();
15529
15529
  super.onHandlerDestroying();
15530
15530
  // @ts-ignore
@@ -15572,7 +15572,7 @@ class BaseStreamController extends TaskLoop {
15572
15572
  }
15573
15573
  if ('payload' in data) {
15574
15574
  this.log(`Loaded fragment ${frag.sn} of level ${frag.level}`);
15575
- this.hls.trigger(Events$1.FRAG_LOADED, data);
15575
+ this.hls.trigger(Events.FRAG_LOADED, data);
15576
15576
  }
15577
15577
 
15578
15578
  // Pass through the whole payload; controllers not implementing progressive loading receive data from this callback
@@ -15644,7 +15644,7 @@ class BaseStreamController extends TaskLoop {
15644
15644
  endOffset,
15645
15645
  type
15646
15646
  };
15647
- this.hls.trigger(Events$1.BUFFER_FLUSHING, flushScope);
15647
+ this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);
15648
15648
  }
15649
15649
  _loadInitSegment(frag, level) {
15650
15650
  this._doFragLoad(frag, level).then(data => {
@@ -15666,7 +15666,7 @@ class BaseStreamController extends TaskLoop {
15666
15666
  const startTime = self.performance.now();
15667
15667
  // decrypt init segment data
15668
15668
  return this.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(err => {
15669
- hls.trigger(Events$1.ERROR, {
15669
+ hls.trigger(Events.ERROR, {
15670
15670
  type: ErrorTypes.MEDIA_ERROR,
15671
15671
  details: ErrorDetails.FRAG_DECRYPT_ERROR,
15672
15672
  fatal: false,
@@ -15677,7 +15677,7 @@ class BaseStreamController extends TaskLoop {
15677
15677
  throw err;
15678
15678
  }).then(decryptedData => {
15679
15679
  const endTime = self.performance.now();
15680
- hls.trigger(Events$1.FRAG_DECRYPTED, {
15680
+ hls.trigger(Events.FRAG_DECRYPTED, {
15681
15681
  frag,
15682
15682
  payload: decryptedData,
15683
15683
  stats: {
@@ -15782,14 +15782,14 @@ class BaseStreamController extends TaskLoop {
15782
15782
  this.fragCurrent = frag;
15783
15783
  keyLoadingPromise = this.keyLoader.load(frag).then(keyLoadedData => {
15784
15784
  if (!this.fragContextChanged(keyLoadedData.frag)) {
15785
- this.hls.trigger(Events$1.KEY_LOADED, keyLoadedData);
15785
+ this.hls.trigger(Events.KEY_LOADED, keyLoadedData);
15786
15786
  if (this.state === State.KEY_LOADING) {
15787
15787
  this.state = State.IDLE;
15788
15788
  }
15789
15789
  return keyLoadedData;
15790
15790
  }
15791
15791
  });
15792
- this.hls.trigger(Events$1.KEY_LOADING, {
15792
+ this.hls.trigger(Events.KEY_LOADING, {
15793
15793
  frag
15794
15794
  });
15795
15795
  if (this.fragCurrent === null) {
@@ -15822,7 +15822,7 @@ class BaseStreamController extends TaskLoop {
15822
15822
  } else {
15823
15823
  _result = this.doFragPartsLoad(frag, part, level, progressCallback).catch(error => this.handleFragLoadError(error));
15824
15824
  }
15825
- this.hls.trigger(Events$1.FRAG_LOADING, {
15825
+ this.hls.trigger(Events.FRAG_LOADING, {
15826
15826
  frag,
15827
15827
  part,
15828
15828
  targetBufferTime
@@ -15864,7 +15864,7 @@ class BaseStreamController extends TaskLoop {
15864
15864
  return fragLoadedData;
15865
15865
  }).catch(error => this.handleFragLoadError(error));
15866
15866
  }
15867
- this.hls.trigger(Events$1.FRAG_LOADING, {
15867
+ this.hls.trigger(Events.FRAG_LOADING, {
15868
15868
  frag,
15869
15869
  targetBufferTime
15870
15870
  });
@@ -15882,7 +15882,7 @@ class BaseStreamController extends TaskLoop {
15882
15882
  this.fragmentLoader.loadPart(frag, part, progressCallback).then(partLoadedData => {
15883
15883
  partsLoaded[part.index] = partLoadedData;
15884
15884
  const loadedPart = partLoadedData.part;
15885
- this.hls.trigger(Events$1.FRAG_LOADED, partLoadedData);
15885
+ this.hls.trigger(Events.FRAG_LOADED, partLoadedData);
15886
15886
  const nextPart = getPartWith(level, frag.sn, part.index + 1) || findPart(initialPartList, frag.sn, part.index + 1);
15887
15887
  if (nextPart) {
15888
15888
  loadPart(nextPart);
@@ -15904,10 +15904,10 @@ class BaseStreamController extends TaskLoop {
15904
15904
  if (error.data && data.details === ErrorDetails.INTERNAL_ABORTED) {
15905
15905
  this.handleFragLoadAborted(data.frag, data.part);
15906
15906
  } else {
15907
- this.hls.trigger(Events$1.ERROR, data);
15907
+ this.hls.trigger(Events.ERROR, data);
15908
15908
  }
15909
15909
  } else {
15910
- this.hls.trigger(Events$1.ERROR, {
15910
+ this.hls.trigger(Events.ERROR, {
15911
15911
  type: ErrorTypes.OTHER_ERROR,
15912
15912
  details: ErrorDetails.INTERNAL_EXCEPTION,
15913
15913
  err: error,
@@ -15991,7 +15991,7 @@ class BaseStreamController extends TaskLoop {
15991
15991
  parent: frag.type,
15992
15992
  data: buffer
15993
15993
  };
15994
- this.hls.trigger(Events$1.BUFFER_APPENDING, segment);
15994
+ this.hls.trigger(Events.BUFFER_APPENDING, segment);
15995
15995
  if (data.dropped && data.independent && !part) {
15996
15996
  if (noBacktracking) {
15997
15997
  return;
@@ -16540,7 +16540,7 @@ class BaseStreamController extends TaskLoop {
16540
16540
  return result || false;
16541
16541
  }
16542
16542
  const drift = partial ? 0 : updateFragPTSDTS(details, frag, info.startPTS, info.endPTS, info.startDTS, info.endDTS);
16543
- this.hls.trigger(Events$1.LEVEL_PTS_UPDATED, {
16543
+ this.hls.trigger(Events.LEVEL_PTS_UPDATED, {
16544
16544
  details,
16545
16545
  level,
16546
16546
  drift,
@@ -16563,7 +16563,7 @@ class BaseStreamController extends TaskLoop {
16563
16563
  this.fragmentTracker.fragBuffered(frag, true);
16564
16564
  }
16565
16565
  this.warn(error.message);
16566
- this.hls.trigger(Events$1.ERROR, {
16566
+ this.hls.trigger(Events.ERROR, {
16567
16567
  type: ErrorTypes.MEDIA_ERROR,
16568
16568
  details: ErrorDetails.FRAG_PARSING_ERROR,
16569
16569
  fatal: false,
@@ -16578,7 +16578,7 @@ class BaseStreamController extends TaskLoop {
16578
16578
  // For this error fallthrough. Marking parsed will allow advancing to next fragment.
16579
16579
  }
16580
16580
  this.state = State.PARSED;
16581
- this.hls.trigger(Events$1.FRAG_PARSED, {
16581
+ this.hls.trigger(Events.FRAG_PARSED, {
16582
16582
  frag,
16583
16583
  part
16584
16584
  });
@@ -16846,7 +16846,7 @@ function getAudioConfig(observer, data, offset, audioCodec) {
16846
16846
  const adtsSamplingIndex = (data[offset + 2] & 0x3c) >>> 2;
16847
16847
  if (adtsSamplingIndex > adtsSamplingRates.length - 1) {
16848
16848
  const error = new Error(`invalid ADTS sampling index:${adtsSamplingIndex}`);
16849
- observer.emit(Events$1.ERROR, Events$1.ERROR, {
16849
+ observer.emit(Events.ERROR, Events.ERROR, {
16850
16850
  type: ErrorTypes.MEDIA_ERROR,
16851
16851
  details: ErrorDetails.FRAG_PARSING_ERROR,
16852
16852
  fatal: true,
@@ -18959,7 +18959,7 @@ function parsePMT(data, offset, typeSupported, isSampleAes, observer) {
18959
18959
  }
18960
18960
  function emitParsingError(observer, error, levelRetry) {
18961
18961
  logger.warn(`parsing error: ${error.message}`);
18962
- observer.emit(Events$1.ERROR, Events$1.ERROR, {
18962
+ observer.emit(Events.ERROR, Events.ERROR, {
18963
18963
  type: ErrorTypes.MEDIA_ERROR,
18964
18964
  details: ErrorDetails.FRAG_PARSING_ERROR,
18965
18965
  fatal: false,
@@ -20189,7 +20189,7 @@ class MP4Remuxer {
20189
20189
  try {
20190
20190
  mdat = new Uint8Array(mdatSize);
20191
20191
  } catch (err) {
20192
- this.observer.emit(Events$1.ERROR, Events$1.ERROR, {
20192
+ this.observer.emit(Events.ERROR, Events.ERROR, {
20193
20193
  type: ErrorTypes.MUX_ERROR,
20194
20194
  details: ErrorDetails.REMUX_ALLOC_ERROR,
20195
20195
  fatal: false,
@@ -20475,7 +20475,7 @@ class MP4Remuxer {
20475
20475
  try {
20476
20476
  mdat = new Uint8Array(mdatSize);
20477
20477
  } catch (err) {
20478
- this.observer.emit(Events$1.ERROR, Events$1.ERROR, {
20478
+ this.observer.emit(Events.ERROR, Events.ERROR, {
20479
20479
  type: ErrorTypes.MUX_ERROR,
20480
20480
  details: ErrorDetails.REMUX_ALLOC_ERROR,
20481
20481
  fatal: false,
@@ -20982,7 +20982,7 @@ class Transmuxer {
20982
20982
  const error = this.configureTransmuxer(uintData);
20983
20983
  if (error) {
20984
20984
  logger.warn(`[transmuxer] ${error.message}`);
20985
- this.observer.emit(Events$1.ERROR, Events$1.ERROR, {
20985
+ this.observer.emit(Events.ERROR, Events.ERROR, {
20986
20986
  type: ErrorTypes.MEDIA_ERROR,
20987
20987
  details: ErrorDetails.FRAG_PARSING_ERROR,
20988
20988
  fatal: false,
@@ -21611,7 +21611,7 @@ class TransmuxerInterface {
21611
21611
  data = data || {};
21612
21612
  data.frag = this.frag;
21613
21613
  data.id = this.id;
21614
- if (ev === Events$1.ERROR) {
21614
+ if (ev === Events.ERROR) {
21615
21615
  this.error = data.error;
21616
21616
  }
21617
21617
  this.hls.trigger(ev, data);
@@ -21619,8 +21619,8 @@ class TransmuxerInterface {
21619
21619
 
21620
21620
  // forward events to main thread
21621
21621
  this.observer = new EventEmitter();
21622
- this.observer.on(Events$1.FRAG_DECRYPTED, forwardMessage);
21623
- this.observer.on(Events$1.ERROR, forwardMessage);
21622
+ this.observer.on(Events.FRAG_DECRYPTED, forwardMessage);
21623
+ this.observer.on(Events.ERROR, forwardMessage);
21624
21624
  const MediaSource = getMediaSource(config.preferManagedMediaSource) || {
21625
21625
  isTypeSupported: () => false
21626
21626
  };
@@ -21649,7 +21649,7 @@ class TransmuxerInterface {
21649
21649
  const error = new Error(`${event.message} (${event.filename}:${event.lineno})`);
21650
21650
  config.enableWorker = false;
21651
21651
  logger.warn(`Error in "${id}" Web Worker, fallback to inline`);
21652
- this.hls.trigger(Events$1.ERROR, {
21652
+ this.hls.trigger(Events.ERROR, {
21653
21653
  type: ErrorTypes.OTHER_ERROR,
21654
21654
  details: ErrorDetails.INTERNAL_EXCEPTION,
21655
21655
  fatal: false,
@@ -21808,7 +21808,7 @@ class TransmuxerInterface {
21808
21808
  return;
21809
21809
  }
21810
21810
  this.error = error;
21811
- this.hls.trigger(Events$1.ERROR, {
21811
+ this.hls.trigger(Events.ERROR, {
21812
21812
  type: ErrorTypes.MEDIA_ERROR,
21813
21813
  details: ErrorDetails.FRAG_PARSING_ERROR,
21814
21814
  chunkMeta,
@@ -21921,39 +21921,39 @@ class AudioStreamController extends BaseStreamController {
21921
21921
  const {
21922
21922
  hls
21923
21923
  } = this;
21924
- hls.on(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
21925
- hls.on(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
21926
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
21927
- hls.on(Events$1.LEVEL_LOADED, this.onLevelLoaded, this);
21928
- hls.on(Events$1.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);
21929
- hls.on(Events$1.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);
21930
- hls.on(Events$1.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
21931
- hls.on(Events$1.ERROR, this.onError, this);
21932
- hls.on(Events$1.BUFFER_RESET, this.onBufferReset, this);
21933
- hls.on(Events$1.BUFFER_CREATED, this.onBufferCreated, this);
21934
- hls.on(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
21935
- hls.on(Events$1.BUFFER_FLUSHED, this.onBufferFlushed, this);
21936
- hls.on(Events$1.INIT_PTS_FOUND, this.onInitPtsFound, this);
21937
- hls.on(Events$1.FRAG_BUFFERED, this.onFragBuffered, this);
21924
+ hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
21925
+ hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
21926
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
21927
+ hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);
21928
+ hls.on(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);
21929
+ hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);
21930
+ hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
21931
+ hls.on(Events.ERROR, this.onError, this);
21932
+ hls.on(Events.BUFFER_RESET, this.onBufferReset, this);
21933
+ hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);
21934
+ hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
21935
+ hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);
21936
+ hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);
21937
+ hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);
21938
21938
  }
21939
21939
  _unregisterListeners() {
21940
21940
  const {
21941
21941
  hls
21942
21942
  } = this;
21943
- hls.off(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
21944
- hls.off(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
21945
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
21946
- hls.off(Events$1.LEVEL_LOADED, this.onLevelLoaded, this);
21947
- hls.off(Events$1.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);
21948
- hls.off(Events$1.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);
21949
- hls.off(Events$1.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
21950
- hls.off(Events$1.ERROR, this.onError, this);
21951
- hls.off(Events$1.BUFFER_RESET, this.onBufferReset, this);
21952
- hls.off(Events$1.BUFFER_CREATED, this.onBufferCreated, this);
21953
- hls.off(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
21954
- hls.off(Events$1.BUFFER_FLUSHED, this.onBufferFlushed, this);
21955
- hls.off(Events$1.INIT_PTS_FOUND, this.onInitPtsFound, this);
21956
- hls.off(Events$1.FRAG_BUFFERED, this.onFragBuffered, this);
21943
+ hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
21944
+ hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
21945
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
21946
+ hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);
21947
+ hls.off(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);
21948
+ hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);
21949
+ hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
21950
+ hls.off(Events.ERROR, this.onError, this);
21951
+ hls.off(Events.BUFFER_RESET, this.onBufferReset, this);
21952
+ hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);
21953
+ hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
21954
+ hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);
21955
+ hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);
21956
+ hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);
21957
21957
  }
21958
21958
 
21959
21959
  // INIT_PTS_FOUND is triggered when the video track parsed in the stream-controller has a new PTS value
@@ -22141,7 +22141,7 @@ class AudioStreamController extends BaseStreamController {
22141
22141
  return;
22142
22142
  }
22143
22143
  if (!this.switchingTrack && this._streamEnded(bufferInfo, trackDetails)) {
22144
- hls.trigger(Events$1.BUFFER_EOS, {
22144
+ hls.trigger(Events.BUFFER_EOS, {
22145
22145
  type: 'audio'
22146
22146
  });
22147
22147
  this.state = State.ENDED;
@@ -22263,7 +22263,7 @@ class AudioStreamController extends BaseStreamController {
22263
22263
  onLevelLoaded(event, data) {
22264
22264
  this.mainDetails = data.details;
22265
22265
  if (this.cachedTrackLoadedData !== null) {
22266
- this.hls.trigger(Events$1.AUDIO_TRACK_LOADED, this.cachedTrackLoadedData);
22266
+ this.hls.trigger(Events.AUDIO_TRACK_LOADED, this.cachedTrackLoadedData);
22267
22267
  this.cachedTrackLoadedData = null;
22268
22268
  }
22269
22269
  }
@@ -22429,7 +22429,7 @@ class AudioStreamController extends BaseStreamController {
22429
22429
  if (track) {
22430
22430
  this.bufferedTrack = track;
22431
22431
  this.switchingTrack = null;
22432
- this.hls.trigger(Events$1.AUDIO_TRACK_SWITCHED, _objectSpread2({}, track));
22432
+ this.hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, track));
22433
22433
  }
22434
22434
  }
22435
22435
  this.fragBufferedComplete(frag, part);
@@ -22543,7 +22543,7 @@ class AudioStreamController extends BaseStreamController {
22543
22543
  if (initSegment != null && initSegment.tracks) {
22544
22544
  const mapFragment = frag.initSegment || frag;
22545
22545
  this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);
22546
- hls.trigger(Events$1.FRAG_PARSING_INIT_SEGMENT, {
22546
+ hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {
22547
22547
  frag: mapFragment,
22548
22548
  id,
22549
22549
  tracks: initSegment.tracks
@@ -22574,7 +22574,7 @@ class AudioStreamController extends BaseStreamController {
22574
22574
  frag,
22575
22575
  details
22576
22576
  }, id3);
22577
- hls.trigger(Events$1.FRAG_PARSING_METADATA, emittedID3);
22577
+ hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);
22578
22578
  }
22579
22579
  if (text) {
22580
22580
  const emittedText = _extends({
@@ -22582,7 +22582,7 @@ class AudioStreamController extends BaseStreamController {
22582
22582
  frag,
22583
22583
  details
22584
22584
  }, text);
22585
- hls.trigger(Events$1.FRAG_PARSING_USERDATA, emittedText);
22585
+ hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);
22586
22586
  }
22587
22587
  }
22588
22588
  _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {
@@ -22606,7 +22606,7 @@ class AudioStreamController extends BaseStreamController {
22606
22606
  if (variantAudioCodecs && variantAudioCodecs.split(',').length === 1) {
22607
22607
  track.levelCodec = variantAudioCodecs;
22608
22608
  }
22609
- this.hls.trigger(Events$1.BUFFER_CODECS, tracks);
22609
+ this.hls.trigger(Events.BUFFER_CODECS, tracks);
22610
22610
  const initSegment = track.initSegment;
22611
22611
  if (initSegment != null && initSegment.byteLength) {
22612
22612
  const segment = {
@@ -22617,7 +22617,7 @@ class AudioStreamController extends BaseStreamController {
22617
22617
  parent: frag.type,
22618
22618
  data: initSegment
22619
22619
  };
22620
- this.hls.trigger(Events$1.BUFFER_APPENDING, segment);
22620
+ this.hls.trigger(Events.BUFFER_APPENDING, segment);
22621
22621
  }
22622
22622
  // trigger handler right now
22623
22623
  this.tickImmediate();
@@ -22678,7 +22678,7 @@ class AudioStreamController extends BaseStreamController {
22678
22678
  this.flushAudioIfNeeded(switchingTrack);
22679
22679
  this.bufferedTrack = switchingTrack;
22680
22680
  this.switchingTrack = null;
22681
- hls.trigger(Events$1.AUDIO_TRACK_SWITCHED, _objectSpread2({}, switchingTrack));
22681
+ hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, switchingTrack));
22682
22682
  }
22683
22683
  }
22684
22684
 
@@ -22721,23 +22721,23 @@ class AudioTrackController extends BasePlaylistController {
22721
22721
  const {
22722
22722
  hls
22723
22723
  } = this;
22724
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
22725
- hls.on(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
22726
- hls.on(Events$1.LEVEL_LOADING, this.onLevelLoading, this);
22727
- hls.on(Events$1.LEVEL_SWITCHING, this.onLevelSwitching, this);
22728
- hls.on(Events$1.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
22729
- hls.on(Events$1.ERROR, this.onError, this);
22724
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
22725
+ hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);
22726
+ hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);
22727
+ hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);
22728
+ hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
22729
+ hls.on(Events.ERROR, this.onError, this);
22730
22730
  }
22731
22731
  unregisterListeners() {
22732
22732
  const {
22733
22733
  hls
22734
22734
  } = this;
22735
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
22736
- hls.off(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
22737
- hls.off(Events$1.LEVEL_LOADING, this.onLevelLoading, this);
22738
- hls.off(Events$1.LEVEL_SWITCHING, this.onLevelSwitching, this);
22739
- hls.off(Events$1.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
22740
- hls.off(Events$1.ERROR, this.onError, this);
22735
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
22736
+ hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);
22737
+ hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);
22738
+ hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);
22739
+ hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);
22740
+ hls.off(Events.ERROR, this.onError, this);
22741
22741
  }
22742
22742
  destroy() {
22743
22743
  this.unregisterListeners();
@@ -22832,7 +22832,7 @@ class AudioTrackController extends BasePlaylistController {
22832
22832
  audioTracks
22833
22833
  };
22834
22834
  this.log(`Updating audio tracks, ${audioTracks.length} track(s) found in group(s): ${audioGroups == null ? undefined : audioGroups.join(',')}`);
22835
- this.hls.trigger(Events$1.AUDIO_TRACKS_UPDATED, audioTracksUpdated);
22835
+ this.hls.trigger(Events.AUDIO_TRACKS_UPDATED, audioTracksUpdated);
22836
22836
  const selectedTrackId = this.trackId;
22837
22837
  if (trackId !== -1 && selectedTrackId === -1) {
22838
22838
  this.setAudioTrack(trackId);
@@ -22840,7 +22840,7 @@ class AudioTrackController extends BasePlaylistController {
22840
22840
  var _this$groupIds;
22841
22841
  const error = new Error(`No audio track selected for current audio group-ID(s): ${(_this$groupIds = this.groupIds) == null ? undefined : _this$groupIds.join(',')} track count: ${audioTracks.length}`);
22842
22842
  this.warn(error.message);
22843
- this.hls.trigger(Events$1.ERROR, {
22843
+ this.hls.trigger(Events.ERROR, {
22844
22844
  type: ErrorTypes.MEDIA_ERROR,
22845
22845
  details: ErrorDetails.AUDIO_TRACK_LOAD_ERROR,
22846
22846
  fatal: true,
@@ -22940,7 +22940,7 @@ class AudioTrackController extends BasePlaylistController {
22940
22940
  this.log(`Switching to audio-track ${newId} "${track.name}" lang:${track.lang} group:${track.groupId} channels:${track.channels}`);
22941
22941
  this.trackId = newId;
22942
22942
  this.currentTrack = track;
22943
- this.hls.trigger(Events$1.AUDIO_TRACK_SWITCHING, _objectSpread2({}, track));
22943
+ this.hls.trigger(Events.AUDIO_TRACK_SWITCHING, _objectSpread2({}, track));
22944
22944
  // Do not reload track unless live
22945
22945
  if (trackLoaded) {
22946
22946
  return;
@@ -23013,7 +23013,7 @@ class AudioTrackController extends BasePlaylistController {
23013
23013
  // track not retrieved yet, or live playlist we need to (re)load it
23014
23014
  this.log(`loading audio-track playlist ${id} "${audioTrack.name}" lang:${audioTrack.lang} group:${groupId}`);
23015
23015
  this.clearTimer();
23016
- this.hls.trigger(Events$1.AUDIO_TRACK_LOADING, {
23016
+ this.hls.trigger(Events.AUDIO_TRACK_LOADING, {
23017
23017
  url,
23018
23018
  id,
23019
23019
  groupId,
@@ -23042,33 +23042,33 @@ class SubtitleStreamController extends BaseStreamController {
23042
23042
  const {
23043
23043
  hls
23044
23044
  } = this;
23045
- hls.on(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
23046
- hls.on(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
23047
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
23048
- hls.on(Events$1.LEVEL_LOADED, this.onLevelLoaded, this);
23049
- hls.on(Events$1.ERROR, this.onError, this);
23050
- hls.on(Events$1.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
23051
- hls.on(Events$1.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);
23052
- hls.on(Events$1.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23053
- hls.on(Events$1.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);
23054
- hls.on(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
23055
- hls.on(Events$1.FRAG_BUFFERED, this.onFragBuffered, this);
23045
+ hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
23046
+ hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
23047
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
23048
+ hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);
23049
+ hls.on(Events.ERROR, this.onError, this);
23050
+ hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
23051
+ hls.on(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);
23052
+ hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23053
+ hls.on(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);
23054
+ hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
23055
+ hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);
23056
23056
  }
23057
23057
  _unregisterListeners() {
23058
23058
  const {
23059
23059
  hls
23060
23060
  } = this;
23061
- hls.off(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
23062
- hls.off(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
23063
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
23064
- hls.off(Events$1.LEVEL_LOADED, this.onLevelLoaded, this);
23065
- hls.off(Events$1.ERROR, this.onError, this);
23066
- hls.off(Events$1.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
23067
- hls.off(Events$1.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);
23068
- hls.off(Events$1.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23069
- hls.off(Events$1.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);
23070
- hls.off(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
23071
- hls.off(Events$1.FRAG_BUFFERED, this.onFragBuffered, this);
23061
+ hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
23062
+ hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
23063
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
23064
+ hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);
23065
+ hls.off(Events.ERROR, this.onError, this);
23066
+ hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
23067
+ hls.off(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);
23068
+ hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23069
+ hls.off(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);
23070
+ hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
23071
+ hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);
23072
23072
  }
23073
23073
  startLoad(startPosition) {
23074
23074
  this.stopLoad();
@@ -23299,7 +23299,7 @@ class SubtitleStreamController extends BaseStreamController {
23299
23299
  const startTime = performance.now();
23300
23300
  // decrypt the subtitles
23301
23301
  this.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(err => {
23302
- hls.trigger(Events$1.ERROR, {
23302
+ hls.trigger(Events.ERROR, {
23303
23303
  type: ErrorTypes.MEDIA_ERROR,
23304
23304
  details: ErrorDetails.FRAG_DECRYPT_ERROR,
23305
23305
  fatal: false,
@@ -23310,7 +23310,7 @@ class SubtitleStreamController extends BaseStreamController {
23310
23310
  throw err;
23311
23311
  }).then(decryptedData => {
23312
23312
  const endTime = performance.now();
23313
- hls.trigger(Events$1.FRAG_DECRYPTED, {
23313
+ hls.trigger(Events.FRAG_DECRYPTED, {
23314
23314
  frag,
23315
23315
  payload: decryptedData,
23316
23316
  stats: {
@@ -23494,27 +23494,27 @@ class SubtitleTrackController extends BasePlaylistController {
23494
23494
  const {
23495
23495
  hls
23496
23496
  } = this;
23497
- hls.on(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
23498
- hls.on(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
23499
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
23500
- hls.on(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
23501
- hls.on(Events$1.LEVEL_LOADING, this.onLevelLoading, this);
23502
- hls.on(Events$1.LEVEL_SWITCHING, this.onLevelSwitching, this);
23503
- hls.on(Events$1.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23504
- hls.on(Events$1.ERROR, this.onError, this);
23497
+ hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
23498
+ hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
23499
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
23500
+ hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);
23501
+ hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);
23502
+ hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);
23503
+ hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23504
+ hls.on(Events.ERROR, this.onError, this);
23505
23505
  }
23506
23506
  unregisterListeners() {
23507
23507
  const {
23508
23508
  hls
23509
23509
  } = this;
23510
- hls.off(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
23511
- hls.off(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
23512
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
23513
- hls.off(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
23514
- hls.off(Events$1.LEVEL_LOADING, this.onLevelLoading, this);
23515
- hls.off(Events$1.LEVEL_SWITCHING, this.onLevelSwitching, this);
23516
- hls.off(Events$1.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23517
- hls.off(Events$1.ERROR, this.onError, this);
23510
+ hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
23511
+ hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
23512
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
23513
+ hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);
23514
+ hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);
23515
+ hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);
23516
+ hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);
23517
+ hls.off(Events.ERROR, this.onError, this);
23518
23518
  }
23519
23519
 
23520
23520
  // Listen for subtitle track change, then extract the current track ID.
@@ -23647,7 +23647,7 @@ class SubtitleTrackController extends BasePlaylistController {
23647
23647
  subtitleTracks
23648
23648
  };
23649
23649
  this.log(`Updating subtitle tracks, ${subtitleTracks.length} track(s) found in "${subtitleGroups == null ? undefined : subtitleGroups.join(',')}" group-id`);
23650
- this.hls.trigger(Events$1.SUBTITLE_TRACKS_UPDATED, subtitleTracksUpdated);
23650
+ this.hls.trigger(Events.SUBTITLE_TRACKS_UPDATED, subtitleTracksUpdated);
23651
23651
  if (trackId !== -1 && this.trackId === -1) {
23652
23652
  this.setSubtitleTrack(trackId);
23653
23653
  }
@@ -23768,7 +23768,7 @@ class SubtitleTrackController extends BasePlaylistController {
23768
23768
  }
23769
23769
  }
23770
23770
  this.log(`Loading subtitle playlist for id ${id}`);
23771
- this.hls.trigger(Events$1.SUBTITLE_TRACK_LOADING, {
23771
+ this.hls.trigger(Events.SUBTITLE_TRACK_LOADING, {
23772
23772
  url,
23773
23773
  id,
23774
23774
  groupId,
@@ -23843,7 +23843,7 @@ class SubtitleTrackController extends BasePlaylistController {
23843
23843
  this.toggleTrackModes();
23844
23844
  if (!track) {
23845
23845
  // switch to -1
23846
- this.hls.trigger(Events$1.SUBTITLE_TRACK_SWITCH, {
23846
+ this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {
23847
23847
  id: newId
23848
23848
  });
23849
23849
  return;
@@ -23860,7 +23860,7 @@ class SubtitleTrackController extends BasePlaylistController {
23860
23860
  type,
23861
23861
  url
23862
23862
  } = track;
23863
- this.hls.trigger(Events$1.SUBTITLE_TRACK_SWITCH, {
23863
+ this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {
23864
23864
  id,
23865
23865
  groupId,
23866
23866
  name,
@@ -23994,7 +23994,7 @@ class BufferController {
23994
23994
  if (media) {
23995
23995
  media.removeEventListener('emptied', this._onMediaEmptied);
23996
23996
  this.updateMediaElementDuration();
23997
- this.hls.trigger(Events$1.MEDIA_ATTACHED, {
23997
+ this.hls.trigger(Events.MEDIA_ATTACHED, {
23998
23998
  media,
23999
23999
  mediaSource: mediaSource
24000
24000
  });
@@ -24043,35 +24043,35 @@ class BufferController {
24043
24043
  const {
24044
24044
  hls
24045
24045
  } = this;
24046
- hls.on(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
24047
- hls.on(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
24048
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
24049
- hls.on(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
24050
- hls.on(Events$1.BUFFER_RESET, this.onBufferReset, this);
24051
- hls.on(Events$1.BUFFER_APPENDING, this.onBufferAppending, this);
24052
- hls.on(Events$1.BUFFER_CODECS, this.onBufferCodecs, this);
24053
- hls.on(Events$1.BUFFER_EOS, this.onBufferEos, this);
24054
- hls.on(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
24055
- hls.on(Events$1.LEVEL_UPDATED, this.onLevelUpdated, this);
24056
- hls.on(Events$1.FRAG_PARSED, this.onFragParsed, this);
24057
- hls.on(Events$1.FRAG_CHANGED, this.onFragChanged, this);
24046
+ hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
24047
+ hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
24048
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
24049
+ hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);
24050
+ hls.on(Events.BUFFER_RESET, this.onBufferReset, this);
24051
+ hls.on(Events.BUFFER_APPENDING, this.onBufferAppending, this);
24052
+ hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);
24053
+ hls.on(Events.BUFFER_EOS, this.onBufferEos, this);
24054
+ hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
24055
+ hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);
24056
+ hls.on(Events.FRAG_PARSED, this.onFragParsed, this);
24057
+ hls.on(Events.FRAG_CHANGED, this.onFragChanged, this);
24058
24058
  }
24059
24059
  unregisterListeners() {
24060
24060
  const {
24061
24061
  hls
24062
24062
  } = this;
24063
- hls.off(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
24064
- hls.off(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
24065
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
24066
- hls.off(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
24067
- hls.off(Events$1.BUFFER_RESET, this.onBufferReset, this);
24068
- hls.off(Events$1.BUFFER_APPENDING, this.onBufferAppending, this);
24069
- hls.off(Events$1.BUFFER_CODECS, this.onBufferCodecs, this);
24070
- hls.off(Events$1.BUFFER_EOS, this.onBufferEos, this);
24071
- hls.off(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
24072
- hls.off(Events$1.LEVEL_UPDATED, this.onLevelUpdated, this);
24073
- hls.off(Events$1.FRAG_PARSED, this.onFragParsed, this);
24074
- hls.off(Events$1.FRAG_CHANGED, this.onFragChanged, this);
24063
+ hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
24064
+ hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
24065
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
24066
+ hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);
24067
+ hls.off(Events.BUFFER_RESET, this.onBufferReset, this);
24068
+ hls.off(Events.BUFFER_APPENDING, this.onBufferAppending, this);
24069
+ hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);
24070
+ hls.off(Events.BUFFER_EOS, this.onBufferEos, this);
24071
+ hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
24072
+ hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);
24073
+ hls.off(Events.FRAG_PARSED, this.onFragParsed, this);
24074
+ hls.off(Events.FRAG_CHANGED, this.onFragChanged, this);
24075
24075
  }
24076
24076
  _initSourceBuffer() {
24077
24077
  this.sourceBuffer = {};
@@ -24197,7 +24197,7 @@ class BufferController {
24197
24197
  this.pendingTracks = {};
24198
24198
  this.tracks = {};
24199
24199
  }
24200
- this.hls.trigger(Events$1.MEDIA_DETACHED, undefined);
24200
+ this.hls.trigger(Events.MEDIA_DETACHED, undefined);
24201
24201
  }
24202
24202
  onBufferReset() {
24203
24203
  this.getSourceBufferTypes().forEach(type => {
@@ -24379,7 +24379,7 @@ class BufferController {
24379
24379
  this.appendErrors.audio = 0;
24380
24380
  this.appendErrors.video = 0;
24381
24381
  }
24382
- this.hls.trigger(Events$1.BUFFER_APPENDED, {
24382
+ this.hls.trigger(Events.BUFFER_APPENDED, {
24383
24383
  type,
24384
24384
  frag,
24385
24385
  part,
@@ -24417,7 +24417,7 @@ class BufferController {
24417
24417
  event.fatal = true;
24418
24418
  }
24419
24419
  }
24420
- hls.trigger(Events$1.ERROR, event);
24420
+ hls.trigger(Events.ERROR, event);
24421
24421
  }
24422
24422
  };
24423
24423
  operationQueue.append(operation, type, !!this.pendingTracks[type]);
@@ -24433,7 +24433,7 @@ class BufferController {
24433
24433
  },
24434
24434
  onComplete: () => {
24435
24435
  // logger.debug(`[buffer-controller]: Finished flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);
24436
- this.hls.trigger(Events$1.BUFFER_FLUSHED, {
24436
+ this.hls.trigger(Events.BUFFER_FLUSHED, {
24437
24437
  type
24438
24438
  });
24439
24439
  },
@@ -24473,7 +24473,7 @@ class BufferController {
24473
24473
  part.stats.buffering.end = now;
24474
24474
  }
24475
24475
  const stats = part ? part.stats : frag.stats;
24476
- this.hls.trigger(Events$1.FRAG_BUFFERED, {
24476
+ this.hls.trigger(Events.FRAG_BUFFERED, {
24477
24477
  frag,
24478
24478
  part,
24479
24479
  stats,
@@ -24583,20 +24583,20 @@ class BufferController {
24583
24583
  const buffered = BufferHelper.getBuffered(sb);
24584
24584
  // when target buffer start exceeds actual buffer start
24585
24585
  if (buffered.length > 0 && targetBackBufferPosition > buffered.start(0)) {
24586
- this.hls.trigger(Events$1.BACK_BUFFER_REACHED, {
24586
+ this.hls.trigger(Events.BACK_BUFFER_REACHED, {
24587
24587
  bufferEnd: targetBackBufferPosition
24588
24588
  });
24589
24589
 
24590
24590
  // Support for deprecated event:
24591
24591
  if (details != null && details.live) {
24592
- this.hls.trigger(Events$1.LIVE_BACK_BUFFER_REACHED, {
24592
+ this.hls.trigger(Events.LIVE_BACK_BUFFER_REACHED, {
24593
24593
  bufferEnd: targetBackBufferPosition
24594
24594
  });
24595
24595
  } else if (sb.ended && buffered.end(buffered.length - 1) - currentTime < targetDuration * 2) {
24596
24596
  this.log(`Cannot flush ${type} back buffer while SourceBuffer is in ended state`);
24597
24597
  return;
24598
24598
  }
24599
- this.hls.trigger(Events$1.BUFFER_FLUSHING, {
24599
+ this.hls.trigger(Events.BUFFER_FLUSHING, {
24600
24600
  startOffset: 0,
24601
24601
  endOffset: targetBackBufferPosition,
24602
24602
  type
@@ -24628,7 +24628,7 @@ class BufferController {
24628
24628
  this.log(`Cannot flush ${type} front buffer while SourceBuffer is in ended state`);
24629
24629
  return;
24630
24630
  }
24631
- this.hls.trigger(Events$1.BUFFER_FLUSHING, {
24631
+ this.hls.trigger(Events.BUFFER_FLUSHING, {
24632
24632
  startOffset: bufferStart,
24633
24633
  endOffset: Infinity,
24634
24634
  type
@@ -24698,7 +24698,7 @@ class BufferController {
24698
24698
  // append any pending segments now !
24699
24699
  const buffers = this.getSourceBufferTypes();
24700
24700
  if (buffers.length) {
24701
- this.hls.trigger(Events$1.BUFFER_CREATED, {
24701
+ this.hls.trigger(Events.BUFFER_CREATED, {
24702
24702
  tracks: this.tracks
24703
24703
  });
24704
24704
  buffers.forEach(type => {
@@ -24706,7 +24706,7 @@ class BufferController {
24706
24706
  });
24707
24707
  } else {
24708
24708
  const error = new Error('could not create source buffer for media codec(s)');
24709
- this.hls.trigger(Events$1.ERROR, {
24709
+ this.hls.trigger(Events.ERROR, {
24710
24710
  type: ErrorTypes.MEDIA_ERROR,
24711
24711
  details: ErrorDetails.BUFFER_INCOMPATIBLE_CODECS_ERROR,
24712
24712
  fatal: true,
@@ -24752,7 +24752,7 @@ class BufferController {
24752
24752
  // If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.
24753
24753
  const removedRanges = event.removedRanges;
24754
24754
  if (removedRanges != null && removedRanges.length) {
24755
- this.hls.trigger(Events$1.BUFFER_FLUSHED, {
24755
+ this.hls.trigger(Events.BUFFER_FLUSHED, {
24756
24756
  type: trackName
24757
24757
  });
24758
24758
  }
@@ -24768,7 +24768,7 @@ class BufferController {
24768
24768
  };
24769
24769
  } catch (err) {
24770
24770
  this.error(`error while trying to add sourceBuffer: ${err.message}`);
24771
- this.hls.trigger(Events$1.ERROR, {
24771
+ this.hls.trigger(Events.ERROR, {
24772
24772
  type: ErrorTypes.MEDIA_ERROR,
24773
24773
  details: ErrorDetails.BUFFER_ADD_CODEC_ERROR,
24774
24774
  fatal: false,
@@ -24811,7 +24811,7 @@ class BufferController {
24811
24811
  this.error(`${error}`, event);
24812
24812
  // according to http://www.w3.org/TR/media-source/#sourcebuffer-append-error
24813
24813
  // SourceBuffer errors are not necessarily fatal; if so, the HTMLMediaElement will fire an error event
24814
- this.hls.trigger(Events$1.ERROR, {
24814
+ this.hls.trigger(Events.ERROR, {
24815
24815
  type: ErrorTypes.MEDIA_ERROR,
24816
24816
  details: ErrorDetails.BUFFER_APPENDING_ERROR,
24817
24817
  sourceBufferName: type,
@@ -27263,35 +27263,35 @@ class TimelineController {
27263
27263
  languageCode: this.config.captionsTextTrack4LanguageCode
27264
27264
  }
27265
27265
  };
27266
- hls.on(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
27267
- hls.on(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
27268
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
27269
- hls.on(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
27270
- hls.on(Events$1.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
27271
- hls.on(Events$1.FRAG_LOADING, this.onFragLoading, this);
27272
- hls.on(Events$1.FRAG_LOADED, this.onFragLoaded, this);
27273
- hls.on(Events$1.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);
27274
- hls.on(Events$1.FRAG_DECRYPTED, this.onFragDecrypted, this);
27275
- hls.on(Events$1.INIT_PTS_FOUND, this.onInitPtsFound, this);
27276
- hls.on(Events$1.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);
27277
- hls.on(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
27266
+ hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
27267
+ hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
27268
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
27269
+ hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
27270
+ hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
27271
+ hls.on(Events.FRAG_LOADING, this.onFragLoading, this);
27272
+ hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);
27273
+ hls.on(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);
27274
+ hls.on(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);
27275
+ hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);
27276
+ hls.on(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);
27277
+ hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
27278
27278
  }
27279
27279
  destroy() {
27280
27280
  const {
27281
27281
  hls
27282
27282
  } = this;
27283
- hls.off(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
27284
- hls.off(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
27285
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
27286
- hls.off(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
27287
- hls.off(Events$1.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
27288
- hls.off(Events$1.FRAG_LOADING, this.onFragLoading, this);
27289
- hls.off(Events$1.FRAG_LOADED, this.onFragLoaded, this);
27290
- hls.off(Events$1.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);
27291
- hls.off(Events$1.FRAG_DECRYPTED, this.onFragDecrypted, this);
27292
- hls.off(Events$1.INIT_PTS_FOUND, this.onInitPtsFound, this);
27293
- hls.off(Events$1.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);
27294
- hls.off(Events$1.BUFFER_FLUSHING, this.onBufferFlushing, this);
27283
+ hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
27284
+ hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
27285
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
27286
+ hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
27287
+ hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);
27288
+ hls.off(Events.FRAG_LOADING, this.onFragLoading, this);
27289
+ hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);
27290
+ hls.off(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);
27291
+ hls.off(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);
27292
+ hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);
27293
+ hls.off(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);
27294
+ hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);
27295
27295
  // @ts-ignore
27296
27296
  this.hls = this.config = null;
27297
27297
  this.cea608Parser1 = this.cea608Parser2 = undefined;
@@ -27329,7 +27329,7 @@ class TimelineController {
27329
27329
  this.Cues.newCue(track, startTime, endTime, screen);
27330
27330
  } else {
27331
27331
  const cues = this.Cues.newCue(null, startTime, endTime, screen);
27332
- this.hls.trigger(Events$1.CUES_PARSED, {
27332
+ this.hls.trigger(Events.CUES_PARSED, {
27333
27333
  type: 'captions',
27334
27334
  cues,
27335
27335
  track: trackName
@@ -27359,7 +27359,7 @@ class TimelineController {
27359
27359
  if (unparsedVttFrags.length) {
27360
27360
  this.unparsedVttFrags = [];
27361
27361
  unparsedVttFrags.forEach(frag => {
27362
- this.onFragLoaded(Events$1.FRAG_LOADED, frag);
27362
+ this.onFragLoaded(Events.FRAG_LOADED, frag);
27363
27363
  });
27364
27364
  }
27365
27365
  }
@@ -27432,7 +27432,7 @@ class TimelineController {
27432
27432
  closedCaptions: trackProperties.media
27433
27433
  };
27434
27434
  this.nonNativeCaptionsTracks[trackName] = track;
27435
- this.hls.trigger(Events$1.NON_NATIVE_TEXT_TRACKS_FOUND, {
27435
+ this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {
27436
27436
  tracks: [track]
27437
27437
  });
27438
27438
  }
@@ -27553,7 +27553,7 @@ class TimelineController {
27553
27553
  subtitleTrack: track
27554
27554
  };
27555
27555
  });
27556
- this.hls.trigger(Events$1.NON_NATIVE_TEXT_TRACKS_FOUND, {
27556
+ this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {
27557
27557
  tracks: tracksList
27558
27558
  });
27559
27559
  }
@@ -27640,7 +27640,7 @@ class TimelineController {
27640
27640
  }
27641
27641
  } else {
27642
27642
  // In case there is no payload, finish unsuccessfully.
27643
- this.hls.trigger(Events$1.SUBTITLE_FRAG_PROCESSED, {
27643
+ this.hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {
27644
27644
  success: false,
27645
27645
  frag,
27646
27646
  error: new Error('Empty subtitle payload')
@@ -27652,13 +27652,13 @@ class TimelineController {
27652
27652
  const hls = this.hls;
27653
27653
  parseIMSC1(payload, this.initPTS[frag.cc], cues => {
27654
27654
  this._appendCues(cues, frag.level);
27655
- hls.trigger(Events$1.SUBTITLE_FRAG_PROCESSED, {
27655
+ hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {
27656
27656
  success: true,
27657
27657
  frag: frag
27658
27658
  });
27659
27659
  }, error => {
27660
27660
  logger.log(`Failed to parse IMSC1: ${error}`);
27661
- hls.trigger(Events$1.SUBTITLE_FRAG_PROCESSED, {
27661
+ hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {
27662
27662
  success: false,
27663
27663
  frag: frag,
27664
27664
  error
@@ -27686,7 +27686,7 @@ class TimelineController {
27686
27686
  const payloadWebVTT = (_frag$initSegment = frag.initSegment) != null && _frag$initSegment.data ? appendUint8Array(frag.initSegment.data, new Uint8Array(payload)) : payload;
27687
27687
  parseWebVTT(payloadWebVTT, this.initPTS[frag.cc], this.vttCCs, frag.cc, frag.start, cues => {
27688
27688
  this._appendCues(cues, frag.level);
27689
- hls.trigger(Events$1.SUBTITLE_FRAG_PROCESSED, {
27689
+ hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {
27690
27690
  success: true,
27691
27691
  frag: frag
27692
27692
  });
@@ -27702,7 +27702,7 @@ class TimelineController {
27702
27702
  if (missingInitPTS && maxAvCC > frag.cc) {
27703
27703
  return;
27704
27704
  }
27705
- hls.trigger(Events$1.SUBTITLE_FRAG_PROCESSED, {
27705
+ hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {
27706
27706
  success: false,
27707
27707
  frag: frag,
27708
27708
  error
@@ -27739,7 +27739,7 @@ class TimelineController {
27739
27739
  return;
27740
27740
  }
27741
27741
  const track = currentTrack.default ? 'default' : 'subtitles' + fragLevel;
27742
- hls.trigger(Events$1.CUES_PARSED, {
27742
+ hls.trigger(Events.CUES_PARSED, {
27743
27743
  type: 'subtitles',
27744
27744
  cues,
27745
27745
  track
@@ -27751,7 +27751,7 @@ class TimelineController {
27751
27751
  frag
27752
27752
  } = data;
27753
27753
  if (frag.type === PlaylistLevelType.SUBTITLE) {
27754
- this.onFragLoaded(Events$1.FRAG_LOADED, data);
27754
+ this.onFragLoaded(Events.FRAG_LOADED, data);
27755
27755
  }
27756
27756
  }
27757
27757
  onSubtitleTracksCleared() {
@@ -27903,23 +27903,23 @@ class CapLevelController {
27903
27903
  const {
27904
27904
  hls
27905
27905
  } = this;
27906
- hls.on(Events$1.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);
27907
- hls.on(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
27908
- hls.on(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
27909
- hls.on(Events$1.LEVELS_UPDATED, this.onLevelsUpdated, this);
27910
- hls.on(Events$1.BUFFER_CODECS, this.onBufferCodecs, this);
27911
- hls.on(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
27906
+ hls.on(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);
27907
+ hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
27908
+ hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);
27909
+ hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);
27910
+ hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);
27911
+ hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
27912
27912
  }
27913
27913
  unregisterListener() {
27914
27914
  const {
27915
27915
  hls
27916
27916
  } = this;
27917
- hls.off(Events$1.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);
27918
- hls.off(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
27919
- hls.off(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
27920
- hls.off(Events$1.LEVELS_UPDATED, this.onLevelsUpdated, this);
27921
- hls.off(Events$1.BUFFER_CODECS, this.onBufferCodecs, this);
27922
- hls.off(Events$1.MEDIA_DETACHING, this.onMediaDetaching, this);
27917
+ hls.off(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);
27918
+ hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
27919
+ hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);
27920
+ hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);
27921
+ hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);
27922
+ hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);
27923
27923
  }
27924
27924
  onFpsDropLevelCapping(event, data) {
27925
27925
  // Don't add a restricted level more than once
@@ -28115,10 +28115,10 @@ class FPSController {
28115
28115
  this.streamController = streamController;
28116
28116
  }
28117
28117
  registerListeners() {
28118
- this.hls.on(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
28118
+ this.hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
28119
28119
  }
28120
28120
  unregisterListeners() {
28121
- this.hls.off(Events$1.MEDIA_ATTACHING, this.onMediaAttaching, this);
28121
+ this.hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);
28122
28122
  }
28123
28123
  destroy() {
28124
28124
  if (this.timer) {
@@ -28149,7 +28149,7 @@ class FPSController {
28149
28149
  const currentDecoded = decodedFrames - this.lastDecodedFrames;
28150
28150
  const droppedFPS = 1000 * currentDropped / currentPeriod;
28151
28151
  const hls = this.hls;
28152
- hls.trigger(Events$1.FPS_DROP, {
28152
+ hls.trigger(Events.FPS_DROP, {
28153
28153
  currentDropped: currentDropped,
28154
28154
  currentDecoded: currentDecoded,
28155
28155
  totalDroppedFrames: droppedFrames
@@ -28161,7 +28161,7 @@ class FPSController {
28161
28161
  logger.warn('drop FPS ratio greater than max allowed value for currentLevel: ' + currentLevel);
28162
28162
  if (currentLevel > 0 && (hls.autoLevelCapping === -1 || hls.autoLevelCapping >= currentLevel)) {
28163
28163
  currentLevel = currentLevel - 1;
28164
- hls.trigger(Events$1.FPS_DROP_LEVEL_CAPPING, {
28164
+ hls.trigger(Events.FPS_DROP_LEVEL_CAPPING, {
28165
28165
  level: currentLevel,
28166
28166
  droppedLevel: hls.currentLevel
28167
28167
  });
@@ -28369,16 +28369,16 @@ class EMEController {
28369
28369
  this.onMediaEncrypted = this.onWaitingForKey = null;
28370
28370
  }
28371
28371
  registerListeners() {
28372
- this.hls.on(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
28373
- this.hls.on(Events$1.MEDIA_DETACHED, this.onMediaDetached, this);
28374
- this.hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
28375
- this.hls.on(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
28372
+ this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
28373
+ this.hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);
28374
+ this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
28375
+ this.hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
28376
28376
  }
28377
28377
  unregisterListeners() {
28378
- this.hls.off(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
28379
- this.hls.off(Events$1.MEDIA_DETACHED, this.onMediaDetached, this);
28380
- this.hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
28381
- this.hls.off(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
28378
+ this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
28379
+ this.hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);
28380
+ this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
28381
+ this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
28382
28382
  }
28383
28383
  getLicenseServerUrl(keySystem) {
28384
28384
  const {
@@ -28601,9 +28601,9 @@ class EMEController {
28601
28601
  }
28602
28602
  this.error(error.message);
28603
28603
  if (error instanceof EMEKeyError) {
28604
- this.hls.trigger(Events$1.ERROR, error.data);
28604
+ this.hls.trigger(Events.ERROR, error.data);
28605
28605
  } else {
28606
- this.hls.trigger(Events$1.ERROR, {
28606
+ this.hls.trigger(Events.ERROR, {
28607
28607
  type: ErrorTypes.KEY_SYSTEM_ERROR,
28608
28608
  details: ErrorDetails.KEY_SYSTEM_NO_KEYS,
28609
28609
  error,
@@ -30152,15 +30152,15 @@ class CMCDController {
30152
30152
  }
30153
30153
  registerListeners() {
30154
30154
  const hls = this.hls;
30155
- hls.on(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
30156
- hls.on(Events$1.MEDIA_DETACHED, this.onMediaDetached, this);
30157
- hls.on(Events$1.BUFFER_CREATED, this.onBufferCreated, this);
30155
+ hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
30156
+ hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);
30157
+ hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);
30158
30158
  }
30159
30159
  unregisterListeners() {
30160
30160
  const hls = this.hls;
30161
- hls.off(Events$1.MEDIA_ATTACHED, this.onMediaAttached, this);
30162
- hls.off(Events$1.MEDIA_DETACHED, this.onMediaDetached, this);
30163
- hls.off(Events$1.BUFFER_CREATED, this.onBufferCreated, this);
30161
+ hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);
30162
+ hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);
30163
+ hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);
30164
30164
  }
30165
30165
  destroy() {
30166
30166
  this.unregisterListeners();
@@ -30393,20 +30393,20 @@ class ContentSteeringController {
30393
30393
  }
30394
30394
  registerListeners() {
30395
30395
  const hls = this.hls;
30396
- hls.on(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
30397
- hls.on(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
30398
- hls.on(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
30399
- hls.on(Events$1.ERROR, this.onError, this);
30396
+ hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);
30397
+ hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
30398
+ hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);
30399
+ hls.on(Events.ERROR, this.onError, this);
30400
30400
  }
30401
30401
  unregisterListeners() {
30402
30402
  const hls = this.hls;
30403
30403
  if (!hls) {
30404
30404
  return;
30405
30405
  }
30406
- hls.off(Events$1.MANIFEST_LOADING, this.onManifestLoading, this);
30407
- hls.off(Events$1.MANIFEST_LOADED, this.onManifestLoaded, this);
30408
- hls.off(Events$1.MANIFEST_PARSED, this.onManifestParsed, this);
30409
- hls.off(Events$1.ERROR, this.onError, this);
30406
+ hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);
30407
+ hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);
30408
+ hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);
30409
+ hls.off(Events.ERROR, this.onError, this);
30410
30410
  }
30411
30411
  startLoad() {
30412
30412
  this.started = true;
@@ -30564,7 +30564,7 @@ class ContentSteeringController {
30564
30564
  this.log(`Setting Pathway to "${pathwayId}"`);
30565
30565
  this.pathwayId = pathwayId;
30566
30566
  reassignFragmentLevelIndexes(levels);
30567
- this.hls.trigger(Events$1.LEVELS_UPDATED, {
30567
+ this.hls.trigger(Events.LEVELS_UPDATED, {
30568
30568
  levels
30569
30569
  });
30570
30570
  // Set LevelController's level to trigger LEVEL_SWITCHING which loads playlist if needed
@@ -30710,7 +30710,7 @@ class ContentSteeringController {
30710
30710
  steeringManifest: steeringData,
30711
30711
  url: url.toString()
30712
30712
  };
30713
- this.hls.trigger(Events$1.STEERING_MANIFEST_LOADED, loadedSteeringData);
30713
+ this.hls.trigger(Events.STEERING_MANIFEST_LOADED, loadedSteeringData);
30714
30714
  if (pathwayPriority) {
30715
30715
  this.updatePathwayPriority(pathwayPriority);
30716
30716
  }
@@ -31466,27 +31466,27 @@ class AudioSelector extends UICorePlugin {
31466
31466
  };
31467
31467
  }
31468
31468
  bindEvents() {
31469
- this.listenTo(this.core, Events$2.CORE_READY, this.bindPlaybackEvents);
31470
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.reload);
31471
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.render);
31472
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE, this.hideSelectTrackMenu);
31469
+ this.listenTo(this.core, Events$1.CORE_READY, this.bindPlaybackEvents);
31470
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.reload);
31471
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.render);
31472
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_HIDE, this.hideSelectTrackMenu);
31473
31473
  }
31474
31474
  unBindEvents() {
31475
31475
  // @ts-ignore
31476
- this.stopListening(this.core, Events$2.CORE_READY);
31476
+ this.stopListening(this.core, Events$1.CORE_READY);
31477
31477
  // @ts-ignore
31478
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED);
31478
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED);
31479
31479
  // @ts-ignore
31480
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED);
31480
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED);
31481
31481
  // @ts-ignore
31482
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE);
31482
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_HIDE);
31483
31483
  }
31484
31484
  bindPlaybackEvents() {
31485
31485
  // this.currentTrack = {};
31486
31486
  // this.removeAuto = false;
31487
31487
  this.selectedTrackId = undefined;
31488
31488
  const currentPlayback = this.core.activePlayback;
31489
- this.listenTo(currentPlayback, Events$2.PLAYBACK_STOP, this.onStop);
31489
+ this.listenTo(currentPlayback, Events$1.PLAYBACK_STOP, this.onStop);
31490
31490
  this.setupAudioTrackListeners();
31491
31491
  }
31492
31492
  setupAudioTrackListeners() {
@@ -31495,7 +31495,7 @@ class AudioSelector extends UICorePlugin {
31495
31495
  if (currentPlayback._hls) {
31496
31496
  // TODO AUDIO_TRACKS_UPDATED
31497
31497
  // currentPlayback._hls.on('hlsAudioTracksUpdated', (e, data) => {
31498
- currentPlayback._hls.on(Events$1.AUDIO_TRACKS_UPDATED, (e, data) => {
31498
+ currentPlayback._hls.on(Events.AUDIO_TRACKS_UPDATED, (e, data) => {
31499
31499
  // let id = -1;
31500
31500
  // for (const audioTrack of data.audioTracks) {
31501
31501
  // if (audioTrack.default) {
@@ -31515,12 +31515,12 @@ class AudioSelector extends UICorePlugin {
31515
31515
  label: p.name
31516
31516
  })), defaultTrack?.id);
31517
31517
  });
31518
- currentPlayback._hls.on(Events$1.AUDIO_TRACK_SWITCHING, this.startTrackSwitch.bind(this));
31519
- currentPlayback._hls.on(Events$1.AUDIO_TRACK_SWITCHED, this.updateCurrentTrack.bind(this));
31520
- currentPlayback._hls.on(Events$1.AUDIO_TRACK_LOADED, this.updateCurrentTrack.bind(this));
31518
+ currentPlayback._hls.on(Events.AUDIO_TRACK_SWITCHING, this.startTrackSwitch.bind(this));
31519
+ currentPlayback._hls.on(Events.AUDIO_TRACK_SWITCHED, this.updateCurrentTrack.bind(this));
31520
+ currentPlayback._hls.on(Events.AUDIO_TRACK_LOADED, this.updateCurrentTrack.bind(this));
31521
31521
  }
31522
31522
  else {
31523
- this.listenToOnce(currentPlayback, Events$2.PLAYBACK_PLAY, () => {
31523
+ this.listenToOnce(currentPlayback, Events$1.PLAYBACK_PLAY, () => {
31524
31524
  const mediaElement = currentPlayback.$el.get(0);
31525
31525
  // const { audioTracks } = currentPlayback.$el.get(0);
31526
31526
  const audioTracks = mediaElement.audioTracks;
@@ -31717,7 +31717,7 @@ const volumeOffIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fil
31717
31717
 
31718
31718
  const pluginHtml$7 = "<div class=\"big-mute-icon-wrapper\" data-big-mute>\n <div class=\"big-mute-icon gcore-skin-border-color\" data-big-mute-icon></div>\n</div>\n";
31719
31719
 
31720
- const T$7 = "plugins.big_mute_button";
31720
+ const T$8 = "plugins.big_mute_button";
31721
31721
  /**
31722
31722
  * @beta
31723
31723
  */
@@ -31743,29 +31743,29 @@ class BigMuteButton extends UICorePlugin {
31743
31743
  }
31744
31744
  bindEvents() {
31745
31745
  super.bindEvents();
31746
- this.listenTo(this.core, Events$2.CORE_READY, this.onCoreReady);
31746
+ this.listenTo(this.core, Events$1.CORE_READY, this.onCoreReady);
31747
31747
  this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
31748
31748
  this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
31749
- trace(`${T$7} bindEvents`, {
31749
+ trace(`${T$8} bindEvents`, {
31750
31750
  mediacontrol: !!this.core.mediaControl,
31751
31751
  });
31752
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.mediaControlRendered);
31752
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.mediaControlRendered);
31753
31753
  }
31754
31754
  unBindEvents() {
31755
31755
  // @ts-ignore
31756
- this.stopListening(this.core, Events$2.CORE_READY);
31756
+ this.stopListening(this.core, Events$1.CORE_READY);
31757
31757
  this.stopListening(this.core, 'core:advertisement:start', this.onStartAd);
31758
31758
  this.stopListening(this.core, 'core:advertisement:finish', this.onFinishAd);
31759
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.mediaControlRendered);
31759
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.mediaControlRendered);
31760
31760
  const container = this.core.activeContainer;
31761
31761
  if (container) {
31762
- this.stopListening(container.playback, Events$2.PLAYBACK_PLAY, this.render);
31762
+ this.stopListening(container.playback, Events$1.PLAYBACK_PLAY, this.render);
31763
31763
  }
31764
31764
  }
31765
31765
  onCoreReady() {
31766
- this.listenTo(this.core.activeContainer, Events$2.CONTAINER_VOLUME, this.onContainerVolume);
31767
- this.listenTo(this.core.activeContainer, Events$2.CONTAINER_READY, this.onContainerStart);
31768
- this.listenTo(this.core.activePlayback, Events$2.PLAYBACK_ENDED, this.onPlaybackEnded);
31766
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_VOLUME, this.onContainerVolume);
31767
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_READY, this.onContainerStart);
31768
+ this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_ENDED, this.onPlaybackEnded);
31769
31769
  }
31770
31770
  onContainerVolume(value) {
31771
31771
  if (value !== 0) {
@@ -31783,7 +31783,7 @@ class BigMuteButton extends UICorePlugin {
31783
31783
  mediaControlRendered() {
31784
31784
  const container = this.core.activeContainer;
31785
31785
  if (container) {
31786
- this.listenTo(container.playback, Events$2.PLAYBACK_PLAY, () => {
31786
+ this.listenTo(container.playback, Events$1.PLAYBACK_PLAY, () => {
31787
31787
  this.render();
31788
31788
  });
31789
31789
  }
@@ -31811,7 +31811,7 @@ class BigMuteButton extends UICorePlugin {
31811
31811
  }
31812
31812
  render() {
31813
31813
  if (this.shouldRender()) {
31814
- trace(`${T$7} render`, {
31814
+ trace(`${T$8} render`, {
31815
31815
  el: !!this.$el,
31816
31816
  });
31817
31817
  this.$el.html(this.template());
@@ -32762,15 +32762,25 @@ const gearIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"n
32762
32762
  const gearHdIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_28_1567)\">\n <path\n d=\"M19.14 12.94C19.18 12.64 19.2 12.33 19.2 12C19.2 11.68 19.18 11.36 19.13 11.06L21.16 9.47999C21.34 9.33999 21.39 9.06999 21.28 8.86999L19.36 5.54999C19.24 5.32999 18.99 5.25999 18.77 5.32999L16.38 6.28999C15.88 5.90999 15.35 5.58999 14.76 5.34999L14.4 2.80999C14.36 2.56999 14.16 2.39999 13.92 2.39999H10.08C9.83999 2.39999 9.64999 2.56999 9.60999 2.80999L9.24999 5.34999C8.65999 5.58999 8.11999 5.91999 7.62999 6.28999L5.23999 5.32999C5.01999 5.24999 4.76999 5.32999 4.64999 5.54999L2.73999 8.86999C2.61999 9.07999 2.65999 9.33999 2.85999 9.47999L4.88999 11.06C4.83999 11.36 4.79999 11.69 4.79999 12C4.79999 12.31 4.81999 12.64 4.86999 12.94L2.83999 14.52C2.65999 14.66 2.60999 14.93 2.71999 15.13L4.63999 18.45C4.75999 18.67 5.00999 18.74 5.22999 18.67L7.61999 17.71C8.11999 18.09 8.64999 18.41 9.23999 18.65L9.59999 21.19C9.64999 21.43 9.83999 21.6 10.08 21.6H13.92C14.16 21.6 14.36 21.43 14.39 21.19L14.75 18.65C15.34 18.41 15.88 18.09 16.37 17.71L18.76 18.67C18.98 18.75 19.23 18.67 19.35 18.45L21.27 15.13C21.39 14.91 21.34 14.66 21.15 14.52L19.14 12.94ZM12 15.6C10.02 15.6 8.39999 13.98 8.39999 12C8.39999 10.02 10.02 8.39999 12 8.39999C13.98 8.39999 15.6 10.02 15.6 12C15.6 13.98 13.98 15.6 12 15.6Z\"\n fill=\"#C9C9C9\"/>\n <rect x=\"13\" width=\"11\" height=\"7\" rx=\"1\" fill=\"#F6413B\"/>\n <path\n d=\"M14.6962 6V1.63636H15.3546V3.53267H17.53V1.63636H18.1905V6H17.53V4.0973H15.3546V6H14.6962ZM20.562 6H19.1493V1.63636H20.6067C21.0343 1.63636 21.4015 1.72372 21.7083 1.89844C22.0151 2.07173 22.2502 2.32102 22.4135 2.64631C22.5783 2.97017 22.6607 3.35866 22.6607 3.81179C22.6607 4.26634 22.5776 4.65696 22.4114 4.98366C22.2466 5.31037 22.008 5.56179 21.6955 5.73793C21.383 5.91264 21.0051 6 20.562 6ZM19.8077 5.42472H20.5257C20.8581 5.42472 21.1344 5.36222 21.3546 5.23722C21.5748 5.1108 21.7395 4.92827 21.8489 4.68963C21.9583 4.44957 22.013 4.15696 22.013 3.81179C22.013 3.46946 21.9583 3.17898 21.8489 2.94034C21.7409 2.7017 21.5797 2.5206 21.3652 2.39702C21.1507 2.27344 20.8844 2.21165 20.5662 2.21165H19.8077V5.42472Z\"\n fill=\"#C9C9C9\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_28_1567\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n</svg>\n";
32763
32763
 
32764
32764
  const VERSION$5 = '2.19.12';
32765
- var Events;
32766
- (function (Events) {
32767
- Events["MEDIACONTROL_GEAR_RENDERED"] = "mediacontrol:gear:rendered";
32768
- })(Events || (Events = {}));
32765
+ /**
32766
+ * Custom events emitted by the plugin
32767
+ */
32768
+ var GearEvents;
32769
+ (function (GearEvents) {
32770
+ /**
32771
+ * Emitted when the gear menu is rendered
32772
+ */
32773
+ GearEvents["MEDIACONTROL_GEAR_RENDERED"] = "mediacontrol:gear:rendered";
32774
+ })(GearEvents || (GearEvents = {}));
32769
32775
  /**
32770
32776
  * Adds the gear button that triggers extra options menu on the right side of the {@link MediaControl | media control} UI
32771
32777
  * @beta
32772
32778
  * @remarks
32773
32779
  * The plugins provides a base for attaching custom settings UI in the gear menu
32780
+ *
32781
+ * Depends on:
32782
+ *
32783
+ * - {@link MediaControl | media_control}
32774
32784
  */
32775
32785
  class BottomGear extends UICorePlugin {
32776
32786
  isHd = false;
@@ -32778,7 +32788,7 @@ class BottomGear extends UICorePlugin {
32778
32788
  * @internal
32779
32789
  */
32780
32790
  get name() {
32781
- return 'media_control_gear';
32791
+ return 'bottom_gear';
32782
32792
  }
32783
32793
  /**
32784
32794
  * @internal
@@ -32816,19 +32826,30 @@ class BottomGear extends UICorePlugin {
32816
32826
  bindEvents() {
32817
32827
  const mediaControl = this.core.getPlugin('media_control');
32818
32828
  assert(mediaControl, 'media_control plugin is required');
32819
- this.listenTo(this.core, Events$2.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
32829
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
32820
32830
  this.listenTo(this.core, 'gear:refresh', this.refresh); // TODO use direct plugin method call
32821
- this.listenTo(mediaControl, Events$2.MEDIACONTROL_RENDERED, this.render);
32822
- this.listenTo(mediaControl, Events$2.MEDIACONTROL_HIDE, this.hide); // TODO mediacontrol show as well
32831
+ this.listenTo(mediaControl, Events$1.MEDIACONTROL_RENDERED, this.render);
32832
+ this.listenTo(mediaControl, Events$1.MEDIACONTROL_HIDE, this.hide); // TODO mediacontrol show as well
32823
32833
  }
32834
+ /**
32835
+ * @param name - Name of a gear menu placeholder item to attach custom UI
32836
+ * @returns Zepto result of the element
32837
+ */
32824
32838
  getElement(name) {
32825
32839
  return this.core.getPlugin('media_control')?.getElement('gear')?.find(`.gear-options-list [data-${name}]`);
32826
32840
  }
32841
+ /**
32842
+ * Replaces the content of the gear menu
32843
+ * @param content - Zepto result of the element
32844
+ */
32845
+ setContent(content) {
32846
+ this.$el.find('.gear-wrapper').html(content);
32847
+ }
32827
32848
  onActiveContainerChanged() {
32828
32849
  this.bindContainerEvents();
32829
32850
  }
32830
32851
  bindContainerEvents() {
32831
- this.listenTo(this.core.activeContainer, Events$2.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
32852
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
32832
32853
  }
32833
32854
  highDefinitionUpdate(isHd) {
32834
32855
  trace(`${this.name} highDefinitionUpdate`, { });
@@ -32856,7 +32877,7 @@ class BottomGear extends UICorePlugin {
32856
32877
  this.$el.html(BottomGear.template({ icon, items }));
32857
32878
  mediaControl.getElement('gear')?.html(this.el);
32858
32879
  this.core.trigger('gear:rendered'); // @deprecated
32859
- mediaControl.trigger(Events.MEDIACONTROL_GEAR_RENDERED);
32880
+ mediaControl.trigger(GearEvents.MEDIACONTROL_GEAR_RENDERED);
32860
32881
  return this;
32861
32882
  }
32862
32883
  refresh() {
@@ -35019,7 +35040,7 @@ class ClapprNerdStats extends UICorePlugin {
35019
35040
  shortcut;
35020
35041
  iconPosition;
35021
35042
  get name() {
35022
- return 'media_control_nerd_stats';
35043
+ return 'nerd_stats';
35023
35044
  }
35024
35045
  get supportedVersion() {
35025
35046
  return { min: CLAPPR_VERSION };
@@ -35066,8 +35087,8 @@ class ClapprNerdStats extends UICorePlugin {
35066
35087
  bindEvents() {
35067
35088
  const mediaControl = this.core.getPlugin('media_control');
35068
35089
  assert(mediaControl, 'media_control plugin is required');
35069
- this.listenToOnce(this.core, Events$2.CORE_READY, this.init);
35070
- this.listenTo(mediaControl, Events.MEDIACONTROL_GEAR_RENDERED, this.addToBottomGear);
35090
+ this.listenToOnce(this.core, Events$1.CORE_READY, this.init);
35091
+ this.listenTo(mediaControl, GearEvents.MEDIACONTROL_GEAR_RENDERED, this.addToBottomGear);
35071
35092
  }
35072
35093
  init() {
35073
35094
  this.container = this.core.activeContainer;
@@ -35079,7 +35100,7 @@ class ClapprNerdStats extends UICorePlugin {
35079
35100
  }
35080
35101
  else {
35081
35102
  Mousetrap.bind(this.shortcut, () => this.toggle());
35082
- this.listenTo(this.core, Events$2.CORE_RESIZE, this.onPlayerResize);
35103
+ this.listenTo(this.core, Events$1.CORE_RESIZE, this.onPlayerResize);
35083
35104
  // TODO: fix
35084
35105
  this.listenTo(clapprStats, ClapprStatsEvents.REPORT_EVENT, this.updateMetrics);
35085
35106
  clapprStats.setUpdateMetrics(this.updateMetrics.bind(this));
@@ -35169,7 +35190,7 @@ class ClapprNerdStats extends UICorePlugin {
35169
35190
  return this;
35170
35191
  }
35171
35192
  addToBottomGear() {
35172
- const gear = this.core.getPlugin('media_control_gear');
35193
+ const gear = this.core.getPlugin('bottom_gear');
35173
35194
  const $el = gear.getElement('nerd');
35174
35195
  $el.html(buttonHtml$3);
35175
35196
  const $button = $el.find('.nerd-button');
@@ -35286,22 +35307,22 @@ class ClapprStats extends ContainerPlugin {
35286
35307
  };
35287
35308
  }
35288
35309
  bindEvents() {
35289
- this.listenTo(this.container, Events$2.CONTAINER_BITRATE, this.onBitrate);
35290
- this.listenTo(this.container, Events$2.CONTAINER_STOP, this.stopReporting);
35291
- this.listenTo(this.container, Events$2.CONTAINER_ENDED, this.stopReporting);
35292
- this.listenToOnce(this.container.playback, Events$2.PLAYBACK_PLAY_INTENT, this.startTimers);
35293
- this.listenToOnce(this.container, Events$2.CONTAINER_PLAY, this.onFirstPlaying);
35294
- this.listenTo(this.container, Events$2.CONTAINER_PLAY, this.onPlay);
35295
- this.listenTo(this.container, Events$2.CONTAINER_PAUSE, this.onPause);
35296
- this.listenToOnce(this.container, Events$2.CONTAINER_STATE_BUFFERING, this.onBuffering);
35297
- this.listenTo(this.container, Events$2.CONTAINER_SEEK, this.onSeek);
35298
- this.listenTo(this.container, Events$2.CONTAINER_ERROR, () => this._inc('error'));
35299
- this.listenTo(this.container, Events$2.CONTAINER_FULLSCREEN, () => this._inc('fullscreen'));
35300
- this.listenTo(this.container, Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, (dvrInUse) => {
35310
+ this.listenTo(this.container, Events$1.CONTAINER_BITRATE, this.onBitrate);
35311
+ this.listenTo(this.container, Events$1.CONTAINER_STOP, this.stopReporting);
35312
+ this.listenTo(this.container, Events$1.CONTAINER_ENDED, this.stopReporting);
35313
+ this.listenToOnce(this.container.playback, Events$1.PLAYBACK_PLAY_INTENT, this.startTimers);
35314
+ this.listenToOnce(this.container, Events$1.CONTAINER_PLAY, this.onFirstPlaying);
35315
+ this.listenTo(this.container, Events$1.CONTAINER_PLAY, this.onPlay);
35316
+ this.listenTo(this.container, Events$1.CONTAINER_PAUSE, this.onPause);
35317
+ this.listenToOnce(this.container, Events$1.CONTAINER_STATE_BUFFERING, this.onBuffering);
35318
+ this.listenTo(this.container, Events$1.CONTAINER_SEEK, this.onSeek);
35319
+ this.listenTo(this.container, Events$1.CONTAINER_ERROR, () => this._inc('error'));
35320
+ this.listenTo(this.container, Events$1.CONTAINER_FULLSCREEN, () => this._inc('fullscreen'));
35321
+ this.listenTo(this.container, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, (dvrInUse) => {
35301
35322
  dvrInUse && this._inc('dvrUsage');
35302
35323
  });
35303
- this.listenTo(this.container.playback, Events$2.PLAYBACK_PROGRESS, this.onProgress);
35304
- this.listenTo(this.container.playback, Events$2.PLAYBACK_TIMEUPDATE, this.onTimeUpdate);
35324
+ this.listenTo(this.container.playback, Events$1.PLAYBACK_PROGRESS, this.onProgress);
35325
+ this.listenTo(this.container.playback, Events$1.PLAYBACK_TIMEUPDATE, this.onTimeUpdate);
35305
35326
  }
35306
35327
  destroy() {
35307
35328
  this.stopReporting();
@@ -35338,12 +35359,12 @@ class ClapprStats extends ContainerPlugin {
35338
35359
  this.start('startup');
35339
35360
  }
35340
35361
  onFirstPlaying() {
35341
- this.listenTo(this.container, Events$2.CONTAINER_TIMEUPDATE, this.onContainerUpdateWhilePlaying);
35362
+ this.listenTo(this.container, Events$1.CONTAINER_TIMEUPDATE, this.onContainerUpdateWhilePlaying);
35342
35363
  this.start('watch');
35343
35364
  this._stop('startup');
35344
35365
  }
35345
35366
  playAfterPause() {
35346
- this.listenTo(this.container, Events$2.CONTAINER_TIMEUPDATE, this.onContainerUpdateWhilePlaying);
35367
+ this.listenTo(this.container, Events$1.CONTAINER_TIMEUPDATE, this.onContainerUpdateWhilePlaying);
35347
35368
  this._stop('pause');
35348
35369
  this.start('watch');
35349
35370
  }
@@ -35354,8 +35375,8 @@ class ClapprStats extends ContainerPlugin {
35354
35375
  this._stop('watch');
35355
35376
  this.start('pause');
35356
35377
  this._inc('pause');
35357
- this.listenToOnce(this.container, Events$2.CONTAINER_PLAY, this.playAfterPause);
35358
- this.stopListening(this.container, Events$2.CONTAINER_TIMEUPDATE, this.onContainerUpdateWhilePlaying);
35378
+ this.listenToOnce(this.container, Events$1.CONTAINER_PLAY, this.playAfterPause);
35379
+ this.stopListening(this.container, Events$1.CONTAINER_TIMEUPDATE, this.onContainerUpdateWhilePlaying);
35359
35380
  }
35360
35381
  onSeek(e) {
35361
35382
  this._inc('seek');
@@ -35389,11 +35410,11 @@ class ClapprStats extends ContainerPlugin {
35389
35410
  onBuffering() {
35390
35411
  this._inc('buffering');
35391
35412
  this.start('buffering');
35392
- this.listenToOnce(this.container, Events$2.CONTAINER_STATE_BUFFERFULL, this.onBufferfull);
35413
+ this.listenToOnce(this.container, Events$1.CONTAINER_STATE_BUFFERFULL, this.onBufferfull);
35393
35414
  }
35394
35415
  onBufferfull() {
35395
35416
  this._stop('buffering');
35396
- this.listenToOnce(this.container, Events$2.CONTAINER_STATE_BUFFERING, this.onBuffering);
35417
+ this.listenToOnce(this.container, Events$1.CONTAINER_STATE_BUFFERING, this.onBuffering);
35397
35418
  }
35398
35419
  onProgress(progress) {
35399
35420
  this.metrics.extra.buffersize = progress.current * 1000;
@@ -35559,8 +35580,8 @@ class ClickToPause extends ContainerPlugin {
35559
35580
  return this.container.options.clickToPauseConfig || {};
35560
35581
  }
35561
35582
  bindEvents() {
35562
- this.listenTo(this.container, Events$2.CONTAINER_CLICK, this.click);
35563
- this.listenTo(this.container, Events$2.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);
35583
+ this.listenTo(this.container, Events$1.CONTAINER_CLICK, this.click);
35584
+ this.listenTo(this.container, Events$1.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);
35564
35585
  }
35565
35586
  click() {
35566
35587
  const isLivePlayback = this.container.getPlaybackType() === Playback.LIVE;
@@ -35679,9 +35700,9 @@ class ClipsPlugin extends UICorePlugin {
35679
35700
  };
35680
35701
  }
35681
35702
  bindEvents() {
35682
- this.listenToOnce(this.core, Events$2.CORE_READY, this._onCoreReady);
35683
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this._onMediaControlContainerChanged);
35684
- this.listenTo(this.core, Events$2.CORE_RESIZE, this.playerResize);
35703
+ this.listenToOnce(this.core, Events$1.CORE_READY, this._onCoreReady);
35704
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this._onMediaControlContainerChanged);
35705
+ this.listenTo(this.core, Events$1.CORE_RESIZE, this.playerResize);
35685
35706
  }
35686
35707
  _onCoreReady() {
35687
35708
  if (!this.options.clips) {
@@ -35692,9 +35713,9 @@ class ClipsPlugin extends UICorePlugin {
35692
35713
  }
35693
35714
  unbindEvents() {
35694
35715
  // @ts-ignore
35695
- this.stopListening(this.core, Events$2.CORE_READY);
35716
+ this.stopListening(this.core, Events$1.CORE_READY);
35696
35717
  // @ts-ignore
35697
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED);
35718
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED);
35698
35719
  }
35699
35720
  _onMediaControlContainerChanged() {
35700
35721
  this._bindContainerEvents();
@@ -35707,11 +35728,11 @@ class ClipsPlugin extends UICorePlugin {
35707
35728
  }
35708
35729
  _bindContainerEvents() {
35709
35730
  if (this._oldContainer) {
35710
- this.stopListening(this._oldContainer, Events$2.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
35731
+ this.stopListening(this._oldContainer, Events$1.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
35711
35732
  }
35712
35733
  this._oldContainer = this.core.mediaControl.container;
35713
35734
  this.durationGetting = false;
35714
- this.listenTo(this.core.mediaControl.container, Events$2.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
35735
+ this.listenTo(this.core.mediaControl.container, Events$1.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
35715
35736
  }
35716
35737
  onTimeUpdate(event) {
35717
35738
  if (!this.durationGetting) {
@@ -35843,10 +35864,10 @@ class ContextMenu extends UICorePlugin {
35843
35864
  }
35844
35865
  bindEvents() {
35845
35866
  if (this.mediaControl) {
35846
- this.listenTo(this.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.containerChanged);
35867
+ this.listenTo(this.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.containerChanged);
35847
35868
  if (this.container) {
35848
- this.listenTo(this.container, Events$2.CONTAINER_CONTEXTMENU, this.toggleContextMenu);
35849
- this.listenTo(this.container, Events$2.CONTAINER_CLICK, this.hide);
35869
+ this.listenTo(this.container, Events$1.CONTAINER_CONTEXTMENU, this.toggleContextMenu);
35870
+ this.listenTo(this.container, Events$1.CONTAINER_CLICK, this.hide);
35850
35871
  }
35851
35872
  }
35852
35873
  $('body').on('click', this.hide.bind(this));
@@ -35904,34 +35925,34 @@ class DisableControls extends UICorePlugin {
35904
35925
  }
35905
35926
  bindEvents() {
35906
35927
  if (this.container) {
35907
- this.listenTo(this.container, Events$2.CONTAINER_MEDIACONTROL_ENABLE, this.enableControls);
35908
- this.listenTo(this.container, Events$2.CONTAINER_PLAY, this.enableControls);
35909
- this.listenTo(this.container, Events$2.CONTAINER_PAUSE, this.enableControls);
35910
- this.listenTo(this.container, Events$2.CONTAINER_STOP, this.enableControls);
35911
- this.listenTo(this.container, Events$2.CONTAINER_ENDED, this.enableControls);
35928
+ this.listenTo(this.container, Events$1.CONTAINER_MEDIACONTROL_ENABLE, this.enableControls);
35929
+ this.listenTo(this.container, Events$1.CONTAINER_PLAY, this.enableControls);
35930
+ this.listenTo(this.container, Events$1.CONTAINER_PAUSE, this.enableControls);
35931
+ this.listenTo(this.container, Events$1.CONTAINER_STOP, this.enableControls);
35932
+ this.listenTo(this.container, Events$1.CONTAINER_ENDED, this.enableControls);
35912
35933
  this.listenTo(this.container, 'container:advertisement:start', this.enableControls);
35913
35934
  }
35914
- this.listenTo(this.core, Events$2.CORE_READY, this.onCoreReady);
35915
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_SHOW, this.enableControls);
35916
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.enableControls);
35935
+ this.listenTo(this.core, Events$1.CORE_READY, this.onCoreReady);
35936
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_SHOW, this.enableControls);
35937
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.enableControls);
35917
35938
  }
35918
35939
  unbindEvents() {
35919
35940
  // @ts-ignore
35920
- this.stopListening(this.core, Events$2.CORE_READY);
35941
+ this.stopListening(this.core, Events$1.CORE_READY);
35921
35942
  // @ts-ignore
35922
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_SHOW);
35943
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_SHOW);
35923
35944
  // @ts-ignore
35924
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED);
35945
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED);
35925
35946
  // @ts-ignore
35926
- this.stopListening(this.container, Events$2.CONTAINER_MEDIACONTROL_ENABLE);
35947
+ this.stopListening(this.container, Events$1.CONTAINER_MEDIACONTROL_ENABLE);
35927
35948
  // @ts-ignore
35928
- this.stopListening(this.container, Events$2.CONTAINER_PLAY);
35949
+ this.stopListening(this.container, Events$1.CONTAINER_PLAY);
35929
35950
  // @ts-ignore
35930
- this.stopListening(this.container, Events$2.CONTAINER_PAUSE);
35951
+ this.stopListening(this.container, Events$1.CONTAINER_PAUSE);
35931
35952
  // @ts-ignore
35932
- this.stopListening(this.container, Events$2.CONTAINER_STOP);
35953
+ this.stopListening(this.container, Events$1.CONTAINER_STOP);
35933
35954
  // @ts-ignore
35934
- this.stopListening(this.container, Events$2.CONTAINER_ENDED);
35955
+ this.stopListening(this.container, Events$1.CONTAINER_ENDED);
35935
35956
  // @ts-ignore
35936
35957
  this.stopListening(this.container, 'container:advertisement:start');
35937
35958
  }
@@ -36010,14 +36031,14 @@ class DvrControls extends UICorePlugin {
36010
36031
  this.bindCoreEvents();
36011
36032
  this.bindContainerEvents();
36012
36033
  if (this.core.activeContainer) {
36013
- this.listenTo(this.core.activeContainer, Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);
36034
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);
36014
36035
  }
36015
36036
  }
36016
36037
  bindCoreEvents() {
36017
36038
  if (this.core.mediaControl.settings) {
36018
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.containerChanged);
36019
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.settingsUpdate);
36020
- this.listenTo(this.core, Events$2.CORE_OPTIONS_CHANGE, this.render);
36039
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.containerChanged);
36040
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.settingsUpdate);
36041
+ this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.render);
36021
36042
  }
36022
36043
  else {
36023
36044
  setTimeout(() => this.bindCoreEvents(), 100);
@@ -36025,8 +36046,8 @@ class DvrControls extends UICorePlugin {
36025
36046
  }
36026
36047
  bindContainerEvents() {
36027
36048
  if (this.core.activeContainer) {
36028
- this.listenToOnce(this.core.activeContainer, Events$2.CONTAINER_TIMEUPDATE, this.render);
36029
- this.listenTo(this.core.activeContainer, Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);
36049
+ this.listenToOnce(this.core.activeContainer, Events$1.CONTAINER_TIMEUPDATE, this.render);
36050
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);
36030
36051
  }
36031
36052
  }
36032
36053
  containerChanged() {
@@ -36126,15 +36147,15 @@ class ErrorScreen extends UICorePlugin {
36126
36147
  };
36127
36148
  }
36128
36149
  bindEvents() {
36129
- this.listenTo(this.core, Events$2.ERROR, this.onError);
36130
- this.listenTo(this.core, Events$2.CORE_READY, this.onCoreReady);
36150
+ this.listenTo(this.core, Events$1.ERROR, this.onError);
36151
+ this.listenTo(this.core, Events$1.CORE_READY, this.onCoreReady);
36131
36152
  this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
36132
36153
  this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
36133
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);
36154
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);
36134
36155
  }
36135
36156
  onCoreReady() {
36136
36157
  if (this.core.activePlayback) {
36137
- this.listenTo(this.core.activePlayback, Events$2.PLAYBACK_PLAY, this.onPlay);
36158
+ this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_PLAY, this.onPlay);
36138
36159
  }
36139
36160
  }
36140
36161
  onPlay() {
@@ -36155,7 +36176,7 @@ class ErrorScreen extends UICorePlugin {
36155
36176
  // @ts-ignore
36156
36177
  this.stopListening(this.core, 'core:advertisement:finish');
36157
36178
  // @ts-ignore
36158
- this.stopListening(this.core, Events$2.ERROR);
36179
+ this.stopListening(this.core, Events$1.ERROR);
36159
36180
  }
36160
36181
  bindReload() {
36161
36182
  this.reloadButton = this.$el.find('.player-error-screen__reload');
@@ -36306,29 +36327,29 @@ class Favicon extends CorePlugin {
36306
36327
  if (this.core.options.changeFavicon) {
36307
36328
  if (!this.enabled) {
36308
36329
  // @ts-ignore
36309
- this.stopListening(this.core, Events$2.CORE_OPTIONS_CHANGE);
36330
+ this.stopListening(this.core, Events$1.CORE_OPTIONS_CHANGE);
36310
36331
  this.enable();
36311
36332
  }
36312
36333
  }
36313
36334
  else if (this.enabled) {
36314
36335
  this.disable();
36315
- this.listenTo(this.core, Events$2.CORE_OPTIONS_CHANGE, this.configure);
36336
+ this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.configure);
36316
36337
  }
36317
36338
  }
36318
36339
  bindEvents() {
36319
- this.listenTo(this.core, Events$2.CORE_OPTIONS_CHANGE, this.configure);
36320
- this.listenTo(this.core, Events$2.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);
36340
+ this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.configure);
36341
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);
36321
36342
  this.core.activeContainer && this.containerChanged();
36322
36343
  }
36323
36344
  containerChanged() {
36324
36345
  // @ts-ignore
36325
36346
  this._container && this.stopListening(this._container);
36326
36347
  this._container = this.core.activeContainer;
36327
- this.listenTo(this._container, Events$2.CONTAINER_PLAY, this.setPlayIcon);
36328
- this.listenTo(this._container, Events$2.CONTAINER_PAUSE, this.setPauseIcon);
36329
- this.listenTo(this._container, Events$2.CONTAINER_STOP, this.resetIcon);
36330
- this.listenTo(this._container, Events$2.CONTAINER_ENDED, this.resetIcon);
36331
- this.listenTo(this._container, Events$2.CONTAINER_ERROR, this.resetIcon);
36348
+ this.listenTo(this._container, Events$1.CONTAINER_PLAY, this.setPlayIcon);
36349
+ this.listenTo(this._container, Events$1.CONTAINER_PAUSE, this.setPauseIcon);
36350
+ this.listenTo(this._container, Events$1.CONTAINER_STOP, this.resetIcon);
36351
+ this.listenTo(this._container, Events$1.CONTAINER_ENDED, this.resetIcon);
36352
+ this.listenTo(this._container, Events$1.CONTAINER_ERROR, this.resetIcon);
36332
36353
  this.resetIcon();
36333
36354
  }
36334
36355
  disable() {
@@ -36415,20 +36436,20 @@ class GoogleAnalytics extends ContainerPlugin {
36415
36436
  }
36416
36437
  addEventListeners() {
36417
36438
  if (this.container) {
36418
- this.listenTo(this.container, Events$2.CONTAINER_READY, this.onReady);
36419
- this.listenTo(this.container, Events$2.CONTAINER_PLAY, this.onPlay);
36420
- this.listenTo(this.container, Events$2.CONTAINER_STOP, this.onStop);
36421
- this.listenTo(this.container, Events$2.CONTAINER_PAUSE, this.onPause);
36422
- this.listenTo(this.container, Events$2.CONTAINER_ENDED, this.onEnded);
36423
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERING, this.onBuffering);
36424
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
36425
- this.listenTo(this.container, Events$2.CONTAINER_ERROR, this.onError);
36426
- this.listenTo(this.container, Events$2.CONTAINER_PLAYBACKSTATE, this.onPlaybackChanged);
36427
- this.listenTo(this.container, Events$2.CONTAINER_VOLUME, this.onVolumeChanged);
36428
- this.listenTo(this.container, Events$2.CONTAINER_SEEK, this.onSeek);
36429
- this.listenTo(this.container, Events$2.CONTAINER_FULLSCREEN, this.onFullscreen);
36430
- this.listenTo(this.container, Events$2.CONTAINER_HIGHDEFINITIONUPDATE, this.onHD);
36431
- this.listenTo(this.container, Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDVR);
36439
+ this.listenTo(this.container, Events$1.CONTAINER_READY, this.onReady);
36440
+ this.listenTo(this.container, Events$1.CONTAINER_PLAY, this.onPlay);
36441
+ this.listenTo(this.container, Events$1.CONTAINER_STOP, this.onStop);
36442
+ this.listenTo(this.container, Events$1.CONTAINER_PAUSE, this.onPause);
36443
+ this.listenTo(this.container, Events$1.CONTAINER_ENDED, this.onEnded);
36444
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERING, this.onBuffering);
36445
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
36446
+ this.listenTo(this.container, Events$1.CONTAINER_ERROR, this.onError);
36447
+ this.listenTo(this.container, Events$1.CONTAINER_PLAYBACKSTATE, this.onPlaybackChanged);
36448
+ this.listenTo(this.container, Events$1.CONTAINER_VOLUME, this.onVolumeChanged);
36449
+ this.listenTo(this.container, Events$1.CONTAINER_SEEK, this.onSeek);
36450
+ this.listenTo(this.container, Events$1.CONTAINER_FULLSCREEN, this.onFullscreen);
36451
+ this.listenTo(this.container, Events$1.CONTAINER_HIGHDEFINITIONUPDATE, this.onHD);
36452
+ this.listenTo(this.container, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDVR);
36432
36453
  }
36433
36454
  _gaq.push([this.trackerName + '_setAccount', this.account]);
36434
36455
  if (this.domainName) {
@@ -36690,7 +36711,7 @@ function keyName(keyCode) {
36690
36711
 
36691
36712
  const buttonHtml$2 = "<button class='gplayer-lite-btn gcore-skin-text-color gear-option'>\n <% if (isHd) { %>\n <span class=\"gear-option_hd-icon\"><%= hdIcon %></span>\n <% } %>\n <span>Quality</span>\n <span class=\"gear-option_arrow-right-icon\"><%= arrowRightIcon %></span>\n <span class='gear-option_value'><%= currentText %></span>\n</button>\n";
36692
36713
 
36693
- const listHtml$1 = "<button class=\"gplayer-lite-btn go-back gcore-skin-text-color\">\n <span class=\"arrow-left-icon\"><%= arrowLeftIcon %></span>\n Quality\n</button>\n<ul class=\"gear-sub-menu\">\n <% if (!removeAuto) { %>\n <li>\n <a href=\"#\" class='gear-sub-menu_btn gcore-skin-text-color' data-id=\"-1\">\n <span class=\"check-icon\"><%= checkIcon %></span>\n Auto\n </a>\n </li>\n <% } %>\n <% for (const level of levels.slice().reverse()) { %>\n <li <% if (maxLevel >= 0 && level.level > maxLevel) { %>class=\"level-disabled\"<% } %>>\n <a href=\"#\" class='gear-sub-menu_btn gcore-skin-text-color' data-id=\"<%= level.level %>\">\n <span class=\"check-icon\"><%= checkIcon %></span>\n <%= labels[level.level] %>\n </a>\n </li>\n <% } %>\n</ul>\n";
36714
+ const listHtml$1 = "<button class=\"gplayer-lite-btn go-back gcore-skin-text-color\">\n <span class=\"arrow-left-icon\"><%= arrowLeftIcon %></span>\n Quality\n</button>\n<ul class=\"gear-sub-menu\">\n <% if (!removeAuto) { %>\n <li>\n <a href=\"#\" class='gear-sub-menu_btn gcore-skin-text-color' data-id=\"-1\" id=\"level_selector_auto\">\n <span class=\"check-icon\"><%= checkIcon %></span>\n Auto\n </a>\n </li>\n <% } %>\n <% for (const level of levels.slice().reverse()) { %>\n <li <% if (maxLevel >= 0 && level.level > maxLevel) { %>class=\"level-disabled\"<% } %>>\n <a href=\"#\" class='gear-sub-menu_btn gcore-skin-text-color' data-id=\"<%= level.level %>\" id=\"level_selector_<%= level.level %>\">\n <span class=\"check-icon\"><%= checkIcon %></span>\n <%= labels[level.level] %>\n </a>\n </li>\n <% } %>\n</ul>\n";
36694
36715
 
36695
36716
  const hdIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.9562 8.22232H13.9961V15.1873H14.9562C15.8914 15.1873 16.766 14.8253 17.4195 14.1676C18.0786 13.5037 18.4415 12.6281 18.4415 11.7026C18.4415 9.7837 16.8781 8.22253 14.9561 8.22253L14.9562 8.22232Z\"\n fill=\"#C9C9C9\"/>\n <path\n d=\"M22.0801 4H1.91994C0.859222 4 0 4.86406 0 5.91994V17.4878C0 18.5437 0.859222 19.4078 1.91994 19.4078H22.0801C23.1408 19.4078 24 18.5437 24 17.4878V5.91994C24 4.86406 23.1408 4 22.0801 4ZM10.3975 15.3473C10.3975 15.6124 10.1827 15.8272 9.91754 15.8272C9.65216 15.8272 9.43761 15.6122 9.43761 15.3473V12.0239H5.55956V15.3473C5.55956 15.6124 5.34481 15.8272 5.07963 15.8272C4.81425 15.8272 4.5997 15.6122 4.5997 15.3473L4.59949 7.74042C4.59949 7.47524 4.81425 7.26049 5.07943 7.26049C5.34481 7.26049 5.55936 7.47544 5.55936 7.74042V11.0636H9.43741V7.74042C9.43741 7.47524 9.65216 7.26049 9.91734 7.26049C10.1827 7.26049 10.3973 7.47544 10.3973 7.74042L10.3975 15.3473ZM18.1005 14.8438C17.2652 15.6844 16.1486 16.1472 14.9561 16.1472H13.5161C13.2507 16.1472 13.0361 15.9323 13.0361 15.6673V7.74263C13.0361 7.47745 13.2509 7.26269 13.5161 7.26269H14.9561C17.4072 7.26269 19.4013 9.25438 19.4013 11.7027C19.4013 12.8835 18.9392 13.9991 18.1005 14.844V14.8438Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
36696
36717
 
@@ -36700,14 +36721,21 @@ const arrowLeftIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fil
36700
36721
 
36701
36722
  const checkIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M20.5793 4.19296C20.1216 3.86696 19.4777 3.96396 19.1424 4.40896L9.37295 17.3809L4.81634 12.107C4.45222 11.683 3.80218 11.6289 3.36709 11.9839C2.932 12.3389 2.87543 12.97 3.2416 13.393L8.64165 19.643C8.83708 19.869 9.12506 20 9.42849 20C9.4398 20 9.45114 20 9.46246 19.999C9.77926 19.989 10.0724 19.838 10.2586 19.59L20.8015 5.58996C21.1368 5.14496 21.0371 4.51896 20.5793 4.19296Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
36702
36723
 
36703
- const T$6 = 'plugins.media_control_level_selector';
36724
+ const T$7 = 'plugins.level_selector';
36704
36725
  const VERSION$4 = '2.19.4';
36705
36726
  /**
36706
36727
  * A {@link MediaControl | media control} plugin that provides a UI to control the quality level of the playback.
36707
36728
  * @beta
36708
36729
  *
36709
36730
  * @remarks
36710
- * The plugin is rendered as a button in the {@link BottomGear | gear menu}.
36731
+ * Depends on:
36732
+ *
36733
+ * - {@link MediaControl}
36734
+ *
36735
+ * - {@link BottomGear}
36736
+ *
36737
+ * The plugin is rendered as an item in the gear menu.
36738
+ *
36711
36739
  * When clicked, it shows a list of quality levels to choose from.
36712
36740
  *
36713
36741
  * Configuration options:
@@ -36732,13 +36760,13 @@ class LevelSelector extends UICorePlugin {
36732
36760
  removeAuto = false;
36733
36761
  isHd = false;
36734
36762
  isOpen = false;
36735
- buttonTemplate = null;
36736
- listTemplate = null;
36763
+ static buttonTemplate = tmpl(buttonHtml$2);
36764
+ static listTemplate = tmpl(listHtml$1);
36737
36765
  /**
36738
36766
  * @internal
36739
36767
  */
36740
36768
  get name() {
36741
- return 'media_control_level_selector';
36769
+ return 'level_selector';
36742
36770
  }
36743
36771
  /**
36744
36772
  * @internal
@@ -36774,19 +36802,19 @@ class LevelSelector extends UICorePlugin {
36774
36802
  * @internal
36775
36803
  */
36776
36804
  bindEvents() {
36777
- this.listenTo(this.core, Events$2.CORE_ACTIVE_CONTAINER_CHANGED, () => this.bindPlaybackEvents());
36805
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, () => this.bindPlaybackEvents());
36778
36806
  this.listenTo(this.core, 'gear:rendered', this.render);
36779
36807
  }
36780
36808
  bindPlaybackEvents() {
36781
36809
  this.removeAuto = false;
36782
36810
  this.isHd = false;
36783
36811
  const activePlayback = this.core.activePlayback;
36784
- this.listenTo(activePlayback, Events$2.PLAYBACK_LEVELS_AVAILABLE, (levels) => this.fillLevels(levels));
36785
- this.listenTo(activePlayback, Events$2.PLAYBACK_LEVEL_SWITCH_START, this.onLevelSwitchStart);
36786
- this.listenTo(activePlayback, Events$2.PLAYBACK_LEVEL_SWITCH_END, this.onLevelSwitchEnd);
36787
- this.listenTo(activePlayback, Events$2.PLAYBACK_BITRATE, this.updateCurrentLevel);
36788
- this.listenTo(activePlayback, Events$2.PLAYBACK_STOP, this.onStop);
36789
- this.listenTo(activePlayback, Events$2.PLAYBACK_HIGHDEFINITIONUPDATE, (isHd) => {
36812
+ this.listenTo(activePlayback, Events$1.PLAYBACK_LEVELS_AVAILABLE, (levels) => this.fillLevels(levels));
36813
+ this.listenTo(activePlayback, Events$1.PLAYBACK_LEVEL_SWITCH_START, this.onLevelSwitchStart);
36814
+ this.listenTo(activePlayback, Events$1.PLAYBACK_LEVEL_SWITCH_END, this.onLevelSwitchEnd);
36815
+ this.listenTo(activePlayback, Events$1.PLAYBACK_BITRATE, this.updateCurrentLevel);
36816
+ this.listenTo(activePlayback, Events$1.PLAYBACK_STOP, this.onStop);
36817
+ this.listenTo(activePlayback, Events$1.PLAYBACK_HIGHDEFINITIONUPDATE, (isHd) => {
36790
36818
  this.isHd = isHd;
36791
36819
  this.deferRender();
36792
36820
  });
@@ -36796,8 +36824,8 @@ class LevelSelector extends UICorePlugin {
36796
36824
  }
36797
36825
  onStop() {
36798
36826
  const currentPlayback = this.core.activePlayback;
36799
- this.listenToOnce(currentPlayback, Events$2.PLAYBACK_PLAY, () => {
36800
- trace(`${T$6} on PLAYBACK_PLAY after stop`, { selectedLevelId: this.selectedLevelId });
36827
+ this.listenToOnce(currentPlayback, Events$1.PLAYBACK_PLAY, () => {
36828
+ trace(`${T$7} on PLAYBACK_PLAY after stop`, { selectedLevelId: this.selectedLevelId });
36801
36829
  if (currentPlayback.getPlaybackType() === 'live') {
36802
36830
  if (this.selectedLevelId !== -1) {
36803
36831
  currentPlayback.currentLevel = this.selectedLevelId;
@@ -36824,6 +36852,7 @@ class LevelSelector extends UICorePlugin {
36824
36852
  * @internal
36825
36853
  */
36826
36854
  render() {
36855
+ assert(this.core.getPlugin('bottom_gear'), 'bottom_gear plugin is required');
36827
36856
  if (!this.shouldRender()) {
36828
36857
  return this;
36829
36858
  }
@@ -36831,28 +36860,20 @@ class LevelSelector extends UICorePlugin {
36831
36860
  return this;
36832
36861
  }
36833
36862
  renderButton() {
36834
- if (!this.buttonTemplate) {
36835
- this.buttonTemplate = tmpl(buttonHtml$2);
36836
- }
36837
36863
  if (!this.isOpen) {
36838
- const html = this.buttonTemplate?.({
36864
+ const html = LevelSelector.buttonTemplate({
36839
36865
  arrowRightIcon,
36840
36866
  currentText: this.currentText,
36841
36867
  isHd: this.isHd,
36842
36868
  hdIcon,
36843
36869
  });
36844
36870
  this.$el.html(html);
36845
- const mediaControl = this.core.getPlugin('media_control');
36846
- mediaControl.getElement('bottomGear')
36847
- ?.find('.gear-options-list [data-quality]')
36848
- ?.html(this.el);
36871
+ const gear = this.core.getPlugin('bottom_gear');
36872
+ gear.getElement('quality')?.html(this.el);
36849
36873
  }
36850
36874
  }
36851
36875
  renderDropdown() {
36852
- if (!this.listTemplate) {
36853
- this.listTemplate = tmpl(listHtml$1);
36854
- }
36855
- const html = this.listTemplate({
36876
+ const html = LevelSelector.listTemplate({
36856
36877
  arrowLeftIcon,
36857
36878
  checkIcon,
36858
36879
  labels: this.levelLabels,
@@ -36861,8 +36882,8 @@ class LevelSelector extends UICorePlugin {
36861
36882
  removeAuto: this.removeAuto,
36862
36883
  });
36863
36884
  this.$el.html(html);
36864
- const mediaControl = this.core.getPlugin('media_control');
36865
- mediaControl.getElement('bottomGear')?.find('.gear-wrapper').html(this.el);
36885
+ const gear = this.core.getPlugin('bottom_gear');
36886
+ gear?.setContent(this.el);
36866
36887
  }
36867
36888
  get maxLevel() {
36868
36889
  const maxRes = this.core.options.levelSelector?.restrictResolution;
@@ -36959,7 +36980,7 @@ class LevelSelector extends UICorePlugin {
36959
36980
  this.highlightCurrentLevel();
36960
36981
  }
36961
36982
  highlightCurrentLevel() {
36962
- trace(`${T$6} highlightCurrentLevel`, {
36983
+ trace(`${T$7} highlightCurrentLevel`, {
36963
36984
  selectedLevelId: this.selectedLevelId,
36964
36985
  });
36965
36986
  this.allLevelElements().removeClass('current');
@@ -37046,10 +37067,10 @@ class Logo extends UIContainerPlugin {
37046
37067
  }
37047
37068
  bindEvents() {
37048
37069
  window.addEventListener('resize', this.setPosition);
37049
- this.listenTo(this.container, Events$2.CONTAINER_RESIZE, this.setPosition);
37050
- this.listenTo(this.container, Events$2.CONTAINER_STOP, this.onStop);
37051
- this.listenTo(this.container, Events$2.CONTAINER_PLAY, this.onPlay);
37052
- this.listenTo(this.container, Events$2.CONTAINER_LOADEDMETADATA, this.setPosition);
37070
+ this.listenTo(this.container, Events$1.CONTAINER_RESIZE, this.setPosition);
37071
+ this.listenTo(this.container, Events$1.CONTAINER_STOP, this.onStop);
37072
+ this.listenTo(this.container, Events$1.CONTAINER_PLAY, this.onPlay);
37073
+ this.listenTo(this.container, Events$1.CONTAINER_LOADEDMETADATA, this.setPosition);
37053
37074
  }
37054
37075
  stopListening() {
37055
37076
  window.removeEventListener('resize', this.setPosition);
@@ -37308,14 +37329,14 @@ class MediaControl extends UICorePlugin {
37308
37329
  * @deprecated
37309
37330
  */
37310
37331
  get container() {
37311
- return this.core && this.core.activeContainer;
37332
+ return this.core.activeContainer;
37312
37333
  }
37313
37334
  /**
37314
37335
  * @internal
37315
37336
  * @deprecated
37316
37337
  */
37317
37338
  get playback() {
37318
- return this.core && this.core.activePlayback;
37339
+ return this.core.activePlayback;
37319
37340
  }
37320
37341
  /**
37321
37342
  * @internal
@@ -37402,13 +37423,12 @@ class MediaControl extends UICorePlugin {
37402
37423
  bindEvents() {
37403
37424
  // @ts-ignore
37404
37425
  this.stopListening();
37405
- this.listenTo(this.core, Events$2.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
37406
- this.listenTo(this.core, Events$2.CORE_MOUSE_MOVE, this.show);
37407
- this.listenTo(this.core, Events$2.CORE_MOUSE_LEAVE, () => this.hide(this.options.hideMediaControlDelay));
37408
- this.listenTo(this.core, Events$2.CORE_FULLSCREEN, this.show);
37409
- this.listenTo(this.core, Events$2.CORE_OPTIONS_CHANGE, this.configure);
37410
- this.listenTo(this.core, Events$2.CORE_RESIZE, this.playerResize);
37411
- this.bindContainerEvents();
37426
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
37427
+ this.listenTo(this.core, Events$1.CORE_MOUSE_MOVE, this.show);
37428
+ this.listenTo(this.core, Events$1.CORE_MOUSE_LEAVE, () => this.hide(this.options.hideMediaControlDelay));
37429
+ this.listenTo(this.core, Events$1.CORE_FULLSCREEN, this.show);
37430
+ this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.configure);
37431
+ this.listenTo(this.core, Events$1.CORE_RESIZE, this.playerResize);
37412
37432
  this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
37413
37433
  this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
37414
37434
  // const has360 = this.core?.getPlugin('video_360');
@@ -37432,26 +37452,23 @@ class MediaControl extends UICorePlugin {
37432
37452
  // }
37433
37453
  }
37434
37454
  bindContainerEvents() {
37435
- if (!this.container) {
37436
- return;
37437
- }
37438
- this.listenTo(this.container, Events$2.CONTAINER_PLAY, this.changeTogglePlay);
37439
- this.listenTo(this.container, Events$2.CONTAINER_PAUSE, this.changeTogglePlay);
37440
- this.listenTo(this.container, Events$2.CONTAINER_STOP, this.changeTogglePlay);
37441
- this.listenTo(this.container, Events$2.CONTAINER_DBLCLICK, this.toggleFullscreen);
37442
- this.listenTo(this.container, Events$2.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
37443
- this.listenTo(this.container, Events$2.CONTAINER_PROGRESS, this.updateProgressBar);
37444
- this.listenTo(this.container, Events$2.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);
37445
- this.listenTo(this.container, Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, this.settingsUpdate);
37446
- this.listenTo(this.container, Events$2.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
37447
- this.listenTo(this.container, Events$2.CONTAINER_MEDIACONTROL_DISABLE, this.disable);
37448
- this.listenTo(this.container, Events$2.CONTAINER_MEDIACONTROL_ENABLE, this.enable);
37449
- this.listenTo(this.container, Events$2.CONTAINER_ENDED, this.ended);
37450
- this.listenTo(this.container, Events$2.CONTAINER_VOLUME, this.onVolumeChanged);
37451
- this.listenTo(this.container, Events$2.CONTAINER_OPTIONS_CHANGE, this.setInitialVolume);
37452
- if (this.container.playback.el.nodeName.toLowerCase() === 'video') {
37455
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PLAY, this.changeTogglePlay);
37456
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PAUSE, this.changeTogglePlay);
37457
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_STOP, this.changeTogglePlay);
37458
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_DBLCLICK, this.toggleFullscreen);
37459
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
37460
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PROGRESS, this.updateProgressBar);
37461
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);
37462
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.settingsUpdate);
37463
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
37464
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_MEDIACONTROL_DISABLE, this.disable);
37465
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_MEDIACONTROL_ENABLE, this.enable);
37466
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_ENDED, this.ended);
37467
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_VOLUME, this.onVolumeChanged);
37468
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_OPTIONS_CHANGE, this.setInitialVolume);
37469
+ if (this.core.activePlayback.el.nodeName.toLowerCase() === 'video') {
37453
37470
  // wait until the metadata has loaded and then check if fullscreen on video tag is supported
37454
- this.listenToOnce(this.container, Events$2.CONTAINER_LOADEDMETADATA, this.onLoadedMetadataOnVideoTag);
37471
+ this.listenToOnce(this.core.activeContainer, Events$1.CONTAINER_LOADEDMETADATA, this.onLoadedMetadataOnVideoTag);
37455
37472
  }
37456
37473
  }
37457
37474
  /**
@@ -37486,7 +37503,7 @@ class MediaControl extends UICorePlugin {
37486
37503
  this.updateVolumeUI();
37487
37504
  }
37488
37505
  onLoadedMetadataOnVideoTag(event) {
37489
- const video = this.playback && this.playback.el;
37506
+ const video = this.core.activePlayback?.el;
37490
37507
  // video.webkitSupportsFullscreen is deprecated but iOS appears to only use this
37491
37508
  // see https://github.com/clappr/clappr/issues/1127
37492
37509
  if (!Fullscreen.fullscreenEnabled() && video.webkitSupportsFullscreen) {
@@ -37550,12 +37567,12 @@ class MediaControl extends UICorePlugin {
37550
37567
  if (this.container && this.container.isPlaying()) {
37551
37568
  this.$playPauseToggle?.append(pauseIcon);
37552
37569
  this.$playStopToggle?.append(pauseIcon);
37553
- this.trigger(Events$2.MEDIACONTROL_PLAYING);
37570
+ this.trigger(Events$1.MEDIACONTROL_PLAYING);
37554
37571
  }
37555
37572
  else {
37556
37573
  this.$playPauseToggle?.append(playIcon);
37557
37574
  this.$playStopToggle?.append(playIcon);
37558
- this.trigger(Events$2.MEDIACONTROL_NOTPLAYING);
37575
+ this.trigger(Events$1.MEDIACONTROL_NOTPLAYING);
37559
37576
  if (Browser.isMobile) {
37560
37577
  this.show();
37561
37578
  }
@@ -37573,10 +37590,10 @@ class MediaControl extends UICorePlugin {
37573
37590
  this.$seekBarHover.css({ left: offsetX });
37574
37591
  }
37575
37592
  }
37576
- this.trigger(Events$2.MEDIACONTROL_MOUSEMOVE_SEEKBAR, event);
37593
+ this.trigger(Events$1.MEDIACONTROL_MOUSEMOVE_SEEKBAR, event);
37577
37594
  }
37578
37595
  mouseleaveOnSeekBar(event) {
37579
- this.trigger(Events$2.MEDIACONTROL_MOUSELEAVE_SEEKBAR, event);
37596
+ this.trigger(Events$1.MEDIACONTROL_MOUSELEAVE_SEEKBAR, event);
37580
37597
  }
37581
37598
  onVolumeClick(event) {
37582
37599
  this.setVolume(this.getVolumeFromUIEvent(event));
@@ -37694,13 +37711,13 @@ class MediaControl extends UICorePlugin {
37694
37711
  this.container.setVolume(value);
37695
37712
  }
37696
37713
  else {
37697
- this.listenToOnce(this.container, Events$2.CONTAINER_READY, () => {
37714
+ this.listenToOnce(this.container, Events$1.CONTAINER_READY, () => {
37698
37715
  this.container.setVolume(value);
37699
37716
  });
37700
37717
  }
37701
37718
  };
37702
37719
  if (!this.container) {
37703
- this.listenToOnce(this, Events$2.MEDIACONTROL_CONTAINERCHANGED, () => setWhenContainerReady());
37720
+ this.listenToOnce(this, Events$1.MEDIACONTROL_CONTAINERCHANGED, () => setWhenContainerReady());
37704
37721
  }
37705
37722
  else {
37706
37723
  setWhenContainerReady();
@@ -37708,7 +37725,7 @@ class MediaControl extends UICorePlugin {
37708
37725
  }
37709
37726
  toggleFullscreen() {
37710
37727
  if (!Browser.isMobile) {
37711
- this.trigger(Events$2.MEDIACONTROL_FULLSCREEN, this.name);
37728
+ this.trigger(Events$1.MEDIACONTROL_FULLSCREEN, this.name);
37712
37729
  this.container.fullscreen();
37713
37730
  this.core.toggleFullscreen();
37714
37731
  this.resetUserKeepVisible();
@@ -37716,24 +37733,25 @@ class MediaControl extends UICorePlugin {
37716
37733
  }
37717
37734
  onActiveContainerChanged() {
37718
37735
  this.fullScreenOnVideoTagSupported = null;
37719
- this.bindEvents();
37720
37736
  // set the new container to match the volume of the last one
37721
37737
  this.setInitialVolume();
37722
37738
  this.changeTogglePlay();
37723
37739
  this.bindContainerEvents();
37724
37740
  this.settingsUpdate();
37725
- this.container &&
37726
- this.container.trigger(Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, this.container.isDvrInUse());
37727
- this.container && this.container.mediaControlDisabled && this.disable();
37728
- this.trigger(Events$2.MEDIACONTROL_CONTAINERCHANGED);
37729
- if (this.container.$el) {
37730
- this.container.$el.addClass('container-skin-1');
37741
+ this.core.activeContainer &&
37742
+ this.core.activeContainer.trigger(Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.core.activeContainer.isDvrInUse());
37743
+ this.core.activeContainer && this.core.activeContainer.mediaControlDisabled && this.disable();
37744
+ this.trigger(Events$1.MEDIACONTROL_CONTAINERCHANGED);
37745
+ if (this.core.activeContainer.$el) {
37746
+ this.core.activeContainer.$el.addClass('container-skin-1');
37731
37747
  }
37732
37748
  if (this.options.cropVideo) {
37733
- this.container.$el.addClass('crop-video');
37749
+ this.core.activeContainer.$el.addClass('crop-video');
37734
37750
  }
37735
- const spinnerPlugin = this.container.getPlugin('spinner');
37751
+ // TODO handle by the spinner itself
37752
+ const spinnerPlugin = this.core.activeContainer.getPlugin('spinner');
37736
37753
  spinnerPlugin?.$el.find('div').addClass('gcore-skin-main-color');
37754
+ // TODO handle by the seek_time itself
37737
37755
  const seekTimePlugin = this.container.getPlugin('seek_time');
37738
37756
  seekTimePlugin?.$el.addClass('gcore-skin-bg-color');
37739
37757
  seekTimePlugin?.$el.find('span').addClass('gcore-skin-text-color');
@@ -37847,9 +37865,9 @@ class MediaControl extends UICorePlugin {
37847
37865
  this.hideId = null;
37848
37866
  }
37849
37867
  this.$el.show();
37850
- this.trigger(Events$2.MEDIACONTROL_SHOW, this.name);
37868
+ this.trigger(Events$1.MEDIACONTROL_SHOW, this.name);
37851
37869
  this.container &&
37852
- this.container.trigger(Events$2.CONTAINER_MEDIACONTROL_SHOW, this.name);
37870
+ this.container.trigger(Events$1.CONTAINER_MEDIACONTROL_SHOW, this.name);
37853
37871
  this.$el.removeClass('media-control-hide');
37854
37872
  this.hideId = setTimeout(() => this.hide(), timeout);
37855
37873
  if (event) {
@@ -37879,7 +37897,7 @@ class MediaControl extends UICorePlugin {
37879
37897
  }
37880
37898
  else {
37881
37899
  if (!this.options.controlsDontHide || isFullscreen(this.container.el)) {
37882
- this.trigger(Events$2.MEDIACONTROL_HIDE, this.name);
37900
+ this.trigger(Events$1.MEDIACONTROL_HIDE, this.name);
37883
37901
  this.$el.addClass('media-control-hide');
37884
37902
  this.hideVolumeBar(0);
37885
37903
  const showing = false;
@@ -37896,12 +37914,11 @@ class MediaControl extends UICorePlugin {
37896
37914
  }
37897
37915
  }
37898
37916
  settingsUpdate() {
37899
- const newSettings = this.getSettings();
37900
- $.extend(true, newSettings, {
37917
+ const newSettings = $.extend(true, {
37901
37918
  left: [],
37902
37919
  default: [],
37903
37920
  right: [],
37904
- });
37921
+ }, this.core.activeContainer?.settings);
37905
37922
  newSettings.left = orderByOrderPattern([...newSettings.left, 'clipsText', 'volume'], LEFT_ORDER);
37906
37923
  newSettings.right = [
37907
37924
  'fullscreen',
@@ -37932,10 +37949,6 @@ class MediaControl extends UICorePlugin {
37932
37949
  this.render();
37933
37950
  }
37934
37951
  }
37935
- getSettings() {
37936
- // TODO show live and remove duration/position if live
37937
- return $.extend(true, {}, this.container && this.container.settings);
37938
- }
37939
37952
  highDefinitionUpdate(isHD) {
37940
37953
  this.isHD = isHD;
37941
37954
  }
@@ -37999,8 +38012,17 @@ class MediaControl extends UICorePlugin {
37999
38012
  return this.$playbackRate;
38000
38013
  case 'seekBarContainer':
38001
38014
  return this.$seekBarContainer;
38015
+ case 'subtitlesSelector':
38016
+ return this.$subtitlesSelector;
38002
38017
  }
38003
38018
  }
38019
+ /**
38020
+ * Get the right panel area to append custom elements to
38021
+ * @returns ZeptoSelector of the right panel element
38022
+ */
38023
+ getRightPanel() {
38024
+ return this.$el.find('.media-control-right-panel');
38025
+ }
38004
38026
  resetIndicators() {
38005
38027
  assert.ok(this.$duration && this.$position, 'duration and position elements must be present');
38006
38028
  this.displayedPosition = this.$position.text();
@@ -38143,7 +38165,7 @@ class MediaControl extends UICorePlugin {
38143
38165
  }
38144
38166
  configure() {
38145
38167
  this.advertisementPlaying ? this.disable() : this.enable();
38146
- this.trigger(Events$2.MEDIACONTROL_OPTIONS_CHANGE);
38168
+ this.trigger(Events$1.MEDIACONTROL_OPTIONS_CHANGE);
38147
38169
  }
38148
38170
  /**
38149
38171
  * @internal
@@ -38159,7 +38181,7 @@ class MediaControl extends UICorePlugin {
38159
38181
  this.$playPauseToggle?.addClass('paused');
38160
38182
  this.$playStopToggle?.addClass('stopped');
38161
38183
  this.changeTogglePlay();
38162
- if (this.container) {
38184
+ if (this.core.activeContainer) {
38163
38185
  this.hideId = setTimeout(() => this.hide(), timeout);
38164
38186
  this.disabled && this.hide();
38165
38187
  }
@@ -38198,11 +38220,11 @@ class MediaControl extends UICorePlugin {
38198
38220
  this.core.$el.append(this.el);
38199
38221
  this.rendered = true;
38200
38222
  this.updateVolumeUI();
38201
- this.trigger(Events$2.MEDIACONTROL_RENDERED);
38223
+ this.trigger(Events$1.MEDIACONTROL_RENDERED);
38202
38224
  return this;
38203
38225
  }
38204
38226
  handleFullScreenOnBtn() {
38205
- this.trigger(Events$2.MEDIACONTROL_FULLSCREEN, this.name);
38227
+ this.trigger(Events$1.MEDIACONTROL_FULLSCREEN, this.name);
38206
38228
  this.container.fullscreen();
38207
38229
  // TODO: fix after it full screen will be fixed on iOS
38208
38230
  if (Browser.isiOS) {
@@ -38283,7 +38305,7 @@ const streamsMomentoIcon = "<svg id=\"Слой_1\" data-name=\"Слой 1\" xmln
38283
38305
  const streamsWhiteNightsIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"50\" height=\"50\" viewBox=\"0 0 50 50\">\n <defs>\n <clipPath id=\"clip-Icon\">\n <rect width=\"50\" height=\"50\"/>\n </clipPath>\n </defs>\n <g id=\"Icon\" clip-path=\"url(#clip-Icon)\">\n <g id=\"icon2\" transform=\"translate(-0.041 0)\">\n <path id=\"Контур_77\" data-name=\"Контур 77\" d=\"M6.493,13v8.266h6.275V19.74H8.31V17.714h4.006V16.3H8.31V14.53h4.365V13Zm7.5,0v8.266h1.7V15.732h.023l3.438,5.534h1.818V13h-1.7v5.545h-.023L15.8,13Z\" fill=\"#fff\"/>\n <path id=\"Контур_76\" data-name=\"Контур 76\" d=\"M29.949,29.1V26.774H31.94a1.4,1.4,0,0,1,.938.272,1.1,1.1,0,0,1,.313.874,1.155,1.155,0,0,1-.313.9,1.375,1.375,0,0,1-.938.278ZM28.132,25.36v8.266h1.817V30.4h1.818a1.353,1.353,0,0,1,.984.3,1.637,1.637,0,0,1,.394.949c.046.333.079.681.1,1.042a3.2,3.2,0,0,0,.185.938h1.819a1.218,1.218,0,0,1-.191-.423,3.611,3.611,0,0,1-.093-.527c-.019-.185-.033-.367-.041-.544s-.016-.332-.023-.463a5.052,5.052,0,0,0-.087-.625,2.109,2.109,0,0,0-.2-.573,1.586,1.586,0,0,0-.359-.451,1.414,1.414,0,0,0-.556-.284v-.023a1.926,1.926,0,0,0,1-.81,2.494,2.494,0,0,0,.307-1.262,2.308,2.308,0,0,0-.165-.88,2.128,2.128,0,0,0-.486-.724,2.3,2.3,0,0,0-.764-.492,2.67,2.67,0,0,0-1-.179ZM43.506,30.5V25.36H41.689V30.5a2.065,2.065,0,0,1-.37,1.36,1.7,1.7,0,0,1-1.343.434,2.086,2.086,0,0,1-.886-.156,1.283,1.283,0,0,1-.758-.978,3.748,3.748,0,0,1-.058-.66V25.36H36.456V30.5a3.16,3.16,0,0,0,.92,2.5,3.807,3.807,0,0,0,2.6.81,3.82,3.82,0,0,0,2.593-.816,3.132,3.132,0,0,0,.937-2.492Z\" fill=\"#fff\"/>\n <path id=\"Контур_80\" data-name=\"Контур 80\" d=\"M22.646,31.2H4.689a4.505,4.505,0,0,1-4.5-4.5V8.5A4.505,4.505,0,0,1,4.689,4h18.2a4.505,4.505,0,0,1,4.5,4.5v8.445l-.893.1a3.184,3.184,0,0,0-2.846,3.177V30.5l-.465.7ZM4.689,6a2.5,2.5,0,0,0-2.5,2.5V26.7a2.5,2.5,0,0,0,2.5,2.5H21.65V20.22a5.18,5.18,0,0,1,3.739-4.992V8.5a2.5,2.5,0,0,0-2.5-2.5Z\" fill=\"#fff\"/>\n <path id=\"Контур_81\" data-name=\"Контур 81\" d=\"M30.127,47.884a1,1,0,0,1-1-1V43.267H26.846a5.206,5.206,0,0,1-5.2-5.2V20.222a5.206,5.206,0,0,1,5.2-5.2H44.692a5.206,5.206,0,0,1,5.2,5.2V38.068a5.206,5.206,0,0,1-5.2,5.2H35.058l-4.216,4.316A1,1,0,0,1,30.127,47.884ZM26.846,17.022a3.2,3.2,0,0,0-3.2,3.2V38.067a3.2,3.2,0,0,0,3.2,3.2h3.281a1,1,0,0,1,1,1v2.162l2.8-2.86a1,1,0,0,1,.715-.3H44.692a3.2,3.2,0,0,0,3.2-3.2V20.222a3.2,3.2,0,0,0-3.2-3.2Z\" fill=\"#fff\"/>\n </g>\n </g>\n</svg>\n";
38284
38306
 
38285
38307
  const VERSION$3 = '0.0.1';
38286
- const T$5 = 'plugins.media_control_multicamera';
38308
+ const T$6 = 'plugins.media_control_multicamera';
38287
38309
  class MultiCamera extends UICorePlugin {
38288
38310
  currentCamera = null;
38289
38311
  currentTime = 0;
@@ -38326,29 +38348,29 @@ class MultiCamera extends UICorePlugin {
38326
38348
  this.noActiveStreams = this.multicamera.every((item) => !item.live);
38327
38349
  }
38328
38350
  bindEvents() {
38329
- this.listenTo(this.core, Events$2.CORE_READY, this.bindPlaybackEvents);
38330
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.reload);
38331
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.render);
38332
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE, this.hideSelectLevelMenu);
38351
+ this.listenTo(this.core, Events$1.CORE_READY, this.bindPlaybackEvents);
38352
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.reload);
38353
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.render);
38354
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_HIDE, this.hideSelectLevelMenu);
38333
38355
  }
38334
38356
  unBindEvents() {
38335
38357
  // @ts-ignore
38336
- this.stopListening(this.core, Events$2.CORE_READY);
38358
+ this.stopListening(this.core, Events$1.CORE_READY);
38337
38359
  // @ts-ignore
38338
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED);
38360
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED);
38339
38361
  // @ts-ignore
38340
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED);
38362
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED);
38341
38363
  // @ts-ignore
38342
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE);
38364
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_HIDE);
38343
38365
  // @ts-ignore
38344
- this.stopListening(this.core.activePlayback, Events$2.PLAYBACK_PLAY, this.onPlay);
38366
+ this.stopListening(this.core.activePlayback, Events$1.PLAYBACK_PLAY, this.onPlay);
38345
38367
  }
38346
38368
  onPlay() {
38347
38369
  this.playing = true;
38348
38370
  }
38349
38371
  bindPlaybackEvents() {
38350
38372
  const currentPlayback = this.core.activePlayback;
38351
- this.listenToOnce(currentPlayback, Events$2.PLAYBACK_PLAY, this.onPlay);
38373
+ this.listenToOnce(currentPlayback, Events$1.PLAYBACK_PLAY, this.onPlay);
38352
38374
  }
38353
38375
  reload() {
38354
38376
  this.unBindEvents();
@@ -38552,7 +38574,7 @@ class MultiCamera extends UICorePlugin {
38552
38574
  // TODO figure out what this does
38553
38575
  playbackOptions.recycleVideo = Browser.isMobile;
38554
38576
  this.currentCamera = this.findElementById(id) ?? null;
38555
- trace(`${T$5} changeById`, { currentCamera: this.currentCamera, multicamera: this.multicamera });
38577
+ trace(`${T$6} changeById`, { currentCamera: this.currentCamera, multicamera: this.multicamera });
38556
38578
  if (!this.currentCamera) {
38557
38579
  return;
38558
38580
  }
@@ -38568,7 +38590,7 @@ class MultiCamera extends UICorePlugin {
38568
38590
  // TODO remove?
38569
38591
  // for html5 playback:
38570
38592
  this.options.dvrEnabled = this.currentCamera.dvr;
38571
- trace(`${T$5} changeById`, { currentCamera: this.currentCamera });
38593
+ trace(`${T$6} changeById`, { currentCamera: this.currentCamera });
38572
38594
  // TODO
38573
38595
  this.core.configure({
38574
38596
  playback: playbackOptions,
@@ -38626,7 +38648,7 @@ const pipIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"no
38626
38648
  const buttonHtml$1 = "<button class=\"gplayer-lite-btn gcore-skin-button-color\">\n <span><%= pipIcon %></span>\n</button>\n";
38627
38649
 
38628
38650
  const VERSION$2 = '0.0.1';
38629
- const T$4 = `plugins.media_control_pip`;
38651
+ const T$5 = `plugins.media_control_pip`;
38630
38652
  class PictureInPicture extends UICorePlugin {
38631
38653
  get name() {
38632
38654
  return 'media_control_pip';
@@ -38646,7 +38668,7 @@ class PictureInPicture extends UICorePlugin {
38646
38668
  return this.core.activePlayback.el;
38647
38669
  }
38648
38670
  bindEvents() {
38649
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.render);
38671
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.render);
38650
38672
  }
38651
38673
  isPiPSupported() {
38652
38674
  return document.pictureInPictureEnabled && !!HTMLVideoElement.prototype.requestPictureInPicture;
@@ -38672,7 +38694,7 @@ class PictureInPicture extends UICorePlugin {
38672
38694
  }
38673
38695
  }
38674
38696
  requestPictureInPicture() {
38675
- trace(`${T$4} requestPictureInPicture`, {
38697
+ trace(`${T$5} requestPictureInPicture`, {
38676
38698
  videoElement: !!this.videoElement,
38677
38699
  });
38678
38700
  this.videoElement.requestPictureInPicture();
@@ -38731,23 +38753,23 @@ class PlaybackRate extends UICorePlugin {
38731
38753
  }
38732
38754
  bindEvents() {
38733
38755
  this.listenTo(this.core, 'gear:rendered', this.render);
38734
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.reload);
38756
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.reload);
38735
38757
  this.listenTo(this.core.mediaControl, MEDIACONTROL_PLAYBACKRATE, this.updatePlaybackRate);
38736
38758
  this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
38737
38759
  this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
38738
38760
  if (this.core.activeContainer) {
38739
- this.listenTo(this.core.activePlayback, Events$2.PLAYBACK_BUFFERFULL, this.updateLiveStatus);
38761
+ this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_BUFFERFULL, this.updateLiveStatus);
38740
38762
  }
38741
38763
  if (this.currentPlayback) {
38742
- this.listenTo(this.currentPlayback, Events$2.PLAYBACK_STOP, this.onStop);
38743
- this.listenTo(this.currentPlayback, Events$2.PLAYBACK_PLAY, this.onPlay);
38764
+ this.listenTo(this.currentPlayback, Events$1.PLAYBACK_STOP, this.onStop);
38765
+ this.listenTo(this.currentPlayback, Events$1.PLAYBACK_PLAY, this.onPlay);
38744
38766
  // TODO import dash playback events
38745
38767
  this.listenTo(this.currentPlayback, 'dash:playback-rate-changed', this.onDashRateChange);
38746
38768
  }
38747
38769
  }
38748
38770
  unBindEvents() {
38749
38771
  this.stopListening(this.core, 'gear:rendered', this.render);
38750
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.reload);
38772
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.reload);
38751
38773
  this.stopListening(this.core, 'core:advertisement:start', this.onStartAd);
38752
38774
  this.stopListening(this.core, 'core:advertisement:finish', this.onFinishAd);
38753
38775
  }
@@ -38817,7 +38839,7 @@ class PlaybackRate extends UICorePlugin {
38817
38839
  onStartAd() {
38818
38840
  this.prevSelectedRate = this.selectedRate;
38819
38841
  this.setSelectedRate('1.0');
38820
- this.listenToOnce(this.currentPlayback, Events$2.PLAYBACK_PLAY, this.onFinishAd);
38842
+ this.listenToOnce(this.currentPlayback, Events$1.PLAYBACK_PLAY, this.onFinishAd);
38821
38843
  }
38822
38844
  onFinishAd() {
38823
38845
  if (this.prevSelectedRate) {
@@ -38892,7 +38914,7 @@ const posterHTML = "<div class=\"play-wrapper\" data-poster></div>\n";
38892
38914
  //Copyright 2014 Globo.com Player authors. All rights reserved.
38893
38915
  // Use of this source code is governed by a BSD-style
38894
38916
  // license that can be found in the LICENSE file.
38895
- const T$3 = 'plugins.poster_custom';
38917
+ const T$4 = 'plugins.poster_custom';
38896
38918
  /**
38897
38919
  * Displays a poster image in the background and a big play button on top when playback is stopped
38898
38920
  * @beta
@@ -38972,16 +38994,16 @@ class Poster extends UIContainerPlugin {
38972
38994
  * @internal
38973
38995
  */
38974
38996
  bindEvents() {
38975
- this.listenTo(this.container, Events$2.CONTAINER_STOP, this.onStop);
38976
- this.listenTo(this.container, Events$2.CONTAINER_PLAY, this.onPlay);
38977
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERING, this.update);
38978
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERFULL, this.update);
38979
- this.listenTo(this.container, Events$2.CONTAINER_OPTIONS_CHANGE, this.render);
38980
- this.listenTo(this.container, Events$2.CONTAINER_ERROR, this.onError);
38997
+ this.listenTo(this.container, Events$1.CONTAINER_STOP, this.onStop);
38998
+ this.listenTo(this.container, Events$1.CONTAINER_PLAY, this.onPlay);
38999
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERING, this.update);
39000
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERFULL, this.update);
39001
+ this.listenTo(this.container, Events$1.CONTAINER_OPTIONS_CHANGE, this.render);
39002
+ this.listenTo(this.container, Events$1.CONTAINER_ERROR, this.onError);
38981
39003
  this.showOnVideoEnd &&
38982
- this.listenTo(this.container, Events$2.CONTAINER_ENDED, this.onStop);
38983
- this.listenTo(this.container, Events$2.CONTAINER_READY, this.render);
38984
- this.listenTo(this.container, Events$2.PLAYBACK_PLAY_INTENT, this.onPlayIntent);
39004
+ this.listenTo(this.container, Events$1.CONTAINER_ENDED, this.onStop);
39005
+ this.listenTo(this.container, Events$1.CONTAINER_READY, this.render);
39006
+ this.listenTo(this.container, Events$1.PLAYBACK_PLAY_INTENT, this.onPlayIntent);
38985
39007
  }
38986
39008
  /**
38987
39009
  * Reenables earlier disabled plugin
@@ -39000,7 +39022,7 @@ class Poster extends UIContainerPlugin {
39000
39022
  super.disable();
39001
39023
  }
39002
39024
  onError(error) {
39003
- trace(`${T$3} onError`, {
39025
+ trace(`${T$4} onError`, {
39004
39026
  enabled: this.enabled,
39005
39027
  });
39006
39028
  this.hasFatalError = error.level === PlayerError.Levels.FATAL;
@@ -39021,7 +39043,7 @@ class Poster extends UIContainerPlugin {
39021
39043
  this.update();
39022
39044
  }
39023
39045
  onStop() {
39024
- trace(`${T$3} onStop`, {
39046
+ trace(`${T$4} onStop`, {
39025
39047
  enabled: this.enabled,
39026
39048
  });
39027
39049
  this.hasStartedPlaying = false;
@@ -39029,7 +39051,7 @@ class Poster extends UIContainerPlugin {
39029
39051
  this.update();
39030
39052
  }
39031
39053
  updatePlayButton(show) {
39032
- trace(`${T$3} updatePlayButton`, {
39054
+ trace(`${T$4} updatePlayButton`, {
39033
39055
  chromeless: this.options.chromeless,
39034
39056
  allowUserInteraction: this.options.allowUserInteraction,
39035
39057
  });
@@ -39057,7 +39079,7 @@ class Poster extends UIContainerPlugin {
39057
39079
  this.$el.removeClass('clickable');
39058
39080
  }
39059
39081
  clicked() {
39060
- trace(`${T$3} clicked`, {
39082
+ trace(`${T$4} clicked`, {
39061
39083
  hasStartedPlaying: this.hasStartedPlaying,
39062
39084
  chromeless: this.options.chromeless,
39063
39085
  allowUserInteraction: this.options.allowUserInteraction,
@@ -39081,7 +39103,7 @@ class Poster extends UIContainerPlugin {
39081
39103
  return !this.container.playback.isAudioOnly;
39082
39104
  }
39083
39105
  update() {
39084
- trace(`${T$3} update`, {
39106
+ trace(`${T$4} update`, {
39085
39107
  shouldRender: this.shouldRender,
39086
39108
  });
39087
39109
  if (!this.shouldRender) {
@@ -39094,7 +39116,7 @@ class Poster extends UIContainerPlugin {
39094
39116
  this.updatePoster();
39095
39117
  }
39096
39118
  updatePoster() {
39097
- trace(`${T$3} updatePoster`, {
39119
+ trace(`${T$4} updatePoster`, {
39098
39120
  hasStartedPlaying: this.hasStartedPlaying,
39099
39121
  });
39100
39122
  if (!this.hasStartedPlaying) {
@@ -39109,7 +39131,7 @@ class Poster extends UIContainerPlugin {
39109
39131
  this.$el.show();
39110
39132
  }
39111
39133
  hidePoster() {
39112
- trace(`${T$3} hidePoster`, {
39134
+ trace(`${T$4} hidePoster`, {
39113
39135
  shouldHideOnPlay: this.shouldHideOnPlay(),
39114
39136
  });
39115
39137
  if (!this.options.disableMediaControl) {
@@ -39205,13 +39227,13 @@ class SeekTime extends UICorePlugin {
39205
39227
  $durationEl = null;
39206
39228
  $seekTimeEl = null;
39207
39229
  bindEvents() {
39208
- this.listenTo(this.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.render);
39209
- this.listenTo(this.mediaControl, Events$2.MEDIACONTROL_MOUSEMOVE_SEEKBAR, this.showTime);
39210
- this.listenTo(this.mediaControl, Events$2.MEDIACONTROL_MOUSELEAVE_SEEKBAR, this.hideTime);
39211
- this.listenTo(this.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);
39230
+ this.listenTo(this.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.render);
39231
+ this.listenTo(this.mediaControl, Events$1.MEDIACONTROL_MOUSEMOVE_SEEKBAR, this.showTime);
39232
+ this.listenTo(this.mediaControl, Events$1.MEDIACONTROL_MOUSELEAVE_SEEKBAR, this.hideTime);
39233
+ this.listenTo(this.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);
39212
39234
  if (this.mediaControlContainer) {
39213
- this.listenTo(this.mediaControlContainer, Events$2.CONTAINER_PLAYBACKDVRSTATECHANGED, this.update);
39214
- this.listenTo(this.mediaControlContainer, Events$2.CONTAINER_TIMEUPDATE, this.updateDuration);
39235
+ this.listenTo(this.mediaControlContainer, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.update);
39236
+ this.listenTo(this.mediaControlContainer, Events$1.CONTAINER_TIMEUPDATE, this.updateDuration);
39215
39237
  }
39216
39238
  }
39217
39239
  onContainerChanged() {
@@ -39350,23 +39372,23 @@ class Share extends UICorePlugin {
39350
39372
  };
39351
39373
  }
39352
39374
  bindEvents() {
39353
- this.listenTo(this.core, Events$2.CORE_READY, this.onReady);
39375
+ this.listenTo(this.core, Events$1.CORE_READY, this.onReady);
39354
39376
  // this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.reload);
39355
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.render);
39356
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE, this.hideShare);
39357
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_SHOW, this.showShare);
39377
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this.render);
39378
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_HIDE, this.hideShare);
39379
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_SHOW, this.showShare);
39358
39380
  }
39359
39381
  unBindEvents() {
39360
39382
  // @ts-ignore
39361
- this.stopListening(this.core, Events$2.CORE_READY);
39383
+ this.stopListening(this.core, Events$1.CORE_READY);
39362
39384
  // @ts-ignore
39363
39385
  // this.stopListening(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED);
39364
39386
  // @ts-ignore
39365
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED);
39387
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED);
39366
39388
  // @ts-ignore
39367
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE);
39389
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_HIDE);
39368
39390
  // @ts-ignore
39369
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_SHOW);
39391
+ this.stopListening(this.core.mediaControl, Events$1.MEDIACONTROL_SHOW);
39370
39392
  }
39371
39393
  canShowShare() {
39372
39394
  this.hide = false;
@@ -39466,11 +39488,11 @@ class SkipTime extends UICorePlugin {
39466
39488
  };
39467
39489
  }
39468
39490
  bindEvents() {
39469
- this.listenTo(this.core, Events$2.CORE_READY, this.render);
39491
+ this.listenTo(this.core, Events$1.CORE_READY, this.render);
39470
39492
  if (!this.container) {
39471
39493
  return;
39472
39494
  }
39473
- this.listenTo(this.container, Events$2.CONTAINER_DBLCLICK, this.handleRewindClicks);
39495
+ this.listenTo(this.container, Events$1.CONTAINER_DBLCLICK, this.handleRewindClicks);
39474
39496
  }
39475
39497
  setBack() {
39476
39498
  this.position = 'left';
@@ -39507,7 +39529,7 @@ class SkipTime extends UICorePlugin {
39507
39529
  this.position = 'right';
39508
39530
  }
39509
39531
  toggleFullscreen() {
39510
- this.trigger(Events$2.MEDIACONTROL_FULLSCREEN, this.name);
39532
+ this.trigger(Events$1.MEDIACONTROL_FULLSCREEN, this.name);
39511
39533
  this.container.fullscreen();
39512
39534
  this.core.toggleFullscreen();
39513
39535
  }
@@ -39546,14 +39568,40 @@ const spinnerHTML = "<div data-bounce1></div>\n<div data-bounce2></div>\n<div da
39546
39568
  // Copyright 2014 Globo.com Player authors. All rights reserved.
39547
39569
  // Use of this source code is governed by a BSD-style
39548
39570
  // license that can be found in the LICENSE file.
39549
- const T$2 = 'plugins.spinner';
39571
+ const T$3 = 'plugins.spinner';
39572
+ /**
39573
+ * Custom events emitted by the plugin
39574
+ */
39575
+ var SpinnerEvents;
39576
+ (function (SpinnerEvents) {
39577
+ /**
39578
+ * Emitted at the end of the spinner animation cycle to facilitate smooth UI updates,
39579
+ * e.g. {@link SourceController} listens to this event to reload the source when the spinner is hidden
39580
+ */
39581
+ SpinnerEvents["SYNC"] = "plugins:spinner:sync";
39582
+ })(SpinnerEvents || (SpinnerEvents = {}));
39583
+ /**
39584
+ * Shows a pending operation indicator when playback is buffering or in other appropriate cases
39585
+ * @beta
39586
+ * @remarks
39587
+ * The plugin emits
39588
+ */
39550
39589
  class SpinnerThreeBounce extends UIContainerPlugin {
39590
+ /**
39591
+ * @internal
39592
+ */
39551
39593
  get name() {
39552
39594
  return 'spinner';
39553
39595
  }
39596
+ /**
39597
+ * @internal
39598
+ */
39554
39599
  get supportedVersion() {
39555
39600
  return { min: CLAPPR_VERSION };
39556
39601
  }
39602
+ /**
39603
+ * @internal
39604
+ */
39557
39605
  get attributes() {
39558
39606
  return {
39559
39607
  'data-spinner': '',
@@ -39566,13 +39614,13 @@ class SpinnerThreeBounce extends UIContainerPlugin {
39566
39614
  hasBuffering = false;
39567
39615
  constructor(container) {
39568
39616
  super(container);
39569
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERING, this.onBuffering);
39570
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
39571
- this.listenTo(this.container, Events$2.CONTAINER_PLAY, this.onPlay);
39572
- this.listenTo(this.container, Events$2.CONTAINER_STOP, this.onStop);
39573
- this.listenTo(this.container, Events$2.CONTAINER_ENDED, this.onStop);
39574
- this.listenTo(this.container, Events$2.CONTAINER_ERROR, this.onError);
39575
- this.listenTo(this.container, Events$2.CONTAINER_READY, this.render);
39617
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERING, this.onBuffering);
39618
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
39619
+ this.listenTo(this.container, Events$1.CONTAINER_PLAY, this.onPlay);
39620
+ this.listenTo(this.container, Events$1.CONTAINER_STOP, this.onStop);
39621
+ this.listenTo(this.container, Events$1.CONTAINER_ENDED, this.onStop);
39622
+ this.listenTo(this.container, Events$1.CONTAINER_ERROR, this.onError);
39623
+ this.listenTo(this.container, Events$1.CONTAINER_READY, this.render);
39576
39624
  }
39577
39625
  onBuffering() {
39578
39626
  this.hasBuffering = true;
@@ -39588,7 +39636,7 @@ class SpinnerThreeBounce extends UIContainerPlugin {
39588
39636
  this.hide();
39589
39637
  }
39590
39638
  onStop() {
39591
- trace(`${T$2} onStop`, {
39639
+ trace(`${T$3} onStop`, {
39592
39640
  showOnError: this.options.spinner?.showOnError,
39593
39641
  hasFatalError: this.hasFatalError,
39594
39642
  });
@@ -39598,7 +39646,7 @@ class SpinnerThreeBounce extends UIContainerPlugin {
39598
39646
  }
39599
39647
  onError(e) {
39600
39648
  this.hasFatalError = e.code === PlaybackErrorCode.MediaSourceUnavailable;
39601
- trace(`${T$2} onError`, {
39649
+ trace(`${T$3} onError`, {
39602
39650
  showOnError: this.options.spinner?.showOnError,
39603
39651
  hasFatalError: this.hasFatalError,
39604
39652
  error: e.code,
@@ -39610,18 +39658,15 @@ class SpinnerThreeBounce extends UIContainerPlugin {
39610
39658
  this.hide();
39611
39659
  }
39612
39660
  }
39613
- show(immediate = false) {
39614
- if (immediate) {
39615
- if (this.showTimeout !== null) {
39616
- clearTimeout(this.showTimeout);
39617
- this.showTimeout = null;
39618
- }
39619
- this.$el.show();
39620
- }
39621
- else if (this.showTimeout === null) {
39622
- this.showTimeout = setTimeout(() => this.$el.show(), 300);
39623
- }
39661
+ /**
39662
+ * Shows the spinner
39663
+ */
39664
+ show() {
39665
+ this.showTimeout = setTimeout(() => this.$el.show(), 300);
39624
39666
  }
39667
+ /**
39668
+ * Hides the spinner
39669
+ */
39625
39670
  hide() {
39626
39671
  if (this.showTimeout !== null) {
39627
39672
  clearTimeout(this.showTimeout);
@@ -39629,13 +39674,16 @@ class SpinnerThreeBounce extends UIContainerPlugin {
39629
39674
  }
39630
39675
  this.$el.hide();
39631
39676
  }
39677
+ /**
39678
+ * @internal
39679
+ */
39632
39680
  render() {
39633
39681
  const showOnStart = this.options.spinner?.showOnStart;
39634
- trace(`${T$2} render`, {
39682
+ trace(`${T$3} render`, {
39635
39683
  buffering: this.container.buffering});
39636
39684
  this.$el.html(this.template());
39637
39685
  this.el.firstElementChild?.addEventListener('animationiteration', () => {
39638
- this.trigger('spinner:sync');
39686
+ this.trigger(SpinnerEvents.SYNC);
39639
39687
  });
39640
39688
  this.container.$el.append(this.$el[0]);
39641
39689
  if (showOnStart || this.container.buffering) {
@@ -39683,12 +39731,12 @@ class Statistics extends ContainerPlugin {
39683
39731
  bindEvents() {
39684
39732
  // TODO remove this
39685
39733
  this.listenToOnce(this.container, CUSTOM_EVENTS_CONTAINER_START, this.onStart);
39686
- this.listenToOnce(this.container, Events$2.CONTAINER_READY, this.onReady);
39687
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERING, this.onBuffering);
39688
- this.listenTo(this.container, Events$2.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
39689
- this.listenTo(this.container.playback, Events$2.PLAYBACK_TIMEUPDATE, this.onTimeUpdateLive);
39690
- this.listenTo(this.container.playback, Events$2.PLAYBACK_LEVEL_SWITCH_START, this.startLevelSwitch);
39691
- this.listenTo(this.container.playback, Events$2.PLAYBACK_LEVEL_SWITCH_END, this.stopLevelSwitch);
39734
+ this.listenToOnce(this.container, Events$1.CONTAINER_READY, this.onReady);
39735
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERING, this.onBuffering);
39736
+ this.listenTo(this.container, Events$1.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
39737
+ this.listenTo(this.container.playback, Events$1.PLAYBACK_TIMEUPDATE, this.onTimeUpdateLive);
39738
+ this.listenTo(this.container.playback, Events$1.PLAYBACK_LEVEL_SWITCH_START, this.startLevelSwitch);
39739
+ this.listenTo(this.container.playback, Events$1.PLAYBACK_LEVEL_SWITCH_END, this.stopLevelSwitch);
39692
39740
  }
39693
39741
  startLevelSwitch() {
39694
39742
  this.bufTracking = false;
@@ -39781,87 +39829,102 @@ const comboboxHTML = "<button data-subtitles-button class='media-control-button
39781
39829
 
39782
39830
  const stringHTML = "<div class=\"subtitle-string\">\n <p></p>\n</div>\n";
39783
39831
 
39784
- const VERSION$1 = '0.0.1';
39785
- const LOCAL_STORAGE_SUBTITLES_ID = 'subtitles_select';
39832
+ const VERSION$1 = '2.19.14';
39833
+ const LOCAL_STORAGE_SUBTITLES_ID = 'gplayer.plugins.subtitles.selected';
39834
+ const T$2 = 'plugins.subtitles';
39786
39835
  const NO_TRACK = { language: 'off' };
39836
+ /**
39837
+ * A {@link MediaControl | media control} plugin that provides a UI to select the subtitles when available.
39838
+ * @beta
39839
+ *
39840
+ * @remarks
39841
+ * Depends on:
39842
+ *
39843
+ * - {@link MediaControl}
39844
+ *
39845
+ * Configuration options:
39846
+ *
39847
+ * - subtitles.language - The language of the subtitles to select by default.
39848
+ *
39849
+ * @example
39850
+ * ```ts
39851
+ * import { Subtitles } from '@gcorevideo/player'
39852
+ *
39853
+ * Player.registerPlugin(Subtitles)
39854
+ *
39855
+ * new Player({
39856
+ * ...
39857
+ * subtitles: {
39858
+ * language: 'en',
39859
+ * },
39860
+ * })
39861
+ * ```
39862
+ */
39787
39863
  class Subtitles extends UICorePlugin {
39788
- currentContainer;
39789
- currentLevel;
39790
- currentPlayback;
39864
+ currentLevel = null;
39865
+ isPreselectedApplied = false;
39791
39866
  isShowing = false;
39792
- tracks;
39793
- $string;
39867
+ track = { ...NO_TRACK };
39868
+ tracks = null;
39869
+ $string = null;
39870
+ /**
39871
+ * @internal
39872
+ */
39794
39873
  get name() {
39795
- return 'media_control_subtitles';
39874
+ return 'subtitles';
39796
39875
  }
39876
+ /**
39877
+ * @internal
39878
+ */
39797
39879
  get supportedVersion() {
39798
39880
  return { min: CLAPPR_VERSION };
39799
39881
  }
39882
+ /**
39883
+ * @internal
39884
+ */
39800
39885
  static get version() {
39801
39886
  return VERSION$1;
39802
39887
  }
39803
- get template() {
39804
- return tmpl(comboboxHTML);
39805
- }
39806
- get templateString() {
39807
- return tmpl(stringHTML);
39808
- }
39888
+ static template = tmpl(comboboxHTML);
39889
+ static templateString = tmpl(stringHTML);
39890
+ /**
39891
+ * @internal
39892
+ */
39809
39893
  get attributes() {
39810
39894
  return {
39811
39895
  class: this.name,
39812
39896
  'data-subtitles': '',
39813
39897
  };
39814
39898
  }
39899
+ /**
39900
+ * @internal
39901
+ */
39815
39902
  get events() {
39816
39903
  return {
39817
39904
  'click [data-subtitles-select]': 'onLevelSelect',
39818
39905
  'click [data-subtitles-button]': 'onShowLevelSelectMenu',
39819
39906
  };
39820
39907
  }
39821
- isPreselectedApplied = false;
39822
- track = { ...NO_TRACK };
39823
39908
  get preselectedLanguage() {
39824
39909
  return this.core.options.subtitles?.language ?? 'off';
39825
39910
  }
39911
+ /**
39912
+ * @internal
39913
+ */
39826
39914
  bindEvents() {
39827
- this.listenTo(this.core, Events$2.CORE_RESIZE, this.playerResize);
39828
- this.listenToOnce(this.core, Events$2.CORE_READY, this.bindPlaybackEvents);
39829
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this.reload);
39830
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this.render);
39831
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE, this.hideSelectLevelMenu);
39832
- }
39833
- unBindEvents() {
39834
- // @ts-ignore
39835
- this.stopListening(this.core, Events$2.CORE_READY);
39836
- // @ts-ignore
39837
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED);
39838
- // @ts-ignore
39839
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED);
39840
- // @ts-ignore
39841
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_HIDE);
39842
- // @ts-ignore
39843
- this.stopListening(this.core.mediaControl, Events$2.MEDIACONTROL_SHOW);
39844
- if (this.currentContainer) {
39845
- // @ts-ignore
39846
- this.stopListening(this.currentContainer, Events$2.CONTAINER_FULLSCREEN);
39847
- // @ts-ignore
39848
- this.stopListening(this.currentContainer, 'container:advertisement:start', this.onStartAd);
39849
- // @ts-ignore
39850
- this.stopListening(this.currentContainer, 'container:advertisement:finish', this.onFinishAd);
39851
- }
39915
+ const mediaControl = this.core.getPlugin('media_control');
39916
+ assert(mediaControl, 'media_control plugin is required');
39917
+ this.listenTo(this.core, Events$1.CORE_RESIZE, this.playerResize);
39918
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.bindPlaybackEvents);
39919
+ this.listenTo(mediaControl, Events$1.MEDIACONTROL_RENDERED, this.render);
39920
+ this.listenTo(mediaControl, Events$1.MEDIACONTROL_HIDE, this.hideSelectLevelMenu);
39852
39921
  }
39853
39922
  bindPlaybackEvents() {
39854
- if (this.currentPlayback &&
39855
- this.currentPlayback === this.core.activePlayback) {
39856
- return;
39857
- }
39858
- this.currentPlayback = this.core.activePlayback;
39859
- this.currentContainer = this.core.activeContainer;
39860
- this.listenTo(this.currentContainer, Events$2.CONTAINER_FULLSCREEN, this.playerResize);
39861
- this.listenToOnce(this.currentPlayback, Events$2.PLAYBACK_PLAY, this.getTracks);
39862
- this.listenTo(this.currentContainer, 'container:advertisement:start', this.onStartAd);
39923
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_FULLSCREEN, this.playerResize);
39924
+ this.listenToOnce(this.core.activePlayback, Events$1.PLAYBACK_PLAY, this.getTracks);
39925
+ this.listenTo(this.core.activeContainer, 'container:advertisement:start', this.onStartAd);
39863
39926
  // fix for iOS
39864
- const video = this.currentPlayback?.el;
39927
+ const video = this.core.activePlayback.el;
39865
39928
  assert(video, 'video element is required');
39866
39929
  video.addEventListener('webkitbeginfullscreen', () => {
39867
39930
  if (Browser.isiOS) {
@@ -39875,33 +39938,31 @@ class Subtitles extends UICorePlugin {
39875
39938
  });
39876
39939
  }
39877
39940
  getTracks() {
39878
- if (this.currentPlayback) {
39941
+ if (this.core.activePlayback) {
39879
39942
  try {
39880
- const tracks = this.currentPlayback.el.textTracks;
39881
- tracks.length > 0 && this.fillLevels(tracks);
39943
+ const tracks = this.core.activePlayback.el
39944
+ .textTracks;
39945
+ if (tracks.length > 0) {
39946
+ this.setTracks(tracks);
39947
+ }
39882
39948
  }
39883
39949
  catch (error) {
39884
39950
  }
39885
39951
  }
39886
39952
  }
39887
39953
  onStartAd() {
39888
- if (this.isShowing && this.currentContainer) {
39954
+ if (this.isShowing && this.core.activeContainer) {
39889
39955
  this.hide();
39890
- this.listenTo(this.currentContainer, 'container:advertisement:finish', this.onFinishAd);
39956
+ this.listenTo(this.core.activeContainer, 'container:advertisement:finish', this.onFinishAd);
39891
39957
  }
39892
39958
  }
39893
39959
  onFinishAd() {
39894
39960
  this.show();
39895
- this.stopListening(this.currentContainer, 'container:advertisement:finish', this.onFinishAd);
39896
- }
39897
- reload() {
39898
- this.unBindEvents();
39899
- this.bindEvents();
39900
- this.bindPlaybackEvents();
39961
+ this.stopListening(this.core.activeContainer, 'container:advertisement:finish', this.onFinishAd);
39901
39962
  }
39902
39963
  playerResize() {
39903
- const shouldShow = this.currentContainer &&
39904
- isFullscreen(this.currentContainer.el) &&
39964
+ const shouldShow = this.core.activeContainer &&
39965
+ isFullscreen(this.core.activeContainer.el) &&
39905
39966
  this.currentLevel &&
39906
39967
  this.currentLevel.mode &&
39907
39968
  Browser.isiOS &&
@@ -39915,6 +39976,9 @@ class Subtitles extends UICorePlugin {
39915
39976
  catch (error) {
39916
39977
  }
39917
39978
  }
39979
+ /**
39980
+ * Hides the subtitles menu and the subtitles.
39981
+ */
39918
39982
  hide() {
39919
39983
  this.isShowing = false;
39920
39984
  this.renderIcon();
@@ -39925,11 +39989,14 @@ class Subtitles extends UICorePlugin {
39925
39989
  }
39926
39990
  }
39927
39991
  }
39992
+ /**
39993
+ * Shows the subtitles menu and the subtitles.
39994
+ */
39928
39995
  show() {
39929
39996
  this.isShowing = true;
39930
39997
  this.renderIcon();
39931
- if (this.currentContainer &&
39932
- isFullscreen(this.currentContainer.el) &&
39998
+ if (this.core.activeContainer &&
39999
+ isFullscreen(this.core.activeContainer.el) &&
39933
40000
  this.currentLevel &&
39934
40001
  this.currentLevel.mode &&
39935
40002
  Browser.isiOS) {
@@ -39941,59 +40008,61 @@ class Subtitles extends UICorePlugin {
39941
40008
  }
39942
40009
  }
39943
40010
  shouldRender() {
39944
- if (!this.currentContainer) {
39945
- return false;
39946
- }
39947
- if (!this.currentPlayback) {
39948
- return false;
39949
- }
39950
- // Only care if we have at least 2 to choose from
39951
- const hasLevels = !!(this.tracks && this.tracks.length > 0);
39952
- return hasLevels;
40011
+ return !!(this.tracks && this.tracks.length > 0);
39953
40012
  }
39954
40013
  resizeFont() {
39955
- if (!this.currentContainer) {
40014
+ if (!this.core.activeContainer) {
39956
40015
  return;
39957
40016
  }
39958
40017
  if (!this.$string) {
39959
40018
  return;
39960
40019
  }
39961
- const skinWidth = this.currentContainer.$el.width();
40020
+ const skinWidth = this.core.activeContainer.$el.width();
39962
40021
  this.$string.find('p').css('font-size', skinWidth * 0.03);
39963
40022
  }
40023
+ /**
40024
+ * @internal
40025
+ */
39964
40026
  render() {
39965
- if (this.shouldRender()) {
39966
- this.$el.html(this.template({ tracks: this.tracks }));
39967
- this.currentContainer?.$el.find('.subtitle-string').remove();
39968
- this.$string = $(this.templateString());
39969
- this.resizeFont();
39970
- this.currentContainer?.$el.append(this.$string[0]);
39971
- if (this.core.mediaControl.$subtitlesSelector &&
39972
- this.core.mediaControl.$subtitlesSelector.length > 0) {
39973
- this.core.mediaControl.$subtitlesSelector.append(this.el);
39974
- }
39975
- else {
39976
- this.core.mediaControl.$('.media-control-right-panel').append(this.el);
39977
- }
39978
- this.updateCurrentLevel(this.track);
39979
- this.highlightCurrentSubtitles();
39980
- this.applyPreselectedSubtitles();
40027
+ if (!this.core.activeContainer) {
40028
+ return this;
39981
40029
  }
39982
- if (this.core.mediaControl.$subtitlesSelector?.find('span.subtitle-text')
39983
- .length > 0) {
39984
- this.renderIcon();
40030
+ if (!this.shouldRender()) {
40031
+ return this;
39985
40032
  }
40033
+ trace(`${T$2} render`, {
40034
+ tracks: this.tracks?.length,
40035
+ track: this.track?.language,
40036
+ });
40037
+ const mediaControl = this.core.getPlugin('media_control');
40038
+ assert(mediaControl, 'media_control plugin is required');
40039
+ this.$el.html(Subtitles.template({ tracks: this.tracks }));
40040
+ this.core.activeContainer.$el.find('.subtitle-string').remove();
40041
+ this.$string = $(Subtitles.templateString());
40042
+ this.resizeFont();
40043
+ this.core.activeContainer.$el.append(this.$string[0]);
40044
+ const ss = mediaControl.getElement('subtitlesSelector');
40045
+ if (ss && ss.length > 0) {
40046
+ ss.append(this.el);
40047
+ }
40048
+ else {
40049
+ mediaControl.getRightPanel().append(this.el);
40050
+ }
40051
+ this.updateCurrentLevel(this.track);
40052
+ this.highlightCurrentSubtitles();
40053
+ this.applyPreselectedSubtitles();
40054
+ this.renderIcon();
39986
40055
  return this;
39987
40056
  }
39988
- fillLevels(tracks) {
40057
+ setTracks(tracks) {
39989
40058
  this.tracks = tracks;
39990
40059
  this.render();
39991
40060
  }
39992
40061
  findLevelBy(id) {
39993
40062
  if (this.tracks) {
39994
- for (let i = 0; i < this.tracks.length; i++) {
39995
- if (this.tracks[i].language === id) {
39996
- return this.tracks[i]; // TODO TrackInfo?
40063
+ for (const track of this.tracks) {
40064
+ if (track.language === id) {
40065
+ return track; // TODO TrackInfo?
39997
40066
  }
39998
40067
  }
39999
40068
  }
@@ -40027,16 +40096,16 @@ class Subtitles extends UICorePlugin {
40027
40096
  this.toggleContextMenu();
40028
40097
  }
40029
40098
  hideSelectLevelMenu() {
40030
- this.$('.subtitles ul').hide();
40099
+ this.$('[data-subtitles] ul').hide();
40031
40100
  }
40032
40101
  toggleContextMenu() {
40033
- this.$('.subtitles ul').toggle();
40102
+ this.$('[data-subtitles] ul').toggle();
40034
40103
  }
40035
40104
  buttonElement() {
40036
- return this.$('.subtitles button');
40105
+ return this.$('[data-subtitles] button');
40037
40106
  }
40038
40107
  levelElement(id) {
40039
- return this.$('.subtitles ul a' + (id ? '[data-subtitles-select="' + id + '"]' : '')).parent();
40108
+ return this.$('[data-subtitles] ul a' + (id ? '[data-subtitles-select="' + id + '"]' : '')).parent();
40040
40109
  }
40041
40110
  startLevelSwitch() {
40042
40111
  this.buttonElement().addClass('changing');
@@ -40053,7 +40122,7 @@ class Subtitles extends UICorePlugin {
40053
40122
  const track = this.tracks[i];
40054
40123
  if (track.language === this.currentLevel.language) {
40055
40124
  track.mode = 'showing';
40056
- const currentTime = this.currentPlayback?.getCurrentTime() ?? 0;
40125
+ const currentTime = this.core.activePlayback?.getCurrentTime() ?? 0;
40057
40126
  const cues = track.cues;
40058
40127
  let subtitleText = '';
40059
40128
  if (cues && cues.length) {
@@ -40113,8 +40182,10 @@ class Subtitles extends UICorePlugin {
40113
40182
  }
40114
40183
  renderIcon() {
40115
40184
  const icon = this.isShowing ? subtitlesOnIcon : subtitlesOffIcon;
40116
- this.core.mediaControl.$subtitlesSelector
40117
- .find('span.subtitle-text')
40185
+ this.core
40186
+ .getPlugin('media_control')
40187
+ .getElement('subtitlesSelector')
40188
+ ?.find('span.subtitle-text')
40118
40189
  .html(icon);
40119
40190
  }
40120
40191
  }
@@ -40308,18 +40379,18 @@ class Thumbnails extends UICorePlugin {
40308
40379
  }
40309
40380
  // TODO check if seek enabled
40310
40381
  bindEvents() {
40311
- this.listenToOnce(this.core, Events$2.CORE_READY, this._onCoreReady);
40312
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_MOUSEMOVE_SEEKBAR, this._onMouseMove);
40313
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_MOUSELEAVE_SEEKBAR, this._onMouseLeave);
40314
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_RENDERED, this._init);
40315
- this.listenTo(this.core.mediaControl, Events$2.MEDIACONTROL_CONTAINERCHANGED, this._onMediaControlContainerChanged);
40382
+ this.listenToOnce(this.core, Events$1.CORE_READY, this._onCoreReady);
40383
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_MOUSEMOVE_SEEKBAR, this._onMouseMove);
40384
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_MOUSELEAVE_SEEKBAR, this._onMouseLeave);
40385
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_RENDERED, this._init);
40386
+ this.listenTo(this.core.mediaControl, Events$1.MEDIACONTROL_CONTAINERCHANGED, this._onMediaControlContainerChanged);
40316
40387
  }
40317
40388
  _bindContainerEvents() {
40318
40389
  if (this._oldContainer) {
40319
- this.stopListening(this._oldContainer, Events$2.CONTAINER_TIMEUPDATE, this._renderPlugin);
40390
+ this.stopListening(this._oldContainer, Events$1.CONTAINER_TIMEUPDATE, this._renderPlugin);
40320
40391
  }
40321
40392
  this._oldContainer = this.core.mediaControl.container;
40322
- this.listenTo(this.core.mediaControl.container, Events$2.CONTAINER_TIMEUPDATE, this._renderPlugin);
40393
+ this.listenTo(this.core.mediaControl.container, Events$1.CONTAINER_TIMEUPDATE, this._renderPlugin);
40323
40394
  }
40324
40395
  _onCoreReady() {
40325
40396
  try {
@@ -40710,9 +40781,15 @@ class SourceController extends CorePlugin {
40710
40781
  sourcesDelay = {};
40711
40782
  active = false;
40712
40783
  sync = noSync;
40784
+ /**
40785
+ * @internal
40786
+ */
40713
40787
  get name() {
40714
40788
  return 'source_controller';
40715
40789
  }
40790
+ /**
40791
+ * @internal
40792
+ */
40716
40793
  get supportedVersion() {
40717
40794
  return { min: CLAPPR_VERSION };
40718
40795
  }
@@ -40732,7 +40809,7 @@ class SourceController extends CorePlugin {
40732
40809
  */
40733
40810
  bindEvents() {
40734
40811
  super.bindEvents();
40735
- this.listenTo(this.core, Events$2.CORE_ACTIVE_CONTAINER_CHANGED, () => this.onReady());
40812
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, () => this.onReady());
40736
40813
  }
40737
40814
  onReady() {
40738
40815
  trace(`${T} onReady`, {
@@ -40742,7 +40819,7 @@ class SourceController extends CorePlugin {
40742
40819
  const spinner = this.core.activeContainer?.getPlugin('spinner');
40743
40820
  if (spinner) {
40744
40821
  this.sync = (cb) => {
40745
- spinner.once('spinner:sync', cb);
40822
+ spinner.once(SpinnerEvents.SYNC, cb);
40746
40823
  };
40747
40824
  }
40748
40825
  else {
@@ -40755,7 +40832,7 @@ class SourceController extends CorePlugin {
40755
40832
  }
40756
40833
  }
40757
40834
  bindContainerEventListeners() {
40758
- this.core.activePlayback.on(Events$2.PLAYBACK_ERROR, (error) => {
40835
+ this.core.activePlayback.on(Events$1.PLAYBACK_ERROR, (error) => {
40759
40836
  trace(`${T} on PLAYBACK_ERROR`, {
40760
40837
  error: {
40761
40838
  code: error?.code,
@@ -40772,7 +40849,7 @@ class SourceController extends CorePlugin {
40772
40849
  break;
40773
40850
  }
40774
40851
  });
40775
- this.core.activePlayback.on(Events$2.PLAYBACK_PLAY, () => {
40852
+ this.core.activePlayback.on(Events$1.PLAYBACK_PLAY, () => {
40776
40853
  trace(`${T} on PLAYBACK_PLAY`, {
40777
40854
  currentSource: this.sourcesList[this.currentSourceIndex],
40778
40855
  retrying: this.active,
@@ -40816,6 +40893,9 @@ class SourceController extends CorePlugin {
40816
40893
  setTimeout(() => resolve(s), delay);
40817
40894
  });
40818
40895
  }
40896
+ /**
40897
+ * @internal
40898
+ */
40819
40899
  static get version() {
40820
40900
  return VERSION;
40821
40901
  }
@@ -40837,7 +40917,7 @@ class VolumeFade extends UICorePlugin {
40837
40917
  return 'volume_fade';
40838
40918
  }
40839
40919
  bindEvents() {
40840
- this.listenTo(this.core, Events$2.CORE_READY, this.onCoreReady);
40920
+ this.listenTo(this.core, Events$1.CORE_READY, this.onCoreReady);
40841
40921
  if (this.core.mediaControl) {
40842
40922
  this.listenTo(this.core.mediaControl, 'mediacontrol:volume:user', this._onUserChangeVolume);
40843
40923
  }
@@ -40911,4 +40991,4 @@ class VolumeFade extends UICorePlugin {
40911
40991
  }
40912
40992
  }
40913
40993
 
40914
- export { AudioSelector, BigMuteButton, BottomGear, ClapprNerdStats, ClapprStats, ClickToPause, ClipsPlugin, ContextMenu, DisableControls, DvrControls, ErrorScreen, Events, Favicon, GoogleAnalytics, Kibo, LevelSelector, Logo, MediaControl, MultiCamera, PictureInPicture, PlaybackRate, Poster, SeekTime, Share, SkipTime, SourceController, SpinnerThreeBounce, Statistics, Subtitles, Thumbnails, VolumeFade, VolumeFadeEvents };
40994
+ export { AudioSelector, BigMuteButton, BottomGear, ClapprNerdStats, ClapprStats, ClickToPause, ClipsPlugin, ContextMenu, DisableControls, DvrControls, ErrorScreen, Favicon, GearEvents, GoogleAnalytics, Kibo, LevelSelector, Logo, MediaControl, MultiCamera, PictureInPicture, PlaybackRate, Poster, SeekTime, Share, SkipTime, SourceController, SpinnerEvents, SpinnerThreeBounce, Statistics, Subtitles, Thumbnails, VolumeFade, VolumeFadeEvents };