myetv-player 1.6.2 → 1.6.3

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.
@@ -1170,13 +1170,31 @@ markPlayerReady() {
1170
1170
  }
1171
1171
 
1172
1172
  if (this.options.autoplay) {
1173
- if (this.options.debug) console.log('🎬 Autoplay enabled');
1173
+ if (this.options.debug) console.log('Autoplay enabled');
1174
1174
  setTimeout(() => {
1175
- this.video.play().catch(error => {
1176
- if (this.options.debug) console.warn('⚠️ Autoplay blocked:', error);
1175
+ this.video.play()
1176
+ .then(() => {
1177
+
1178
+ if (this.options.debug) console.log('Autoplay started successfully');
1179
+ })
1180
+ .catch(error => {
1181
+
1182
+ if (this.options.debug) console.warn('Autoplay blocked', error);
1183
+
1184
+ if (this.options.autoHide && this.autoHideInitialized) {
1185
+
1186
+ this.showControlsNow();
1187
+
1188
+ this.resetAutoHideTimer();
1189
+
1190
+ if (this.options.debug) {
1191
+ console.log('Auto-hide timer started (autoplay blocked - video paused)');
1192
+ }
1193
+ }
1177
1194
  });
1178
1195
  }, 100);
1179
1196
  }
1197
+
1180
1198
  }, 200);
1181
1199
 
1182
1200
  }, 100);
@@ -1204,6 +1222,7 @@ createPlayerStructure() {
1204
1222
  if (this.options.showTitleOverlay) {
1205
1223
  this.createTitleOverlay();
1206
1224
  }
1225
+ this.createTopBar();
1207
1226
  }
1208
1227
 
1209
1228
  createInitialLoading() {
@@ -1261,17 +1280,25 @@ updateTooltips() {
1261
1280
  if (!this.controls) return;
1262
1281
 
1263
1282
  try {
1283
+
1264
1284
  this.controls.querySelectorAll('[data-tooltip]').forEach(element => {
1265
1285
  const key = element.getAttribute('data-tooltip');
1266
1286
  element.title = this.t(key);
1267
1287
  });
1268
1288
 
1289
+ if (this.topBar) {
1290
+ this.topBar.querySelectorAll('[data-tooltip]').forEach(element => {
1291
+ const key = element.getAttribute('data-tooltip');
1292
+ element.title = this.t(key);
1293
+ });
1294
+ }
1295
+
1269
1296
  const autoOption = this.controls.querySelector('.quality-option[data-quality="auto"]');
1270
1297
  if (autoOption) {
1271
1298
  autoOption.textContent = this.t('auto');
1272
1299
  }
1273
1300
  } catch (error) {
1274
- if (this.options.debug) console.warn('Errore aggiornamento tooltip:', error);
1301
+ if (this.options.debug) console.warn('Tooltip update error', error);
1275
1302
  }
1276
1303
  }
1277
1304
 
@@ -1418,6 +1445,9 @@ initializeElements() {
1418
1445
  this.qualityMenu = this.controls?.querySelector('.quality-menu');
1419
1446
  this.subtitlesMenu = this.controls?.querySelector('.subtitles-menu');
1420
1447
 
1448
+ this.settingsBtn = this.container?.querySelector('.settings-btn');
1449
+ this.settingsMenu = this.container?.querySelector('.settings-menu');
1450
+
1421
1451
  if (this.progressHandle && this.options.seekHandleShape) {
1422
1452
  this.setSeekHandleShape(this.options.seekHandleShape);
1423
1453
  }
@@ -1495,6 +1525,69 @@ setupMenuToggles() {
1495
1525
  }
1496
1526
  }
1497
1527
 
1528
+ createTopBar() {
1529
+ if (!this.container) return;
1530
+
1531
+ const topBar = document.createElement('div');
1532
+ topBar.className = 'player-top-bar';
1533
+ topBar.id = `topBar_${this.getUniqueId()}`;
1534
+
1535
+ if (this.options.showTitleOverlay && this.options.videoTitle) {
1536
+ const titleSection = document.createElement('div');
1537
+ titleSection.className = 'top-bar-title';
1538
+
1539
+ const titleElement = document.createElement('h3');
1540
+ titleElement.className = 'video-title';
1541
+ titleElement.textContent = this.decodeHTMLEntities(this.options.videoTitle);
1542
+ titleSection.appendChild(titleElement);
1543
+
1544
+ if (this.options.videoSubtitle) {
1545
+ const subtitleElement = document.createElement('span');
1546
+ subtitleElement.className = 'video-subtitle';
1547
+ subtitleElement.textContent = this.decodeHTMLEntities(this.options.videoSubtitle);
1548
+ titleSection.appendChild(subtitleElement);
1549
+ }
1550
+
1551
+ topBar.appendChild(titleSection);
1552
+ } else {
1553
+
1554
+ const spacer = document.createElement('div');
1555
+ spacer.className = 'top-bar-spacer';
1556
+ topBar.appendChild(spacer);
1557
+ }
1558
+
1559
+ const settingsControl = document.createElement('div');
1560
+ settingsControl.className = 'settings-control settings-top-bar';
1561
+
1562
+ const settingsBtn = document.createElement('button');
1563
+ settingsBtn.className = 'control-btn settings-btn';
1564
+ settingsBtn.setAttribute('data-tooltip', 'settings_menu'); // ✅ Correct: underscore
1565
+
1566
+ const icon = document.createElement('span');
1567
+ icon.className = 'icon';
1568
+ icon.innerHTML = `<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor">
1569
+ <path d="M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z"/>
1570
+ </svg>`;
1571
+ settingsBtn.appendChild(icon);
1572
+
1573
+ const settingsMenu = document.createElement('div');
1574
+ settingsMenu.className = 'settings-menu';
1575
+
1576
+ settingsControl.appendChild(settingsBtn);
1577
+ settingsControl.appendChild(settingsMenu);
1578
+ topBar.appendChild(settingsControl);
1579
+
1580
+ this.container.insertBefore(topBar, this.container.firstChild);
1581
+
1582
+ this.topBar = topBar;
1583
+ this.topBarTitle = topBar.querySelector('.video-title');
1584
+ this.topBarSubtitle = topBar.querySelector('.video-subtitle');
1585
+
1586
+ if (this.options.debug) {
1587
+ console.log('✅ Top bar created with integrated settings');
1588
+ }
1589
+ }
1590
+
1498
1591
  restartVideo() {
1499
1592
  if (!this.video) return this;
1500
1593
 
@@ -2606,12 +2699,30 @@ addEventListener(eventType, callback) {
2606
2699
  this.pauseIcon.classList.remove('hidden');
2607
2700
  }
2608
2701
 
2702
+ if (this.options.autoHide && this.autoHideInitialized) {
2703
+ if (this.options.debug) console.log('Video playing - reset auto-hide timer');
2704
+ this.showControlsNow();
2705
+ this.resetAutoHideTimer();
2706
+ }
2707
+
2609
2708
  this.triggerEvent('playing', {
2610
2709
  currentTime: this.getCurrentTime(),
2611
2710
  duration: this.getDuration()
2612
2711
  });
2613
2712
  });
2614
2713
 
2714
+ this.video.addEventListener('pause', () => {
2715
+ if (this.options.autoHide && this.autoHideInitialized) {
2716
+ if (this.options.debug) console.log('Video paused - show controls and cancel timer');
2717
+ this.showControlsNow();
2718
+
2719
+ if (this.autoHideTimer) {
2720
+ clearTimeout(this.autoHideTimer);
2721
+ this.autoHideTimer = null;
2722
+ }
2723
+ }
2724
+ });
2725
+
2615
2726
  this.video.addEventListener('waiting', () => {
2616
2727
  if (!this.isChangingQuality) {
2617
2728
  this.showLoading();
@@ -3061,31 +3172,33 @@ resetAutoHideTimer() {
3061
3172
  this.autoHideTimer = null;
3062
3173
  }
3063
3174
 
3064
- const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
3175
+ const isTouchDevice = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0);
3176
+
3065
3177
  if (this.mouseOverControls && !isTouchDevice) {
3066
- if (this.autoHideDebug) {
3067
- if (this.options.debug) console.log('Not starting timer - mouse on controls');
3068
- }
3178
+ if (this.autoHideDebug && this.options.debug) console.log('Not starting timer - mouse on controls');
3069
3179
  return;
3070
3180
  }
3071
3181
 
3072
3182
  if (this.video && this.video.paused) {
3073
- if (this.autoHideDebug) {
3074
- if (this.options.debug) console.log('Not starting timer - video paused');
3075
- }
3183
+
3184
+ const isInitialPause = this.video.currentTime === 0 && !this.video.ended;
3185
+
3186
+ if (!isInitialPause) {
3187
+ if (this.autoHideDebug && this.options.debug) console.log('Not starting timer - video paused by user');
3076
3188
  return;
3077
3189
  }
3078
3190
 
3079
- this.autoHideTimer = setTimeout(() => {
3080
- if (this.autoHideDebug) {
3081
- if (this.options.debug) console.log(`Timer expired after ${this.options.autoHideDelay}ms - nascondo controlli`);
3191
+ if (this.autoHideDebug && this.options.debug) {
3192
+ console.log('Video paused but at start - allowing timer (autoplay blocked scenario)');
3082
3193
  }
3194
+ }
3195
+
3196
+ this.autoHideTimer = setTimeout(() => {
3197
+ if (this.autoHideDebug && this.options.debug) console.log(`Timer expired after ${this.options.autoHideDelay}ms - hiding controls`);
3083
3198
  this.hideControlsNow();
3084
3199
  }, this.options.autoHideDelay);
3085
3200
 
3086
- if (this.autoHideDebug) {
3087
- if (this.options.debug) console.log(`Auto-hide timer started: ${this.options.autoHideDelay}ms`);
3088
- }
3201
+ if (this.autoHideDebug && this.options.debug) console.log(`Auto-hide timer started (${this.options.autoHideDelay}ms)`);
3089
3202
  }
3090
3203
 
3091
3204
  showControlsNow() {
@@ -3108,7 +3221,7 @@ showControlsNow() {
3108
3221
 
3109
3222
  this.showCursor();
3110
3223
 
3111
- if (this.autoHideDebug && this.options.debug) console.log('Controls shown');
3224
+ if (this.autoHideDebug && this.options.debug) console.log('Controls shown');
3112
3225
  }
3113
3226
  }
3114
3227
 
@@ -3144,7 +3257,7 @@ hideControlsNow() {
3144
3257
 
3145
3258
  this.hideCursor();
3146
3259
 
3147
- if (this.autoHideDebug && this.options.debug) console.log('Controls hidden');
3260
+ if (this.autoHideDebug && this.options.debug) console.log('Controls hidden');
3148
3261
  }
3149
3262
  }
3150
3263
 
@@ -3388,10 +3501,9 @@ createControls() {
3388
3501
  </div>
3389
3502
 
3390
3503
  <div class="time-display">
3391
- <span class="current-time">0:00</span>
3392
- <span>/</span>
3393
- <span class="duration">0:00</span>
3394
- </div>
3504
+ <span class="current-time">00:00</span>
3505
+ <span class="duration">00:00</span>
3506
+ </div>
3395
3507
  </div>
3396
3508
 
3397
3509
  <div class="controls-right">
@@ -3402,13 +3514,6 @@ createControls() {
3402
3514
  <span class="icon"><svg viewBox="0 0 16 16" width="16" height="16" fill="currentColor"><path d="M12.5 4v8l-7-4zm-8 0v8l7-4z"/></svg></span>
3403
3515
  </button>
3404
3516
 
3405
- <div class="settings-control">
3406
- <button class="control-btn settings-btn" data-tooltip="settings_menu">
3407
- <span class="icon"><svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z"/></svg></span>
3408
- </button>
3409
- <div class="settings-menu"></div>
3410
- </div>
3411
-
3412
3517
  ${(this.options.showQualitySelector && this.originalSources && this.originalSources.length > 1) || this.options.adaptiveQualityControl ? `
3413
3518
  <div class="quality-control">
3414
3519
  <button class="control-btn quality-btn" data-tooltip="video_quality">
@@ -3519,7 +3624,9 @@ checkScreenSize() {
3519
3624
  }
3520
3625
 
3521
3626
  updateSettingsMenuVisibility() {
3522
- const settingsControl = this.controls?.querySelector('.settings-control');
3627
+
3628
+ const settingsControl = this.container?.querySelector('.settings-control');
3629
+
3523
3630
  if (!settingsControl) return;
3524
3631
 
3525
3632
  settingsControl.style.display = 'block';
@@ -3528,23 +3635,28 @@ updateSettingsMenuVisibility() {
3528
3635
 
3529
3636
  const speedControl = this.controls.querySelector('.speed-control');
3530
3637
  const subtitlesControl = this.controls.querySelector('.subtitles-control');
3638
+
3531
3639
  if (speedControl) speedControl.style.display = 'none';
3532
3640
  if (subtitlesControl) subtitlesControl.style.display = 'none';
3533
3641
  }
3534
3642
 
3535
3643
  populateSettingsMenu() {
3536
- const settingsMenu = this.controls?.querySelector('.settings-menu');
3644
+
3645
+ const settingsMenu = this.container?.querySelector('.settings-menu');
3646
+
3537
3647
  if (!settingsMenu) return;
3538
3648
 
3539
3649
  let menuHTML = '';
3540
3650
 
3541
3651
  if (this.options.showSpeedControl) {
3542
- const speedLabel = this.t('playback_speed') || 'Playback Speed';
3652
+ const speedLabel = this.t('playback_speed');
3543
3653
  const currentSpeed = this.video ? this.video.playbackRate : 1;
3544
- menuHTML += `<div class="settings-expandable-wrapper">
3545
- <div class="settings-option expandable-trigger" data-action="speed-expand">
3654
+
3655
+ menuHTML += `
3656
+ <div class="settings-expandable-wrapper">
3657
+ <div class="settings-option expandable-trigger" data-action="speed_expand">
3546
3658
  <span class="settings-option-label">${speedLabel} <strong>${currentSpeed}x</strong></span>
3547
- <span class="expand-arrow">▶</span>
3659
+ <span class="expand-arrow">▼</span>
3548
3660
  </div>
3549
3661
  <div class="settings-expandable-content" style="display: none;">`;
3550
3662
 
@@ -3553,22 +3665,26 @@ populateSettingsMenu() {
3553
3665
  const isActive = Math.abs(speed - currentSpeed) < 0.01;
3554
3666
  menuHTML += `<div class="settings-suboption ${isActive ? 'active' : ''}" data-speed="${speed}">${speed}x</div>`;
3555
3667
  });
3668
+
3556
3669
  menuHTML += `</div></div>`;
3557
3670
  }
3558
3671
 
3559
3672
  if (this.options.showSubtitles && this.textTracks && this.textTracks.length > 0) {
3560
- const subtitlesLabel = this.t('subtitles') || 'Subtitles';
3673
+ const subtitlesLabel = this.t('subtitles');
3561
3674
  const currentTrack = this.currentSubtitleTrack;
3562
- const currentLabel = this.subtitlesEnabled ? (currentTrack ? currentTrack.label : 'Unknown') : (this.t('subtitlesoff') || 'Off');
3675
+ const currentLabel = this.subtitlesEnabled ?
3676
+ (currentTrack ? currentTrack.label : 'Unknown') :
3677
+ this.t('subtitles_off'); //
3563
3678
 
3564
- menuHTML += `<div class="settings-expandable-wrapper">
3565
- <div class="settings-option expandable-trigger" data-action="subtitles-expand">
3679
+ menuHTML += `
3680
+ <div class="settings-expandable-wrapper">
3681
+ <div class="settings-option expandable-trigger" data-action="subtitles_expand">
3566
3682
  <span class="settings-option-label">${subtitlesLabel} <strong>${currentLabel}</strong></span>
3567
- <span class="expand-arrow">▶</span>
3683
+ <span class="expand-arrow">▼</span>
3568
3684
  </div>
3569
3685
  <div class="settings-expandable-content" style="display: none;">`;
3570
3686
 
3571
- menuHTML += `<div class="settings-suboption ${!this.subtitlesEnabled ? 'active' : ''}" data-track="off">${this.t('subtitlesoff') || 'Off'}</div>`;
3687
+ menuHTML += `<div class="settings-suboption ${!this.subtitlesEnabled ? 'active' : ''}" data-track="off">${this.t('subtitles_off')}</div>`;
3572
3688
 
3573
3689
  this.textTracks.forEach((trackData, index) => {
3574
3690
  const isActive = this.currentSubtitleTrack === trackData.track;
@@ -3631,8 +3747,10 @@ addSettingsMenuScrollbar() {
3631
3747
  }
3632
3748
 
3633
3749
  bindSettingsMenuEvents() {
3634
- const settingsBtn = this.controls?.querySelector('.settings-btn');
3635
- const settingsMenu = this.controls?.querySelector('.settings-menu');
3750
+
3751
+ const settingsBtn = this.container?.querySelector('.settings-btn');
3752
+ const settingsMenu = this.container?.querySelector('.settings-menu');
3753
+
3636
3754
  if (!settingsMenu || !settingsBtn) return;
3637
3755
 
3638
3756
  settingsBtn.addEventListener('click', (e) => {
@@ -3640,27 +3758,30 @@ bindSettingsMenuEvents() {
3640
3758
  settingsMenu.classList.toggle('active');
3641
3759
 
3642
3760
  if (settingsMenu.classList.contains('active')) {
3643
- const settingsBtn = document.querySelector('.settings-btn');
3644
- const containerRect = settingsMenu.parentElement.parentElement.getBoundingClientRect();
3761
+ const containerRect = this.container.getBoundingClientRect();
3645
3762
  const btnRect = settingsBtn.getBoundingClientRect();
3646
- const spaceBelow = containerRect.bottom - btnRect.bottom;
3647
- const maxMenuHeight = Math.max(100, Math.min(250, spaceBelow - 20));
3763
+
3764
+ const spaceBelow = containerRect.bottom - btnRect.bottom - 30; // 30px margin
3765
+
3766
+ const maxMenuHeight = Math.max(300, Math.min(600, spaceBelow));
3648
3767
 
3649
3768
  settingsMenu.style.maxHeight = `${maxMenuHeight}px`;
3650
3769
  settingsMenu.style.overflowY = 'auto';
3651
3770
  settingsMenu.style.overflowX = 'hidden';
3652
- } else {
3653
- settingsMenu.style.maxHeight = 'none';
3654
- settingsMenu.style.overflowY = 'visible';
3771
+
3772
+ if (this.options.debug) {
3773
+ console.log(`Settings menu opened: height=${maxMenuHeight}px (available=${spaceBelow}px)`);
3655
3774
  }
3775
+ } else {
3656
3776
 
3777
+ settingsMenu.style.maxHeight = '600px'; // Default max height
3778
+ settingsMenu.style.overflowY = 'auto';
3779
+ }
3657
3780
  });
3658
3781
 
3659
3782
  document.addEventListener('click', (e) => {
3660
3783
  if (!settingsBtn?.contains(e.target) && !settingsMenu?.contains(e.target)) {
3661
3784
  settingsMenu?.classList.remove('active');
3662
- settingsMenu.style.maxHeight = 'none';
3663
- settingsMenu.style.overflowY = 'visible';
3664
3785
  }
3665
3786
  });
3666
3787
 
@@ -3700,7 +3821,7 @@ bindSettingsMenuEvents() {
3700
3821
  const trigger = wrapper.querySelector('.expandable-trigger');
3701
3822
  const action = trigger.getAttribute('data-action');
3702
3823
 
3703
- if (action === 'speed-expand') {
3824
+ if (action === 'speed_expand') {
3704
3825
  const speed = parseFloat(e.target.getAttribute('data-speed'));
3705
3826
  if (speed && speed > 0 && this.video && !this.isChangingQuality) {
3706
3827
  this.video.playbackRate = speed;
@@ -3711,12 +3832,12 @@ bindSettingsMenuEvents() {
3711
3832
  const label = trigger.querySelector('.settings-option-label');
3712
3833
  if (label) {
3713
3834
  const speedLabel = this.t('playback_speed') || 'Playback Speed';
3714
- label.textContent = `${speedLabel}: ${speed}x`;
3835
+ label.innerHTML = `${speedLabel} <strong>${speed}x</strong>`;
3715
3836
  }
3716
3837
 
3717
3838
  this.triggerEvent('speedchange', { speed, previousSpeed: this.video.playbackRate });
3718
3839
  }
3719
- } else if (action === 'subtitles-expand') {
3840
+ } else if (action === 'subtitles_expand') {
3720
3841
  const trackData = e.target.getAttribute('data-track');
3721
3842
  if (trackData === 'off') {
3722
3843
  this.disableSubtitles();
@@ -3731,7 +3852,7 @@ bindSettingsMenuEvents() {
3731
3852
  const label = trigger.querySelector('.settings-option-label');
3732
3853
  if (label) {
3733
3854
  const subtitlesLabel = this.t('subtitles') || 'Subtitles';
3734
- label.textContent = `${subtitlesLabel}: ${e.target.textContent}`;
3855
+ label.innerHTML = `${subtitlesLabel} <strong>${e.target.textContent}</strong>`;
3735
3856
  }
3736
3857
  }
3737
3858
  }
@@ -7549,8 +7670,7 @@ updateTimeDisplay() {
7549
7670
  }
7550
7671
  }
7551
7672
  const fallback = {
7552
- 'loading': 'Loading...',
7553
- 'encodinginprogress': 'Encoding in progress...'
7673
+ 'loading': 'Loading...'
7554
7674
  };
7555
7675
  return fallback[key] || key;
7556
7676
  };
@@ -7563,7 +7683,7 @@ updateTimeDisplay() {
7563
7683
  this.durationEl.classList.add('loading-state');
7564
7684
  } else if (isDurationInvalid) {
7565
7685
 
7566
- this.updateLoadingText(t('encodinginprogress'));
7686
+ this.updateLoadingText(t('loading'));
7567
7687
 
7568
7688
  this.durationEl.textContent = "--:--";
7569
7689
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myetv-player",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "description": "MYETV Video Player - Modular HTML5 video player with plugin support for YouTube, Vimeo, Twitch, Facebook, Cloudflare Stream and streaming protocols (HLS/DASH)",
5
5
  "main": "dist/myetv-player.js",
6
6
  "files": [
@@ -63,3 +63,4 @@
63
63
 
64
64
 
65
65
 
66
+